@layerzerolabs/protocol-stellar-v2 0.2.15 → 0.2.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +365 -297
- package/.turbo/turbo-lint.log +142 -110
- package/.turbo/turbo-test.log +1273 -1222
- package/Cargo.lock +20 -5
- package/Cargo.toml +4 -1
- package/contracts/ERROR_SPEC.md +44 -0
- package/contracts/common-macros/src/auth.rs +113 -0
- package/contracts/common-macros/src/contract_ttl.rs +84 -0
- package/contracts/common-macros/src/lib.rs +181 -30
- package/contracts/common-macros/src/lz_contract.rs +83 -0
- package/contracts/common-macros/src/tests/{ownable.rs → auth.rs} +48 -15
- package/contracts/common-macros/src/tests/contract_ttl.rs +662 -0
- package/contracts/common-macros/src/tests/mod.rs +2 -2
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_multisig_code.snap +20 -0
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_ownable_code.snap +24 -0
- package/contracts/common-macros/src/tests/snapshots/{common_macros__tests__ownable__snapshot_only_owner_preserves_function_signature.snap → common_macros__tests__auth__snapshot_only_auth_preserves_function_signature.snap} +4 -4
- package/contracts/common-macros/src/tests/snapshots/{common_macros__tests__contract_impl__snapshot_generated_contract_impl_code.snap → common_macros__tests__contract_ttl__snapshot_generated_contractimpl_code.snap} +3 -3
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__contract_ttl__snapshot_generated_contracttrait_code.snap +69 -0
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__ttl_configurable__snapshot_generated_ttl_configurable_code.snap +7 -21
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__upgradeable__snapshot_generated_upgradeable_code.snap +2 -2
- package/contracts/common-macros/src/ttl_configurable.rs +19 -34
- package/contracts/common-macros/src/ttl_extendable.rs +36 -0
- package/contracts/common-macros/src/upgradeable.rs +5 -5
- package/contracts/common-macros/src/utils.rs +9 -0
- package/contracts/endpoint-v2/src/constants.rs +4 -4
- package/contracts/endpoint-v2/src/endpoint_v2.rs +38 -40
- package/contracts/endpoint-v2/src/errors.rs +4 -3
- package/contracts/endpoint-v2/src/events.rs +1 -1
- package/contracts/endpoint-v2/src/message_lib_manager.rs +18 -5
- package/contracts/endpoint-v2/src/messaging_channel.rs +11 -1
- package/contracts/endpoint-v2/src/messaging_composer.rs +11 -1
- package/contracts/endpoint-v2/src/storage.rs +1 -1
- package/contracts/endpoint-v2/src/tests/endpoint_v2/pay_messaging_fees.rs +3 -3
- package/contracts/endpoint-v2/src/tests/endpoint_v2/quote.rs +1 -1
- package/contracts/endpoint-v2/src/tests/endpoint_v2/require_oapp_auth.rs +2 -2
- package/contracts/endpoint-v2/src/tests/endpoint_v2/send.rs +3 -3
- package/contracts/endpoint-v2/src/tests/endpoint_v2/set_zro.rs +4 -4
- package/contracts/endpoint-v2/src/tests/message_lib_manager/require_receive_lib_for_eid.rs +3 -3
- package/contracts/endpoint-v2/src/tests/message_lib_manager/require_registered.rs +1 -1
- package/contracts/endpoint-v2/src/tests/message_lib_manager/require_send_lib_for_eid.rs +3 -3
- package/contracts/endpoint-v2/src/tests/message_lib_manager/require_supported_eid.rs +1 -1
- package/contracts/endpoint-v2/src/tests/messaging_channel/clear_payload.rs +4 -4
- package/contracts/endpoint-v2/src/tests/messaging_channel/inbound.rs +1 -1
- package/contracts/layerzero-views/src/layerzero_view.rs +3 -6
- package/contracts/macro-integration-tests/tests/runtime/ownable/mod.rs +2 -2
- package/contracts/macro-integration-tests/tests/runtime/ownable/{only_owner_guard.rs → only_auth_guard.rs} +1 -1
- package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/configuration.rs +1 -1
- package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/freeze.rs +1 -1
- package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/mod.rs +0 -1
- package/contracts/macro-integration-tests/tests/ui/ownable/fail/{only_owner_missing_env.rs → only_auth_missing_env.rs} +3 -3
- package/contracts/macro-integration-tests/tests/ui/ownable/fail/{only_owner_missing_env.stderr → only_auth_missing_env.stderr} +4 -4
- package/contracts/macro-integration-tests/tests/ui/ownable/pass/namespacing_and_imports.rs +2 -3
- package/contracts/macro-integration-tests/tests/ui/ownable/pass/{only_owner_env_param_variants.rs → only_auth_env_param_variants.rs} +9 -9
- package/contracts/macro-integration-tests/tests/ui/ttl_configurable/pass/minimal_contract.rs +6 -6
- package/contracts/message-libs/message-lib-common/src/errors.rs +7 -2
- package/contracts/message-libs/message-lib-common/src/tests/packet_codec_v1/decode_packet_header.rs +3 -3
- package/contracts/message-libs/message-lib-common/src/tests/worker_options/append_lz_receive_option.rs +1 -2
- package/contracts/message-libs/message-lib-common/src/tests/worker_options/append_native_drop_option.rs +1 -2
- package/contracts/message-libs/message-lib-common/src/tests/worker_options/convert_legacy_options.rs +9 -9
- package/contracts/message-libs/message-lib-common/src/tests/worker_options/extract_type_3_options.rs +1 -1
- package/contracts/message-libs/message-lib-common/src/tests/worker_options/left_pad_to_bytes32.rs +1 -1
- package/contracts/message-libs/message-lib-common/src/tests/worker_options/split_worker_options.rs +2 -2
- package/contracts/message-libs/simple-message-lib/src/simple_message_lib.rs +7 -9
- package/contracts/message-libs/treasury/src/errors.rs +2 -2
- package/contracts/message-libs/treasury/src/events.rs +1 -1
- package/contracts/message-libs/treasury/src/interfaces/zro_fee_lib.rs +2 -2
- package/contracts/message-libs/treasury/src/storage.rs +1 -1
- package/contracts/message-libs/treasury/src/tests/treasury_tests.rs +1 -1
- package/contracts/message-libs/treasury/src/treasury.rs +14 -16
- package/contracts/message-libs/uln-302/src/receive_uln.rs +13 -2
- package/contracts/message-libs/uln-302/src/send_uln.rs +24 -4
- package/contracts/message-libs/uln-302/src/uln302.rs +6 -24
- package/contracts/oapps/counter/Cargo.toml +14 -1
- package/contracts/oapps/counter/integration_tests/mod.rs +4 -1
- package/contracts/oapps/counter/integration_tests/{setup.rs → setup_sml.rs} +48 -80
- package/contracts/oapps/counter/integration_tests/setup_uln.rs +997 -0
- package/contracts/oapps/counter/integration_tests/signing.rs +62 -0
- package/contracts/oapps/counter/integration_tests/test_with_sml.rs +24 -55
- package/contracts/oapps/counter/integration_tests/test_with_uln.rs +314 -0
- package/contracts/oapps/counter/integration_tests/utils.rs +196 -53
- package/contracts/oapps/counter/src/counter.rs +67 -43
- package/contracts/oapps/counter/src/tests/mod.rs +0 -13
- package/contracts/oapps/counter/src/tests/test_counter.rs +5 -7
- package/contracts/oapps/oapp/src/errors.rs +5 -1
- package/contracts/oapps/oapp/src/macro_tests/test_macros.rs +93 -78
- package/contracts/oapps/oapp/src/oapp_core.rs +36 -21
- package/contracts/oapps/oapp/src/oapp_options_type3.rs +48 -12
- package/contracts/oapps/oapp/src/oapp_receiver.rs +106 -41
- package/contracts/oapps/oapp/src/oapp_sender.rs +26 -34
- package/contracts/oapps/oapp/src/tests/test_oapp_core.rs +9 -8
- package/contracts/oapps/oapp/src/tests/test_oapp_options_type3.rs +25 -17
- package/contracts/oapps/oapp/src/tests/test_oapp_receiver.rs +7 -7
- package/contracts/oapps/oapp/src/tests/test_oapp_sender.rs +14 -15
- package/contracts/oapps/oapp-macros/src/generators.rs +128 -0
- package/contracts/oapps/oapp-macros/src/lib.rs +113 -56
- package/contracts/oapps/oft/Cargo.toml +10 -7
- package/contracts/oapps/{oft-std → oft}/integration-tests/extensions/test_oft_fee.rs +3 -4
- package/contracts/oapps/{oft-std → oft}/integration-tests/extensions/test_pausable.rs +2 -3
- package/contracts/oapps/{oft-std → oft}/integration-tests/extensions/test_rate_limiter.rs +1 -1
- package/contracts/oapps/oft/integration-tests/mod.rs +1 -1
- package/contracts/oapps/oft/integration-tests/setup.rs +29 -110
- package/contracts/oapps/oft/integration-tests/utils.rs +254 -21
- package/contracts/oapps/oft/src/extensions/oft_fee.rs +13 -14
- package/contracts/oapps/oft/src/extensions/pausable.rs +4 -4
- package/contracts/oapps/oft/src/extensions/rate_limiter.rs +5 -5
- package/contracts/oapps/oft/src/lib.rs +11 -13
- package/contracts/oapps/oft/src/oft.rs +147 -225
- package/contracts/oapps/oft/src/oft_types/lock_unlock.rs +9 -13
- package/contracts/oapps/oft/src/oft_types/mint_burn.rs +31 -14
- package/contracts/oapps/oft/src/oft_types/mod.rs +13 -0
- package/contracts/oapps/{oft-std → oft-core}/Cargo.toml +6 -4
- package/contracts/oapps/{oft-std → oft-core}/integration-tests/mod.rs +1 -1
- package/contracts/oapps/{oft-std → oft-core}/integration-tests/setup.rs +129 -30
- package/contracts/oapps/{oft → oft-core}/integration-tests/test_with_sml.rs +3 -3
- package/contracts/oapps/oft-core/integration-tests/utils.rs +201 -0
- package/contracts/oapps/oft-core/src/errors.rs +13 -0
- package/contracts/oapps/oft-core/src/lib.rs +18 -0
- package/contracts/oapps/oft-core/src/oft_core.rs +439 -0
- package/contracts/oapps/{oft → oft-core}/src/storage.rs +2 -0
- package/contracts/oapps/{oft → oft-core}/src/tests/mod.rs +0 -2
- package/contracts/oapps/{oft → oft-core}/src/tests/test_decimals.rs +2 -2
- package/contracts/oapps/{oft → oft-core}/src/tests/test_lz_receive.rs +7 -7
- package/contracts/oapps/{oft → oft-core}/src/tests/test_oft_msg_codec.rs +4 -5
- package/contracts/oapps/{oft → oft-core}/src/tests/test_resolve_address.rs +3 -3
- package/contracts/oapps/{oft → oft-core}/src/tests/test_utils.rs +78 -37
- package/contracts/oapps/oft-core/src/types.rs +58 -0
- package/contracts/oapps/{oft → oft-core}/src/utils.rs +1 -1
- package/contracts/upgrader/src/lib.rs +4 -4
- package/contracts/utils/src/auth.rs +44 -0
- package/contracts/utils/src/errors.rs +31 -5
- package/contracts/utils/src/lib.rs +3 -0
- package/contracts/utils/src/multisig.rs +211 -0
- package/contracts/utils/src/ownable.rs +137 -13
- package/contracts/utils/src/tests/buffer_reader.rs +6 -6
- package/contracts/utils/src/tests/buffer_writer.rs +6 -6
- package/contracts/utils/src/tests/bytes_ext.rs +2 -4
- package/contracts/utils/src/tests/mod.rs +1 -0
- package/contracts/utils/src/tests/multisig.rs +731 -0
- package/contracts/utils/src/tests/option_ext.rs +2 -5
- package/contracts/utils/src/tests/ownable.rs +456 -7
- package/contracts/utils/src/tests/ttl_configurable.rs +27 -16
- package/contracts/utils/src/tests/upgradeable.rs +4 -2
- package/contracts/utils/src/ttl_configurable.rs +23 -8
- package/contracts/utils/src/ttl_extendable.rs +27 -0
- package/contracts/utils/src/upgradeable.rs +2 -0
- package/contracts/workers/dvn/Cargo.toml +1 -1
- package/contracts/workers/dvn/src/auth.rs +7 -7
- package/contracts/workers/dvn/src/dvn.rs +10 -38
- package/contracts/workers/dvn/src/errors.rs +0 -7
- package/contracts/workers/dvn/src/events.rs +1 -14
- package/contracts/workers/dvn/src/interfaces/dvn.rs +2 -2
- package/contracts/workers/dvn/src/interfaces/mod.rs +0 -2
- package/contracts/workers/dvn/src/storage.rs +3 -13
- package/contracts/workers/dvn/src/tests/auth.rs +4 -4
- package/contracts/workers/dvn/src/tests/dvn.rs +1 -2
- package/contracts/workers/dvn/src/tests/multisig/set_signer.rs +7 -8
- package/contracts/workers/dvn/src/tests/multisig/set_threshold.rs +11 -8
- package/contracts/workers/dvn/src/tests/multisig/verify_signatures.rs +11 -12
- package/contracts/workers/dvn/src/tests/setup.rs +5 -5
- package/contracts/workers/dvn-fee-lib/Cargo.toml +1 -1
- package/contracts/workers/dvn-fee-lib/src/dvn_fee_lib.rs +3 -6
- package/contracts/workers/executor/src/auth.rs +80 -16
- package/contracts/workers/executor/src/executor.rs +5 -31
- package/contracts/workers/executor/src/storage.rs +2 -9
- package/contracts/workers/executor-fee-lib/Cargo.toml +1 -1
- package/contracts/workers/executor-fee-lib/src/executor_fee_lib.rs +3 -6
- package/contracts/workers/executor-helper/Cargo.toml +1 -1
- package/contracts/workers/executor-helper/src/executor_helper.rs +53 -73
- package/contracts/workers/price-feed/Cargo.toml +1 -1
- package/contracts/workers/price-feed/src/price_feed.rs +7 -10
- package/contracts/workers/worker/src/errors.rs +4 -0
- package/contracts/workers/worker/src/tests/worker.rs +7 -6
- package/contracts/workers/worker/src/worker.rs +20 -16
- package/package.json +7 -5
- package/sdk/.turbo/turbo-build.log +1 -0
- package/sdk/.turbo/turbo-test.log +1019 -0
- package/sdk/dist/generated/bml.d.ts +95 -8
- package/sdk/dist/generated/bml.js +95 -36
- package/sdk/dist/generated/counter.d.ts +289 -44
- package/sdk/dist/generated/counter.js +119 -49
- package/sdk/dist/generated/dvn.d.ts +312 -229
- package/sdk/dist/generated/dvn.js +144 -83
- package/sdk/dist/generated/dvn_fee_lib.d.ts +258 -63
- package/sdk/dist/generated/dvn_fee_lib.js +95 -26
- package/sdk/dist/generated/endpoint.d.ts +219 -24
- package/sdk/dist/generated/endpoint.js +108 -41
- package/sdk/dist/generated/executor.d.ts +239 -87
- package/sdk/dist/generated/executor.js +135 -63
- package/sdk/dist/generated/executor_fee_lib.d.ts +278 -74
- package/sdk/dist/generated/executor_fee_lib.js +135 -59
- package/sdk/dist/generated/executor_helper.d.ts +163 -21
- package/sdk/dist/generated/executor_helper.js +124 -52
- package/sdk/dist/generated/oft.d.ts +1842 -0
- package/sdk/dist/generated/oft.js +345 -0
- package/sdk/dist/generated/price_feed.d.ts +258 -63
- package/sdk/dist/generated/price_feed.js +95 -26
- package/sdk/dist/generated/sml.d.ts +235 -34
- package/sdk/dist/generated/sml.js +126 -53
- package/sdk/dist/generated/treasury.d.ts +1016 -0
- package/sdk/dist/generated/treasury.js +248 -0
- package/sdk/dist/generated/uln302.d.ts +235 -34
- package/sdk/dist/generated/uln302.js +126 -53
- package/sdk/dist/generated/upgrader.d.ts +17 -2
- package/sdk/dist/generated/upgrader.js +19 -1
- package/sdk/dist/index.d.ts +2 -1
- package/sdk/dist/index.js +2 -1
- package/sdk/package.json +6 -3
- package/sdk/src/index.ts +2 -1
- package/sdk/test/counter-sml.test.ts +376 -0
- package/sdk/test/counter-uln.test.ts +493 -0
- package/sdk/test/{oft.test.ts → oft-sml.test.ts} +196 -321
- package/sdk/test/suites/constants.ts +22 -2
- package/sdk/test/suites/globalSetup.ts +450 -0
- package/sdk/test/suites/localnet.ts +23 -6
- package/sdk/test/upgrader.test.ts +7 -16
- package/sdk/test/utils.ts +558 -85
- package/sdk/turbo.json +8 -0
- package/sdk/vitest.config.ts +21 -0
- package/tools/ts-bindings-gen/Cargo.toml +2 -0
- package/tools/ts-bindings-gen/src/main.rs +52 -4
- package/contracts/common-macros/src/contract_impl.rs +0 -52
- package/contracts/common-macros/src/ownable.rs +0 -41
- package/contracts/common-macros/src/tests/contract_impl.rs +0 -386
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__ownable__snapshot_generated_ownable_code.snap +0 -12
- package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/extend_instance_ttl.rs +0 -50
- package/contracts/oapps/oapp-macros/src/oapp_core.rs +0 -41
- package/contracts/oapps/oapp-macros/src/oapp_full.rs +0 -21
- package/contracts/oapps/oapp-macros/src/oapp_options_type3.rs +0 -31
- package/contracts/oapps/oapp-macros/src/oapp_receiver.rs +0 -48
- package/contracts/oapps/oapp-macros/src/oapp_sender.rs +0 -21
- package/contracts/oapps/oapp-macros/src/util.rs +0 -107
- package/contracts/oapps/oft/src/constants.rs +0 -5
- package/contracts/oapps/oft/src/default_oft_impl.rs +0 -152
- package/contracts/oapps/oft/src/errors.rs +0 -8
- package/contracts/oapps/oft/src/interfaces/mint_burn_token.rs +0 -23
- package/contracts/oapps/oft/src/interfaces/mod.rs +0 -3
- package/contracts/oapps/oft/src/tests/extensions/mod.rs +0 -11
- package/contracts/oapps/oft/src/tests/extensions/setup.rs +0 -903
- package/contracts/oapps/oft/src/tests/extensions/test_oft_fee.rs +0 -749
- package/contracts/oapps/oft/src/tests/extensions/test_pausable.rs +0 -432
- package/contracts/oapps/oft/src/tests/extensions/test_rate_limiter.rs +0 -1078
- package/contracts/oapps/oft/src/types.rs +0 -38
- package/contracts/oapps/oft-std/integration-tests/utils.rs +0 -427
- package/contracts/oapps/oft-std/src/lib.rs +0 -16
- package/contracts/oapps/oft-std/src/oft.rs +0 -156
- package/contracts/workers/dvn/src/interfaces/multisig.rs +0 -56
- package/contracts/workers/dvn/src/multisig.rs +0 -157
- package/sdk/dist/generated/oft_std.d.ts +0 -1544
- package/sdk/dist/generated/oft_std.js +0 -271
- package/sdk/test/index.test.ts +0 -375
- /package/contracts/oapps/{oft-std → oft}/integration-tests/extensions/mod.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/codec/mod.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/codec/oft_compose_msg_codec.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/codec/oft_msg_codec.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/events.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/tests/test_oft_compose_msg_codec.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/tests/test_oft_version.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/tests/test_quote_oft.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/tests/test_quote_send.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/tests/test_send.rs +0 -0
- /package/contracts/oapps/{oft → oft-core}/src/tests/test_token.rs +0 -0
- /package/sdk/test/suites/{testUpgradeable.ts → dummyContractClient.ts} +0 -0
|
@@ -5,6 +5,21 @@ export * from '@stellar/stellar-sdk';
|
|
|
5
5
|
export * as contract from '@stellar/stellar-sdk/contract';
|
|
6
6
|
export * as rpc from '@stellar/stellar-sdk/rpc';
|
|
7
7
|
export type MigrationData = void;
|
|
8
|
+
/**
|
|
9
|
+
* Embedded WASM bytecode (base64-encoded)
|
|
10
|
+
* Size: 29063 bytes (28.38 KB)
|
|
11
|
+
*/
|
|
12
|
+
export declare const WASM_BASE64 = "AGFzbQEAAAABjgEZYAJ+fgF+YAN+fn4BfmABfgF+YAABfmAEfn5+fgF+YAJ/fwBgAX8BfmACfn4Bf2ACf34AYAN/fn4AYAABf2ABfwBgAABgAn5/AGABfgBgBH9/f38BfmADf39/AGACfn4AYAJ/fwF+YAR+fn9/AX5gAn9/AX9gA35/fwBgAn9+AX9gAX8Bf2AFfn9/f38AAs0BIgFsATEAAAFsAV8AAQFhATAAAgF2AV8AAwF2ATYAAAFiATQAAwFiATgAAgFiAV8AAgFiAWYAAQFiAWUAAAFkAV8AAQFiATAAAgF4ATcAAwFsATIAAAF4ATEAAAF4ATAAAAFsATcABAFpAV8AAgFpATAAAgFiATEABAFiATMAAAFpATgAAgFpATcAAgFpATYAAAFiAWoAAAFiATIABAFtATkAAQFtAWEABAF2AWcAAAF4ATMAAwF4ATgAAwFsATAAAAFsATgAAAF4ATUAAgNnZgUGBwUICQAICgsFBgwDAwsNDAsOBgsBCQ8QCBERDg4BCAsLAQMDEhMUCBUIFgECAwADCAEODAAIAxIXBhIMAgICAgMDDAMDAwMDAAgKEBICBgMFBQMDAAMAAwIRAAwJAwMMGBAIEAUDAQARBiEEfwFBgIDAAAt/AEGEg8AAC38AQaaFwAALfwBBsIXAAAsHpwQjBm1lbW9yeQIABXF1b3RlAEEEc2VuZABFCmdldF9jb25maWcATxBpc19zdXBwb3J0ZWRfZWlkAFAQbWVzc2FnZV9saWJfdHlwZQBRCnNldF9jb25maWcAUgd2ZXJzaW9uAFMNX19jb25zdHJ1Y3RvcgBVD3ZhbGlkYXRlX3BhY2tldABYEXNldF9mZWVfcmVjaXBpZW50AGAOc2V0X25hdGl2ZV9mZWUAYQtzZXRfenJvX2ZlZQBiFnNldF93aGl0ZWxpc3RlZF9jYWxsZXIAYwhlbmRwb2ludABkCWxvY2FsX2VpZABlCm5hdGl2ZV9mZWUAZwd6cm9fZmVlAGgNZmVlX3JlY2lwaWVudABpEndoaXRlbGlzdGVkX2NhbGxlcgBqCmF1dGhvcml6ZXIAaw9zZXRfdHRsX2NvbmZpZ3MAbAt0dGxfY29uZmlncwBzEmZyZWV6ZV90dGxfY29uZmlncwB2FWlzX3R0bF9jb25maWdzX2Zyb3plbgB3E2V4dGVuZF9pbnN0YW5jZV90dGwAeAVvd25lcgB5DXBlbmRpbmdfb3duZXIAexJ0cmFuc2Zlcl9vd25lcnNoaXAAfBpwcm9wb3NlX293bmVyc2hpcF90cmFuc2ZlcgB+EGFjY2VwdF9vd25lcnNoaXAAgQEScmVub3VuY2Vfb3duZXJzaGlwAIIBAV8DAQpfX2RhdGFfZW5kAwILX19oZWFwX2Jhc2UDAwqaW2ZNAQJ+QgAhAgJAAkAgARCjgICAACIDQgIQpICAgABFDQAgA0ICEICAgIAAIgJC/wGDQs0AUg0BIAAgAjcDCEIBIQILIAAgAjcDAA8LAAvAAgIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAAkACQAJAAkACQAJAAkAgAEH/AXEOBgABAgMEBQALIAFBjoDAgABBCBC7gICAACABKAIADQYgASABKQMIELyAgIAADAULIAFBloDAgABBCBC7gICAACABKAIADQUgASABKQMIELyAgIAADAQLIAFBnoDAgABBCRC7gICAACABKAIADQQgASABKQMIELyAgIAADAMLIAFBp4DAgABBBhC7gICAACABKAIADQMgASABKQMIELyAgIAADAILIAFBrYDAgABBDBC7gICAACABKAIADQIgASABKQMIELyAgIAADAELIAFBuYDAgABBERC7gICAACABKAIADQEgASABKQMIELyAgIAACyABKQMIIQIgASkDAFANAQsACyABQRBqJICAgIAAIAILDwAgACABEJ+AgIAAQgFRC40BAgF/AX4jgICAgABBIGsiAiSAgICAAAJAAkACQCABEKOAgIAAIgNCAhCkgICAAA0AQgAhAwwBCyACIANCAhCAgICAABCmgICAACACKAIAQQFGDQEgAikDECEDIAAgAikDGDcDGCAAIAM3AxBCASEDCyAAIAM3AwAgAEIANwMIIAJBIGokgICAgAAPCwALfQIBfwF+AkACQAJAAkAgAadB/wFxIgJBxQBGDQAgAkELRw0CIAAgAUI/hzcDGCAAIAFCCIc3AxAMAQsgARCVgICAACEDIAEQloCAgAAhASAAIAM3AxggACABNwMQC0IAIQEMAQsgAEKDkICAgAE3AwhCASEBCyAAIAE3AwALHQAgABCjgICAACABIAIQqICAgABCAhCBgICAABoLQwEBfyOAgICAAEEQayICJICAgIAAIAIgACABELmAgIAAAkAgAigCAEEBRw0AAAsgAikDCCEBIAJBEGokgICAgAAgAQsVACAAEKOAgIAAIAFCAhCBgICAABoLiwECAn8BfiOAgICAAEEQayIAJICAgIAAIABBBGoQq4CAgAACQCAAKAIEQQFHDQAgACgCCCAAKAIMEKyAgIAAC0EAIQECQEEAEK2AgIAAIgJCAhCkgICAAEUNAEEBIQECQAJAIAJCAhCAgICAAKdB/wFxDgIBAgALAAtBACEBCyAAQRBqJICAgIAAIAELDAAgAEEBEPSAgIAACxsAIACtQiCGQgSEIAGtQiCGQgSEEKCAgIAAGgvCAQIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAAkACQAJAAkAgAEH/AXEOAwABAgALIAFBjoXAgABBBhC7gICAACABKAIADQMgASABKQMIELyAgIAADAILIAFBlIXAgABBCBC7gICAACABKAIADQIgASABKQMIELyAgIAADAELIAFBnIXAgABBChC7gICAACABKAIADQEgASABKQMIELyAgIAACyABKQMIIQIgASkDAFANAQsACyABQRBqJICAgIAAIAILDwAQr4CAgAAQgoCAgAAaC2YCAX8BfiOAgICAAEEQayIAJICAgIAAIAAQq4CAgAACQCAAKAIAQQFHDQAgACgCBCAAKAIIEKyAgIAACyAAELGAgIAAIAApAwghASAAKQMAQYoIELKAgIAAIABBEGokgICAgAAgAQtKAgF/AX4jgICAgABBEGsiACSAgICAACAAELGAgIAAIAApAwghASAAKQMAQYoIELKAgIAAIAEQgoCAgAAaIABBEGokgICAgAAgAQtQAQF/I4CAgIAAQRBrIgEkgICAgAAgAUEEahCrgICAAAJAIAEoAgRBAUcNACABKAIIIAEoAgwQrICAgAALIAAQt4CAgAAgAUEQaiSAgICAAAspAAJAIACnQQFxRQ0ADwsgAUH6d2qtQiCGQoOAgIDggAF8ELWAgIAAAAtCAQF/I4CAgIAAQRBrIgAkgICAgAAgABC0gICAAAJAIAApAwBQDQBCg4CAgLCBARC1gICAAAALIABBEGokgICAgAALkwECAX8CfiOAgICAAEEQayIBJICAgIAAIAFBBGoQq4CAgAACQCABKAIEQQFHDQAgASgCCCABKAIMEKyAgIAAC0IAIQICQAJAQQEQtoCAgAAiA0IAEKSAgIAARQ0AIANCABCAgICAACICQv8Bg0LNAFINASAAIAI3AwhCASECCyAAIAI3AwAgAUEQaiSAgICAAA8LAAsLACAAEKGAgIAAGguSAQIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAAkACQCAAQQFxRQ0AIAFBoYTAgABBDBC7gICAACABKAIADQIgASABKQMIELyAgIAADAELIAFBnITAgABBBRC7gICAACABKAIADQEgASABKQMIELyAgIAACyABKQMIIQIgASkDAFANAQsACyABQRBqJICAgIAAIAILTQECfkIAIQECQAJAQQAQtoCAgAAiAkICEKSAgIAARQ0AIAJCAhCAgICAACIBQv8Bg0LNAFINASAAIAE3AwhCASEBCyAAIAE3AwAPCwALaAEBfyOAgICAAEEgayIDJICAgIAAIANBEGogACABELmAgIAAAkAgAygCEEEBRw0AAAsgAykDGCEBIAMgAjcDCCADIAE3AwBBtILAgABBAiADQQIQuoCAgAAhASADQSBqJICAgIAAIAELWwACQAJAIAFCgICAgICAgMAAfEL//////////wBWDQAgASABhSACIAFCP4eFhEIAUg0AIAFCCIZCC4QhAQwBCyACIAEQl4CAgAAhAQsgAEIANwMAIAAgATcDCAsuAAJAIAEgA0YNAAALIACtQiCGQgSEIAKtQiCGQgSEIAGtQiCGQgSEEJqAgIAAC1ECAX8BfiOAgICAAEEQayIDJICAgIAAIAMgASACEIWBgIAAQgEhBAJAIAMoAgANACAAIAMpAwg3AwhCACEECyAAIAQ3AwAgA0EQaiSAgICAAAtEAQF/I4CAgIAAQRBrIgIkgICAgAAgAiABNwMIIAJBCGpBARDIgICAACEBIABCADcDACAAIAE3AwggAkEQaiSAgICAAAsOAEECIAAgARCngICAAAsOAEEDIAAgARCngICAAAsMAEEEIAAQqYCAgAALDABBBSAAEKmAgIAAC6YCAgJ/AX4jgICAgABB0ABrIgMkgICAgAAgAyAAEMKAgIAAAkAgAygCAEEBRg0AIAFC/wGDQsgAUg0AQQEgAqdB/wFxIgRBAEdBAXQgBEEBRhsiBEECRg0AIAMQq4CAgAACQCADKAIAQQFHDQAgAygCBCADKAIIEKyAgIAACyADEMOAgIAAIAMpAwghAiADKQMAIQVCACEAQgAhAQJAIARBAXFFDQAgAxDEgICAACADKQMIIQEgAykDACEACyADIAUgAhC5gICAACADKAIADQAgAykDCCECIAMgACABELmAgIAAIAMoAgBBAUYNACADIAMpAwg3A0ggAyACNwNAQayBwIAAQQIgA0HAAGpBAhC6gICAACEAIANB0ABqJICAgIAAIAAPCwAL7AICAn8GfiOAgICAAEHQAGsiAiSAgICAAEEAIQMCQANAIANBOEYNASACQQhqIANqQgI3AwAgA0EIaiEDDAALC0IBIQQCQCABQv8Bg0LMAFINACABQfSBwIAAQQcgAkEIakEHEISBgIAAIAIpAwgiAUL/AYNCBFINACACQcAAaiACKQMQENmAgIAAIAIoAkANACACKQMYIgVC/wGDQsgAUg0AIAIpA0ghBgJAAkAgAikDICIHp0H/AXEiA0HAAEYNACADQQZHDQIgB0IIiCEHDAELIAcQkoCAgAAhBwsgAkHAAGogAikDKBDZgICAACACKAJADQAgAikDMCIIQv8Bg0LNAFINACACKQM4IglC/wGDQgRSDQAgAikDSCEEIAAgAUIgiKc2AjQgACAFNwMoIAAgBjcDICAAIAQ3AxggACAINwMQIAAgBzcDCCAAIAlCIIg+AjBCACEECyAAIAQ3AwAgAkHQAGokgICAgAALfQIBfwF+I4CAgIAAQSBrIgEkgICAgAAgARCrgICAAAJAIAEoAgBBAUcNACABKAIEIAEoAggQrICAgAALIAFBAhClgICAAAJAIAEoAgBBAXENABDmgICAAAALIAEpAxghAiAAIAEpAxA3AwAgACACNwMIIAFBIGokgICAgAALfQIBfwF+I4CAgIAAQSBrIgEkgICAgAAgARCrgICAAAJAIAEoAgBBAUcNACABKAIEIAEoAggQrICAgAALIAFBAxClgICAAAJAIAEoAgBBAXENABDmgICAAAALIAEpAxghAiAAIAEpAxA3AwAgACACNwMIIAFBIGokgICAgAAL1gcEBX8EfgJ/AX4jgICAgABBwABrIgMkgICAgAAgAyAAEMKAgIAAAkAgAygCAEEBRg0AIAFC/wGDQsgAUg0AQQEgAqdB/wFxIgRBAEdBAXQgBEEBRhsiBUECRg0AIAMoAjQhBiADKAIwIQcgAykDKCEIIAMpAyAhCSADKQMYIQogAykDECELIAMpAwghASADEKuAgIAAAkAgAygCAEEBRw0AIAMoAgQgAygCCBCsgICAAAsgA0EgaiEMEMaAgIAAEIKAgIAAGhDHgICAACEAIAMQw4CAgAAgAyAANwMQIAMhBEICIQBBASENAkADQCANQQFxRQ0BQQAhDSAEKQMAIAQpAwggBEEQaikDABC4gICAACEAIAwhBAwACwsgAyAANwM4IANBOGpBARDIgICAACEOEIOAgIAAIQICQCAFQQFxRQ0AEMeAgIAAIQAgAxDEgICAACACIAMpAwAgAykDCCAAELiAgIAAEISAgIAAIQILEIWAgIAAIQAgA0EBOgAAIAAgABCGgICAAEKAgICAcINCBIQgA0EBEMmAgIAAIQAgAyABQjiGIAFCgP4Dg0IohoQgAUKAgPwHg0IYhiABQoCAgPgPg0IIhoSEIAFCCIhCgICA+A+DIAFCGIhCgID8B4OEIAFCKIhCgP4DgyABQjiIhISENwMAIAMgACAAEIaAgIAAQoCAgIBwg0IEhCADQQgQyYCAgAA3AzggA0E4aiAHEMqAgIAAIQ0gCxCHgICAACEAIAMgAEKEgICAwAAgABCGgICAAEKAgICAcINCBIQQiICAgAAiAEIEQoSAgIDAABCIgICAABDLgICAACADKAIAQQFGDQAgAykDCCEBIANBADYCACABIANBBBDMgICAAAJAIAMoAgAiBEH///8HcQ0AAkACQAJAIARBGHYOAgABAwsgAyAAQoSAgIDAAEKEgICAgAEQiICAgAAQy4CAgAAgAygCAEEBRg0DIAMpAwghASADQQA2AgAgASADQQQQzICAgAAgAygCAA0CIAMgAEKEgICAgAFChICAgIAFEIiAgIAAEM2AgIAAIAMoAgBBAUcNAQwDCyADIABChICAgMAAQoSAgIDABBCIgICAABDNgICAACADKAIAQQFGDQILIAMgDSADKQMIEM6AgIAAIAYQyoCAgAAgChDOgICAACkDADcDACADIAkQzoCAgAApAwAgCBCJgICAACEAIAMgAjcDECADIA43AwggAyAANwMAQeyCwIAAQQMgA0EDELqAgIAAIQAgA0HAAGokgICAgAAgAA8LQoOAgICg/gAQtYCAgAAACwALawIBfwF+I4CAgIAAQRBrIgAkgICAgAAgABCrgICAAAJAIAAoAgBBAUcNACAAKAIEIAAoAggQrICAgAALIABBABCigICAAAJAIAAoAgANABDmgICAAAALIAApAwghASAAQRBqJICAgIAAIAELawIBfwF+I4CAgIAAQRBrIgAkgICAgAAgABCrgICAAAJAIAAoAgBBAUcNACAAKAIEIAAoAggQrICAgAALIABBBBCigICAAAJAIAAoAgANABDmgICAAAALIAApAwghASAAQRBqJICAgIAAIAELGgAgAK1CIIZCBIQgAa1CIIZCBIQQnICAgAALHgAgACABIAKtQiCGQgSEIAOtQiCGQgSEEJmAgIAAC3cCAX8BfiOAgICAAEEQayICJICAgIAAIAIgAUEYdCABQYD+A3FBCHRyIAFBCHZBgP4DcSABQRh2cnI2AgwgACkDACEDIAAgAyADEIaAgIAAQoCAgIBwg0IEhCACQQxqQQQQyYCAgAA3AwAgAkEQaiSAgICAACAACzYBAX5CASECAkAgARCGgICAAEKAgICAcINCgICAgMAAUg0AIAAgATcDCEIAIQILIAAgAjcDAAsfACAAQgQgAa1CIIZCBIQgAq1CIIZCBIQQk4CAgAAaCzYBAX5CASECAkAgARCGgICAAEKAgICAcINCgICAgIAEUg0AIAAgATcDCEIAIQILIAAgAjcDAAvCAQEEfyOAgICAAEHAAGsiAiSAgICAACACQSBqQRhqIgNCADcDACACQSBqQRBqIgRCADcDACACQSBqQQhqIgVCADcDACACQgA3AyAgASACQSBqQSAQzICAgAAgAkEYaiADKQMANwMAIAJBEGogBCkDADcDACACQQhqIAUpAwA3AwAgAiACKQMgNwMAIAApAwAhASAAIAEgARCGgICAAEKAgICAcINCBIQgAkEgEMmAgIAANwMAIAJBwABqJICAgIAAIAALbwEBfyOAgICAAEEQayIDJICAgIAAAkAgAEL/AYNCBFINACABQv8Bg0LNAFINACACQv8Bg0IEUg0AIANBBGoQq4CAgAACQCADKAIEQQFHDQAgAygCCCADKAIMEKyAgIAAC0KDgICAEBC1gICAAAsAC1oBAX8jgICAgABBEGsiASSAgICAAAJAIABC/wGDQgRSDQAgAUEEahCrgICAAAJAIAEoAgRBAUcNACABKAIIIAEoAgwQrICAgAALIAFBEGokgICAgABCAQ8LAAuFAQIBfwF+I4CAgIAAQRBrIgAkgICAgAAgABCrgICAAAJAIAAoAgBBAUcNACAAKAIEIAAoAggQrICAgAALIABBgIDAgABBDhC7gICAAAJAAkAgACgCAA0AIAAgACkDCBC8gICAACAAKAIAQQFHDQELAAsgACkDCCEBIABBEGokgICAgAAgAQtlAQF/I4CAgIAAQRBrIgIkgICAgAACQCAAQv8Bg0LNAFINACABQv8Bg0LLAFINACACQQRqEKuAgIAAAkAgAigCBEEBRw0AIAIoAgggAigCDBCsgICAAAtCg4CAgBAQtYCAgAALAAueAQIBfwF+I4CAgIAAQTBrIgAkgICAgAAgAEEIahCrgICAAAJAIAAoAghBAUcNACAAKAIMIAAoAhAQrICAgAALIABBIGpCABDUgICAAAJAIAAoAiBBAUcNAAALIAApAyghASAAQgQ3AxggACABNwMQIABChICAgCA3AwhB3IHAgABBAyAAQQhqQQMQuoCAgAAhASAAQTBqJICAgIAAIAELOwACQAJAIAFC//////////8AVg0AIAFCCIZCBoQhAQwBCyABEJGAgIAAIQELIABCADcDACAAIAE3AwgLzQEBAX4CQAJAAkAgAEL/AYNCzQBSDQAgAUL/AYNCzQBSDQAgAkL/AYNCzQBSDQAgAUKO0q4VEIOAgIAAEIqAgIAAIgNC/wGDQgRSDQFBACABEKmAgIAAQQEQo4CAgAAgA0KEgICAcINCAhCBgICAABpC4wBCABC+gICAAELkAEIAEL2AgIAAIAIQv4CAgAAgABDAgICAAEEAELaAgIAAQgIQpICAgAANAiAAENaAgIAAQgIPCwALENeAgIAAAAtCg4CAgJCBARC1gICAAAALDgBBACAAQgIQgIGAgAALCQAQg4GAgAAAC/YGAgJ/BH4jgICAgABB0ABrIgIkgICAgAACQCAAQv8Bg0LIAFINACACQTBqIAEQ2YCAgAAgAigCMEEBRg0AIAIpAzghASACIAA3AwggAkEwahCrgICAAAJAIAIoAjBBAUcNACACKAI0IAIoAjgQrICAgAALENqAgIAAEIKAgIAAGgJAIAAQhoCAgABCgICAgHCDQoCAgICQClINACACQQA2AhQgAiACQQhqNgIQAkAgAkEQakEBENuAgIAAIgAQhoCAgABCgICAgHCDQoCAgIAQUg0AIAJBADoAMAJAIAAQhoCAgABCgICAgHCDQoCAgIAQUg0AIAAgAkEwakEBEMyAgIAAAkAgAi0AMEEBRw0AAkAgAkEQakEIENuAgIAAIgAQhoCAgABCgICAgHCDQoCAgICAAVINACACQgA3AzAgABCGgICAAEKAgICAcINCgICAgIABUg0CIAAgAkEwakEIEMyAgIAAIAIpAzAhACACQRBqENyAgIAAIQMgAkEQahDdgICAACEEIAJBEGoQ3ICAgAAaIAJBEGoQ3YCAgAAhBUGEg8CAAEEIEN6AgIAAIAUQiYCAgAAQi4CAgAAiBUL/AYNCzQBSDQUQxoCAgAAhBhCMgICAACEHIAJBEGogAEI4hiAAQoD+A4NCKIaEIABCgID8B4NCGIYgAEKAgID4D4NCCIaEhCAAQgiIQoCAgPgPgyAAQhiIQoCA/AeDhCAAQiiIQoD+A4MgAEI4iISEhBDUgICAACACKAIQQQFGDQUgAikDGCEAIAIgBDcDOCACIAA3AzAgAiADrUIghkIEhDcDQEGAgcCAAEEDIAJBMGpBAxC6gICAACEAIAIgATcDKCACIAU3AyAgAiAANwMYIAIgBzcDEEEAIQMCQANAAkAgA0EgRw0AQQAhAwJAA0AgA0EgRg0BIAJBMGogA2ogAkEQaiADaikDADcDACADQQhqIQMMAAsLIAZCjvyr963dAyACQTBqQQQQyICAgAAQioCAgABC/wGDQgJSDQIgAkHQAGokgICAgABCAg8LIAJBMGogA2pCAjcDACADQQhqIQMMAAsLENeAgIAAAAtCg4CAgICCARC1gICAAAALQoOAgIDQiQEQtYCAgAAACxDfgICAAAALQoOAgICAggEQtYCAgAAAC0KDgICAwIkBELWAgIAAAAsACyMAAkAgAUL/AYNCyABRDQAgAEIBNwMADwsgACABEM2AgIAAC2sCAX8BfiOAgICAAEEQayIAJICAgIAAIAAQq4CAgAACQCAAKAIAQQFHDQAgACgCBCAAKAIIEKyAgIAACyAAQQUQooCAgAACQCAAKAIADQAQ5oCAgAAACyAAKQMIIQEgAEEQaiSAgICAACABC3UCAn8BfgJAAkAgACgCBCICIAFqIgEgAkkNACABIAAoAgAiAykDABCGgICAAEIgiKdLDQEgAykDACACrUIghkIEhCABrUIghkIEhBCIgICAACEEIAAgATYCBCAEDwsQ14CAgAAAC0KDgICAgP0AELWAgIAAAAu5AQIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAIABBBBDbgICAACICEIaAgIAAQoCAgIBwg0KAgICAwABSDQAgAUEANgIMIAIQhoCAgABCgICAgHCDQoCAgIDAAFINASACIAFBDGpBBBDMgICAACABKAIMIQAgAUEQaiSAgICAACAAQRh0IABBgP4DcUEIdHIgAEEIdkGA/gNxIABBGHZycg8LQoOAgICAggEQtYCAgAAACxDfgICAAAALgQIDAX8BfgJ/I4CAgIAAQcAAayIBJICAgIAAAkACQCAAQSAQ24CAgAAiAhCGgICAAEKAgICAcINCgICAgIAEUg0AIAFBIGpBGGoiAEIANwMAIAFBIGpBEGoiA0IANwMAIAFBIGpBCGoiBEIANwMAIAFCADcDICACEIaAgIAAQoCAgIBwg0KAgICAgARSDQEgAiABQSBqQSAQzICAgAAgAUEYaiAAKQMANwMAIAFBEGogAykDADcDACABQQhqIAQpAwA3AwAgASABKQMgNwMAIAFBIBDegICAACECIAFBwABqJICAgIAAIAIPC0KDgICAgIIBELWAgIAAAAsQ34CAgAAACxoAIACtQiCGQgSEIAGtQiCGQgSEEJSAgIAACwkAENeAgIAAAAtpAQF/I4CAgIAAQRBrIgEkgICAgAACQCAAQv8Bg0LNAFINABCugICAACABQQRqEKuAgIAAAkAgASgCBEEBRw0AIAEoAgggASgCDBCsgICAAAsgABC/gICAACABQRBqJICAgIAAQgIPCwALgAECAX8BfiOAgICAAEEgayIBJICAgIAAIAEgABCmgICAAAJAIAEoAgBBAUYNACABKQMYIQAgASkDECECEK6AgIAAIAEQq4CAgAACQCABKAIAQQFHDQAgASgCBCABKAIIEKyAgIAACyACIAAQvYCAgAAgAUEgaiSAgICAAEICDwsAC4ABAgF/AX4jgICAgABBIGsiASSAgICAACABIAAQpoCAgAACQCABKAIAQQFGDQAgASkDGCEAIAEpAxAhAhCugICAACABEKuAgIAAAkAgASgCAEEBRw0AIAEoAgQgASgCCBCsgICAAAsgAiAAEL6AgIAAIAFBIGokgICAgABCAg8LAAtpAQF/I4CAgIAAQRBrIgEkgICAgAACQCAAQv8Bg0LNAFINABCugICAACABQQRqEKuAgIAAAkAgASgCBEEBRw0AIAEoAgggASgCDBCsgICAAAsgABDAgICAACABQRBqJICAgIAAQgIPCwALCAAQxoCAgAALiwECAX8BfiOAgICAAEEQayIAJICAgIAAIABBBGoQq4CAgAACQCAAKAIEQQFHDQAgACgCCCAAKAIMEKyAgIAACwJAAkBBARCjgICAACIBQgIQpICAgABFDQAgAUICEICAgIAAIgFC/wGDQgRRDQEACxDmgICAAAALIABBEGokgICAgAAgAUKEgICAcIMLCQAQ14CAgAAACz4CAX8BfiOAgICAAEEQayIAJICAgIAAIAAQw4CAgAAgACkDACAAKQMIEKiAgIAAIQEgAEEQaiSAgICAACABCz4CAX8BfiOAgICAAEEQayIAJICAgIAAIAAQxICAgAAgACkDACAAKQMIEKiAgIAAIQEgAEEQaiSAgICAACABCwgAEMeAgIAACwgAENqAgIAACwgAEK+AgIAAC+IEAQV/I4CAgIAAQdAAayICJICAgIAAIAJBKGogABDtgICAAAJAIAIoAihBAkYNACACQQhqQQhqIAJBKGpBCGoiAygCADYCACACIAIpAig3AwggAkEoaiABEO2AgIAAIAIoAihBAkYNACACQRhqQQhqIAMoAgA2AgAgAiACKQIoNwMYIAJBKGoQq4CAgAACQCACKAIoQQFHDQAgAigCLCACKAIwEKyAgIAACxCugICAAAJAAkACQBCqgICAAA0AEO6AgIAAIgNBgPuAAyADQYD7gANJGyEEIAIgAkEYajYCLCACIAJBCGo2AihBACEDA0AgA0EIRg0DAkAgAkEoaiADaigCACIFKAIAQQFxRQ0AIAUoAggiBiAESw0DIAUoAgQgBksNAwsgA0EEaiEDDAALC0KDgICA0P8AELWAgIAAAAtCg4CAgMD/ABC1gICAAAALAkACQCACKAIIQQFHDQBBASACKAIMIAIoAhAQ74CAgAAMAQtBARCtgICAAEICEI2AgIAAGgsCQAJAIAIoAhhBAUcNAEECIAIoAhwgAigCIBDvgICAAAwBC0ECEK2AgIAAQgIQjYCAgAAaCyACQShqQQhqIAJBCGpBCGooAgA2AgAgAkE8aiACQRhqQQhqKAIANgIAIAIgAikDCDcDKCACIAIpAxg3AjRByITAgABBDxDwgICAABDxgICAACEAIAJBKGoQ8oCAgAAhASACIAJBNGoQ8oCAgAA3A0ggAiABNwNAIABB7ITAgABBAiACQcAAakECELqAgIAAEI6AgIAAGiACQdAAaiSAgICAAEICDwsAC2gBAX8jgICAgABBEGsiAiSAgICAAAJAAkAgAUICUQ0AIAJBBGogARCGgYCAAAJAIAIoAgRFDQAgAEECNgIADAILIAAgAikCCDcCBCAAQQE2AgAMAQsgAEEANgIACyACQRBqJICAgIAACzMBAn4QnYCAgAAhAAJAEJ6AgIAAQiCIIgEgAEIgiCIAVA0AIAGnIACnaw8LENeAgIAAAAtWAgF/AX4jgICAgABBEGsiAySAgICAACAAEK2AgIAAIQQgAyABIAIQh4GAgAACQCADKAIAQQFHDQAACyAEIAMpAwhCAhCBgICAABogA0EQaiSAgICAAAtFAgF/AX4jgICAgABBEGsiAiSAgICAACACIAAgARCFgYCAAAJAIAIoAgBBAUcNAAALIAIpAwghAyACQRBqJICAgIAAIAMLYwMBfwF+AX8jgICAgABBEGsiASSAgICAACABIAA3AwBCAiECQQEhAwJAA0AgA0UNASADQX9qIQMgACECDAALCyABIAI3AwggAUEIakEBEMiAgIAAIQAgAUEQaiSAgICAACAAC0MCAX8BfiOAgICAAEEQayIBJICAgIAAIAEgABD1gICAAAJAIAEoAgBBAUcNAAALIAEpAwghAiABQRBqJICAgIAAIAILxAECAn8BfiOAgICAAEHAAGsiACSAgICAACAAQQhqEKuAgIAAAkAgACgCCEEBRw0AIAAoAgwgACgCEBCsgICAAAsgAEEIahCrgICAACAAQRRqIgFBAhD0gICAACAAQTBqIABBCGoQ9YCAgAACQAJAIAAoAjANACAAKQM4IQIgAEEwaiABEPWAgIAAIAAoAjBBAUcNAQsACyAAIAApAzg3AyggACACNwMgIABBIGpBAhDIgICAACECIABBwABqJICAgIAAIAILdwICfwF+I4CAgIAAQRBrIgIkgICAgABBACEDAkACQCABEK2AgIAAIgRCAhCkgICAAEUNACACQQRqIARCAhCAgICAABCGgYCAAEEBIQMgAigCBEEBRg0BIAAgAikCCDcCBAsgACADNgIAIAJBEGokgICAgAAPCwALMAACQCABKAIAQQFHDQAgACABKAIEIAEoAggQh4GAgAAPCyAAQgA3AwAgAEICNwMIC6oBAQF/I4CAgIAAQSBrIgAkgICAgAAgAEEMahCrgICAAAJAIAAoAgxBAUcNACAAKAIQIAAoAhQQrICAgAALEK6AgIAAAkAQqoCAgABFDQBCg4CAgOD/ABC1gICAAAALQQAQrYCAgABCAUICEIGAgIAAGkH8hMCAAEESEPCAgIAAEPGAgIAAQQRBACAAQRhqQQAQuoCAgAAQjoCAgAAaIABBIGokgICAgABCAgsJABCqgICAAK0LMQACQCAAQv8Bg0IEUg0AIAFC/wGDQgRSDQAgAEIgiKcgAUIgiKcQrICAgABCAg8LAAs+AgF/AX4jgICAgABBEGsiACSAgICAACAAELGAgIAAIAApAwAgACkDCBD6gICAACEBIABBEGokgICAgAAgAQsNACABQgIgAKdBAXEbCz4CAX8BfiOAgICAAEEQayIAJICAgIAAIAAQtICAgAAgACkDACAAKQMIEPqAgIAAIQEgAEEQaiSAgICAACABC30CAX8BfiOAgICAAEEQayIBJICAgIAAAkAgAEL/AYNCzQBSDQAgAUEEahCrgICAAAJAIAEoAgRBAUcNACABKAIIIAEoAgwQrICAgAALELCAgIAAIQIQs4CAgAAgABDWgICAACACIAAQ/YCAgAAgAUEQaiSAgICAAEICDwsAC2ECAX8BfiOAgICAAEEQayICJICAgIAAQZWDwIAAQRUQ8ICAgAAQ8YCAgAAhAyACIAA3AwggAiABNwMAIANBvIPAgABBAiACQQIQuoCAgAAQjoCAgAAaIAJBEGokgICAgAAL3QICAX8CfiOAgICAAEEgayICJICAgIAAAkACQAJAIABC/wGDQs0AUg0AIAFC/wGDQgRSDQAgAkEIahCrgICAAAJAIAIoAghBAUcNACACKAIMIAIoAhAQrICAgAALELCAgIAAIQMCQAJAIAFC/////w9WDQAgAkEIahC0gICAACACKQMQIQEgAikDCEGICBCygICAACABIAAQj4CAgABQRQ0DEP+AgIAADAELEO6AgIAAIAFCIIinSQ0DQQEgAEIAEICBgIAAQQEQtoCAgABCACABQoSAgIBwgyIBIAEQkICAgAAaQcyDwIAA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dGFuY2Ugc3RvcmFnZQotIGBwZXJzaXN0ZW50YCAtIFRUTCBjb25maWcgZm9yIHBlcnNpc3RlbnQgc3RvcmFnZQoKIyBQYW5pY3MKLSBgVHRsQ29uZmlnRnJvemVuYCBpZiBjb25maWdzIGFyZSBmcm96ZW4KLSBgSW52YWxpZFR0bENvbmZpZ2AgaWYgdmFsaWRhdGlvbiBmYWlscwAAAAAPc2V0X3R0bF9jb25maWdzAAAAAAIAAAAAAAAACGluc3RhbmNlAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAApwZXJzaXN0ZW50AAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAAAAAEhSZXR1cm5zIHRoZSBjdXJyZW50IFRUTCBjb25maWdzIGFzIChpbnN0YW5jZV9jb25maWcsIHBlcnNpc3RlbnRfY29uZmlnKS4AAAALdHRsX2NvbmZpZ3MAAAAAAAAAAAEAAAPtAAAAAgAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAADhUGVybWFuZW50bHkgZnJlZXplcyBUVEwgY29uZmlncywgcHJldmVudGluZyBhbnkgZnV0dXJlIG1vZGlmaWNhdGlvbnMuCgpUaGlzIGlzIGlycmV2ZXJzaWJsZSBhbmQgcHJvdmlkZXMgaW1tdXRhYmlsaXR5IGd1YXJhbnRlZXMgdG8gdXNlcnMuCkVtaXRzIGBUdGxDb25maWdzRnJvemVuYCBldmVudC4KCiMgUGFuaWNzCi0gYFR0bENvbmZpZ0FscmVhZHlGcm96ZW5gIGlmIGFscmVhZHkgZnJvemVuAAAAAAAAEmZyZWV6ZV90dGxfY29uZmlncwAAAAAAAAAAAAAAAAAAAAAAJ1JldHVybnMgd2hldGhlciBUVEwgY29uZmlncyBhcmUgZnJvemVuLgAAAAAVaXNfdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAAEAAAABAAAAAAAAAKVFeHRlbmRzIHRoZSBpbnN0YW5jZSBUVEwuCgojIEFyZ3VtZW50cwoKKiBgdGhyZXNob2xkYCAtIFRoZSB0aHJlc2hvbGQgdG8gZXh0ZW5kIHRoZSBUVEwgKGlmIGN1cnJlbnQgVFRMIGlzIGJlbG93IHRoaXMsIGV4dGVuZCkuCiogYGV4dGVuZF90b2AgLSBUaGUgVFRMIHRvIGV4dGVuZCB0by4AAAAAAAATZXh0ZW5kX2luc3RhbmNlX3R0bAAAAAACAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAlleHRlbmRfdG8AAAAAAAAEAAAAAAAAAAAAAAA+UmV0dXJucyB0aGUgY3VycmVudCBvd25lciBhZGRyZXNzLCBvciBOb25lIGlmIG5vIG93bmVyIGlzIHNldC4AAAAAAAVvd25lcgAAAAAAAAAAAAABAAAD6AAAABMAAAAAAAAAWVJldHVybnMgdGhlIHBlbmRpbmcgb3duZXIgYWRkcmVzcyBmb3IgMi1zdGVwIHRyYW5zZmVyLCBvciBOb25lIGlmIG5vIHRyYW5zZmVyIGlzIHBlbmRpbmcuAAAAAAAADXBlbmRpbmdfb3duZXIAAAAAAAAAAAAAAQAAA+gAAAATAAAAAAAAAStUcmFuc2ZlcnMgb3duZXJzaGlwIGltbWVkaWF0ZWx5IHRvIGEgbmV3IGFkZHJlc3MuCgpVc2Ugd2l0aCBjYXV0aW9uIC0gaWYgeW91IHRyYW5zZmVyIHRvIGEgd3JvbmcgYWRkcmVzcywgb3duZXJzaGlwIGlzIGxvc3QgZm9yZXZlci4KQ29uc2lkZXIgdXNpbmcgYHByb3Bvc2Vfb3duZXJzaGlwX3RyYW5zZmVyYCBpbnN0ZWFkLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgVHJhbnNmZXJJblByb2dyZXNzYCBpZiBhIDItc3RlcCB0cmFuc2ZlciBpcyBpbiBwcm9ncmVzcwAAAAASdHJhbnNmZXJfb3duZXJzaGlwAAAAAAABAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAAAAAJcUHJvcG9zZXMgYW4gb3duZXJzaGlwIHRyYW5zZmVyIHRvIGEgbmV3IGFkZHJlc3MuCgpUaGUgbmV3IG93bmVyIG11c3QgY2FsbCBgYWNjZXB0X293bmVyc2hpcCgpYCB3aXRoaW4gYHR0bGAgbGVkZ2Vycwp0byBjb21wbGV0ZSB0aGUgdHJhbnNmZXIuIFRoZSBwZW5kaW5nIHRyYW5zZmVyIHdpbGwgYXV0b21hdGljYWxseSBleHBpcmUgYWZ0ZXIuCgojIEFyZ3VtZW50cwotIGBuZXdfb3duZXJgIC0gVGhlIHByb3Bvc2VkIG5ldyBvd25lcgotIGB0dGxgIC0gTnVtYmVyIG9mIGxlZGdlcnMgdGhlIG5ldyBvd25lciBoYXMgdG8gYWNjZXB0LgpVc2UgYDBgIHRvIGNhbmNlbCBhIHBlbmRpbmcgdHJhbnNmZXIgKG5ld19vd25lciBtdXN0IG1hdGNoIHBlbmRpbmcpLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgTm9QZW5kaW5nVHJhbnNmZXJgIHdoZW4gY2FuY2VsbGluZyBhbmQgbm8gcGVuZGluZyB0cmFuc2ZlciBleGlzdHMKLSBgSW52YWxpZFR0bGAgaWYgdHRsIGV4Y2VlZHMgbWF4IFRUTAotIGBJbnZhbGlkUGVuZGluZ093bmVyYCB3aGVuIGNhbmNlbGxpbmcgd2l0aCB3cm9uZyBuZXdfb3duZXIgYWRkcmVzcwAAABpwcm9wb3NlX293bmVyc2hpcF90cmFuc2ZlcgAAAAAAAgAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAADdHRsAAAAAAQAAAAAAAAAAAAAALlBY2NlcHRzIGEgcGVuZGluZyAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyLgoKTXVzdCBiZSBjYWxsZWQgYnkgdGhlIHBlbmRpbmcgb3duZXIgYmVmb3JlIHRoZSBUVEwgZXhwaXJlcy4KCiMgUGFuaWNzCi0gYE5vUGVuZGluZ1RyYW5zZmVyYCBpZiB0aGVyZSBpcyBubyBwZW5kaW5nIHRyYW5zZmVyIChvciBpdCBleHBpcmVkKQAAAAAAABBhY2NlcHRfb3duZXJzaGlwAAAAAAAAAAAAAAAAAAAApFBlcm1hbmVudGx5IHJlbm91bmNlcyBvd25lcnNoaXAuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBUcmFuc2ZlckluUHJvZ3Jlc3NgIGlmIGEgMi1zdGVwIHRyYW5zZmVyIGlzIGluIHByb2dyZXNzIChjYW5jZWwgaXQgZmlyc3QpAAAAEnJlbm91bmNlX293bmVyc2hpcAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAANRW5kcG9pbnRFcnJvcgAAAAAAABkAAAAAAAAAEUFscmVhZHlSZWdpc3RlcmVkAAAAAAAAAQAAAAAAAAANQ29tcG9zZUV4aXN0cwAAAAAAAAIAAAAAAAAAD0NvbXBvc2VOb3RGb3VuZAAAAAADAAAAAAAAABxEZWZhdWx0UmVjZWl2ZUxpYlVuYXZhaWxhYmxlAAAABAAAAAAAAAAZRGVmYXVsdFNlbmRMaWJVbmF2YWlsYWJsZQAAAAAAAAUAAAAAAAAAFUluc3VmZmljaWVudE5hdGl2ZUZlZQAAAAAAAAYAAAAAAAAAEkluc3VmZmljaWVudFpyb0ZlZQAAAAAABwAAAAAAAAAQSW52YWxpZEZlZUFtb3VudAAAAAgAAAAAAAAADUludmFsaWRFeHBpcnkAAAAAAAAJAAAAAAAAAAxJbnZhbGlkSW5kZXgAAAAKAAAAAAAAAAxJbnZhbGlkTm9uY2UAAAALAAAAAAAAABJJbnZhbGlkUGF5bG9hZEhhc2gAAAAAAAwAAAAAAAAAFUludmFsaWRSZWNlaXZlTGlicmFyeQAAAAAAAA0AAAAAAAAAEU9ubHlOb25EZWZhdWx0TGliAAAAAAAADgAAAAAAAAAOT25seVJlY2VpdmVMaWIAAAAAAA8AAAAAAAAAEU9ubHlSZWdpc3RlcmVkTGliAAAAAAAAEAAAAAAAAAALT25seVNlbmRMaWIAAAAAEQAAAAAAAAAUUGF0aE5vdEluaXRpYWxpemFibGUAAAASAAAAAAAAABFQYXRoTm90VmVyaWZpYWJsZQAAAAAAABMAAAAAAAAAE1BheWxvYWRIYXNoTm90Rm91bmQAAAAAFAAAAAAAAAAJU2FtZVZhbHVlAAAAAAAAFQAAAAAAAAAMVW5hdXRob3JpemVkAAAAFgAAAAAAAAAOVW5zdXBwb3J0ZWRFaWQAAAAAABcAAAAAAAAAClplcm9acm9GZWUAAAAAABgAAAAAAAAADlpyb1VuYXZhaWxhYmxlAAAAAAAZAAAABQAAAAAAAAAAAAAAClBhY2tldFNlbnQAAAAAAAEAAAALcGFja2V0X3NlbnQAAAAAAwAA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AAAAAAAGc2VuZGVyAAAAAAPuAAAAIAAAACZTb3VyY2UgZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpLgAAAAAAB3NyY19laWQAAAAABAAAAAEAAAAoRmVlIHN0cnVjdHVyZSBmb3IgY3Jvc3MtY2hhaW4gbWVzc2FnaW5nLgAAAAAAAAAMTWVzc2FnaW5nRmVlAAAAAgAAAB9GZWUgcGFpZCBpbiBuYXRpdmUgdG9rZW4gKFhMTSkuAAAAAApuYXRpdmVfZmVlAAAAAAALAAAAKEZlZSBwYWlkIGluIFpSTyB0b2tlbiAoTGF5ZXJaZXJvIHRva2VuKS4AAAAHenJvX2ZlZQAAAAALAAAAAQAAAEJSZWNlaXB0IHJldHVybmVkIGFmdGVyIHN1Y2Nlc3NmdWxseSBzZW5kaW5nIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZS4AAAAAAAAAAAAQTWVzc2FnaW5nUmVjZWlwdAAAAAMAAAApVGhlIGZlZXMgY2hhcmdlZCBmb3Igc2VuZGluZyB0aGUgbWVzc2FnZS4AAAAAAAADZmVlAAAAB9AAAAAMTWVzc2FnaW5nRmVlAAAAK0dsb2JhbGx5IHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgbWVzc2FnZS4AAAAABGd1aWQAAAPuAAAAIAAAACRUaGUgb3V0Ym91bmQgbm9uY2UgZm9yIHRoaXMgcGF0aHdheS4AAAAFbm9uY2UAAAAAAAAGAAAAAgAAADhUeXBlIG9mIG1lc3NhZ2UgbGlicmFyeSBpbmRpY2F0aW5nIHN1cHBvcnRlZCBvcGVyYXRpb25zLgAAAAAAAAAOTWVzc2FnZUxpYlR5cGUAAAAAAAMAAAAAAAAAH1N1cHBvcnRzIG9ubHkgc2VuZGluZyBtZXNzYWdlcy4AAAAABFNlbmQAAAAAAAAAIVN1cHBvcnRzIG9ubHkgcmVjZWl2aW5nIG1lc3NhZ2VzLgAAAAAAAAdSZWNlaXZlAAAAAAAAAAAtU3VwcG9ydHMgYm90aCBzZW5kaW5nIGFuZCByZWNlaXZpbmcgbWVzc2FnZXMuAAAAAAAADlNlbmRBbmRSZWNlaXZlAAAAAAABAAAAt1ZlcnNpb24gaW5mb3JtYXRpb24gZm9yIGEgbWVzc2FnZSBsaWJyYXJ5LgoKTm90ZTogYG1pbm9yYCBhbmQgYGVuZHBvaW50X3ZlcnNpb25gIHVzZSBgdTMyYCBpbnN0ZWFkIG9mIGB1OGAgYmVjYXVzZSBTdGVsbGFyIGRvZXMgbm90CnN1cHBvcnQgYHU4YCB0eXBlcyBpbiBjb250cmFjdCBpbnRlcmZhY2UgZnVuY3Rpb25zLgAAAAAAAAAAEU1lc3NhZ2VMaWJWZXJzaW9uAAAAAAAAAwAAADNFbmRwb2ludCB2ZXJzaW9uIChzaG91bGQgbm90IGV4Y2VlZCB1ODo6TUFYID0gMjU1KS4AAAAAEGVuZHBvaW50X3ZlcnNpb24AAAAEAAAAFU1ham9yIHZlcnNpb24gbnVtYmVyLgAAAAAAAAVtYWpvcgAAAAAAAAYAAAA3TWlub3IgdmVyc2lvbiBudW1iZXIgKHNob3VsZCBub3QgZXhjZWVkIHU4OjpNQVggPSAyNTUpLgAAAAAFbWlub3IAAAAAAAAEAAAAAQAAADZUaW1lb3V0IGNvbmZpZ3VyYXRpb24gZm9yIHJlY2VpdmUgbGlicmFyeSB0cmFuc2l0aW9ucy4AAAAAAAAAAAAHVGltZW91dAAAAAACAAAAKFVuaXggdGltZXN0YW1wIHdoZW4gdGhlIHRpbWVvdXQgZXhwaXJlcy4AAAAGZXhwaXJ5AAAAAAAGAAAAKVRoZSBuZXcgbGlicmFyeSBhZGRyZXNzIHRvIHRyYW5zaXRpb24gdG8uAAAAAAAAA2xpYgAAAAATAAAAAQAAADVQYXJhbWV0ZXJzIGZvciBzZXR0aW5nIG1lc3NhZ2UgbGlicmFyeSBjb25maWd1cmF0aW9uLgAAAAAAAAAAAAAOU2V0Q29uZmlnUGFyYW0AAAAAAAMAAAAfWERSLWVuY29kZWQgY29uZmlndXJhdGlvbiBkYXRhLgAAAAAGY29uZmlnAAAAAAAOAAAAMFRoZSB0eXBlIG9mIGNvbmZpZ3VyYXRpb24gKGUuZy4sIGV4ZWN1dG9yLCBVTE4pLgAAAAtjb25maWdfdHlwZQAAAAAEAAAAJ1RoZSBlbmRwb2ludCBJRCB0aGlzIGNvbmZpZyBhcHBsaWVzIHRvLgAAAAADZWlkAAAAAAQAAAABAAAAMVJlc29sdmVkIGxpYnJhcnkgaW5mb3JtYXRpb24gd2l0aCBkZWZhdWx0IHN0YXR1cy4AAAAAAAAAAAAAD1Jlc29sdmVkTGlicmFyeQAAAAACAAAARFdoZXRoZXIgdGhpcyBpcyB0aGUgZGVmYXVsdCBsaWJyYXJ5ICh0cnVlKSBvciBPQXBwLXNwZWNpZmljIChmYWxzZSkuAAAACmlzX2RlZmF1bHQAAAAAAAEAAAAdVGhlIHJlc29sdmVkIGxpYnJhcnkgYWRkcmVzcy4AAAAAAAADbGliAAAAABMAAAABAAAASE91dGJvdW5kIHBhY2tldCBjb250YWluaW5nIGFsbCBpbmZvcm1hdGlvbiBmb3IgY3Jvc3MtY2hhaW4gdHJhbnNtaXNzaW9uLgAAAAAAAAAOT3V0Ym91bmRQYWNrZXQAAAAAAAcAAAAYRGVzdGluYXRpb24gZW5kcG9pbnQgSUQuAAAAB2RzdF9laWQAAAAABAAAACxHbG9iYWxseSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBtZXNzYWdlLgAAAARndWlkAAAD7gAAACAAAAAUVGhlIG1lc3NhZ2UgcGF5bG9hZC4AAAAHbWVzc2FnZQAAAAAOAAAAIE91dGJvdW5kIG5vbmNlIGZvciB0aGlzIHBhdGh3YXkuAAAABW5vbmNlAAAAAAAABgAAADFSZWNlaXZlciBhZGRyZXNzIG9uIGRlc3RpbmF0aW9uIGNoYWluICgzMiBieXRlcykuAAAAAAAACHJlY2VpdmVyAAAD7gAAACAAAAAfU2VuZGVyIGFkZHJlc3Mgb24gc291cmNlIGNoYWluLgAAAAAGc2VuZGVyAAAAAAATAAAAE1NvdXJjZSBlbmRwb2ludCBJRC4AAAAAB3NyY19laWQAAAAABAAAAAEAAAArQSBmZWUgcmVjaXBpZW50IHdpdGggdGhlIGFtb3VudCB0byBiZSBwYWlkLgAAAAAAAAAADEZlZVJlY2lwaWVudAAAAAIAAAAVQW1vdW50IG9mIGZlZSB0byBwYXkuAAAAAAAABmFtb3VudAAAAAAACwAAAB9UaGUgYWRkcmVzcyB0byBzZW5kIHRoZSBmZWUgdG8uAAAAAAJ0bwAAAAAAEwAAAAEAAAA8UmVzdWx0IG9mIHNlbmQgb3BlcmF0aW9uIGNvbnRhaW5pbmcgZmVlcyBhbmQgZW5jb2RlZCBwYWNrZXQuAAAAAAAAAA1GZWVzQW5kUGFja2V0AAAAAAAAAwAAACpUaGUgZW5jb2RlZCBwYWNrZXQgcmVhZHkgZm9yIHRyYW5zbWlzc2lvbi4AAAAAAA5lbmNvZGVkX3BhY2tldAAAAAAADgAAAD9MaXN0IG9mIG5hdGl2ZSB0b2tlbiBmZWUgcmVjaXBpZW50cyAoZXhlY3V0b3IsIERWTnMsIHRyZWFzdXJ5KS4AAAAAFW5hdGl2ZV9mZWVfcmVjaXBpZW50cwAAAAAAA+oAAAfQAAAADEZlZVJlY2lwaWVudAAAACxMaXN0IG9mIFpSTyB0b2tlbiBmZWUgcmVjaXBpZW50cyAodHJlYXN1cnkpLgAAABJ6cm9fZmVlX3JlY2lwaWVudHMAAAAAA+oAAAfQAAAADEZlZVJlY2lwaWVudAAAAAQAAAAdUGFja2V0Q29kZWNWMUVycm9yOiAxMTAwLTExMDkAAAAAAAAAAAAAElBhY2tldENvZGVjVjFFcnJvcgAAAAAAAgAAAAAAAAATSW52YWxpZFBhY2tldEhlYWRlcgAAAARMAAAAAAAAABRJbnZhbGlkUGFja2V0VmVyc2lvbgAABE0AAAAEAAAAHVdvcmtlck9wdGlvbnNFcnJvcjogMTExMC0xMTE5AAAAAAAAAAAAABJXb3JrZXJPcHRpb25zRXJyb3IAAAAAAAkAAAAAAAAAEkludmFsaWRCeXRlc0xlbmd0aAAAAAAEVgAAAAAAAAAZSW52YWxpZExlZ2FjeU9wdGlvbnNUeXBlMQAAAAAABFcAAAAAAAAAGUludmFsaWRMZWdhY3lPcHRpb25zVHlwZTIAAAAAAARYAAAAAAAAABFJbnZhbGlkT3B0aW9uVHlwZQAAAAAABFkAAAAAAAAADkludmFsaWRPcHRpb25zAAAAAARaAAAAAAAAAA9JbnZhbGlkV29ya2VySWQAAAAEWwAAAAAAAAAdTGVnYWN5T3B0aW9uc1R5cGUxR2FzT3ZlcmZsb3cAAAAAAARcAAAAAAAAACBMZWdhY3lPcHRpb25zVHlwZTJBbW91bnRPdmVyZmxvdwAABF0AAAAAAAAAHUxlZ2FjeU9wdGlvbnNUeXBlMkdhc092ZXJmbG93AAAAAAAEXgAAAAQAAAAcQnVmZmVyUmVhZGVyRXJyb3I6IDEwMDAtMTAwOQAAAAAAAAARQnVmZmVyUmVhZGVyRXJyb3IAAAAAAAACAAAAAAAAAA1JbnZhbGlkTGVuZ3RoAAAAAAAD6AAAAAAAAAAVSW52YWxpZEFkZHJlc3NQYXlsb2FkAAAAAAAD6QAAAAQAAAAcQnVmZmVyV3JpdGVyRXJyb3I6IDEwMTAtMTAxOQAAAAAAAAARQnVmZmVyV3JpdGVyRXJyb3IAAAAAAAABAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPyAAAABAAAAB9UdGxDb25maWd1cmFibGVFcnJvcjogMTAyMC0xMDI5AAAAAAAAAAAUVHRsQ29uZmlndXJhYmxlRXJyb3IAAAADAAAAAAAAABBJbnZhbGlkVHRsQ29uZmlnAAAD/AAAAAAAAAAPVHRsQ29uZmlnRnJvemVuAAAAA/0AAAAAAAAAFlR0bENvbmZpZ0FscmVhZHlGcm96ZW4AAAAAA/4AAAAEAAAAF093bmFibGVFcnJvcjogMTAzMC0xMDM5AAAAAAAAAAAMT3duYWJsZUVycm9yAAAABgAAAAAAAAATSW52YWxpZFBlbmRpbmdPd25lcgAAAAQGAAAAAAAAAApJbnZhbGlkVHRsAAAAAAQHAAAAAAAAABFOb1BlbmRpbmdUcmFuc2ZlcgAAAAAABAgAAAAAAAAAD093bmVyQWxyZWFkeVNldAAAAAQJAAAAAAAAAAtPd25lck5vdFNldAAAAAQKAAAAAAAAABJUcmFuc2ZlckluUHJvZ3Jlc3MAAAAABAsAAAAEAAAAGEJ5dGVzRXh0RXJyb3I6IDEwNDAtMTA0OQAAAAAAAAANQnl0ZXNFeHRFcnJvcgAAAAAAAAEAAAAAAAAADkxlbmd0aE1pc21hdGNoAAAAAAQQAAAABAAAABtVcGdyYWRlYWJsZUVycm9yOiAxMDUwLTEwNTkAAAAAAAAAABBVcGdyYWRlYWJsZUVycm9yAAAAAQAAAAAAAAATTWlncmF0aW9uTm90QWxsb3dlZAAAAAQaAAAABAAAABhNdWx0aXNpZ0Vycm9yOiAxMDYwLTEwNjkAAAAAAAAADU11bHRpc2lnRXJyb3IAAAAAAAAIAAAAAAAAABJBbHJlYWR5SW5pdGlhbGl6ZWQAAAAABCQAAAAAAAAADUludmFsaWRTaWduZXIAAAAAAAQlAAAAAAAAAA5TaWduYXR1cmVFcnJvcgAAAAAEJgAAAAAAAAATU2lnbmVyQWxyZWFkeUV4aXN0cwAAAAQnAAAAAAAAAA5TaWduZXJOb3RGb3VuZAAAAAAEKAAAAAAAAAAdVG90YWxTaWduZXJzTGVzc1RoYW5UaHJlc2hvbGQAAAAAAAQpAAAAAAAAAA9VbnNvcnRlZFNpZ25lcnMAAAAEKgAAAAAAAAANWmVyb1RocmVzaG9sZAAAAAAABCsAAAAFAAAAMEV2ZW50IGVtaXR0ZWQgd2hlbiBhIHNpZ25lciBpcyBhZGRlZCBvciByZW1vdmVkLgAAAAAAAAAJU2lnbmVyU2V0AAAAAAAAAQAAAApzaWduZXJfc2V0AAAAAAACAAAAAAAAAAZzaWduZXIAAAAAA+4AAAAUAAAAAQAAAAAAAAAGYWN0aXZlAAAAAAABAAAAAAAAAAIAAAAFAAAANkV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2lnbmF0dXJlIHRocmVzaG9sZCBpcyBjaGFuZ2VkLgAAAAAAAAAAAAxUaHJlc2hvbGRTZXQAAAABAAAADXRocmVzaG9sZF9zZXQAAAAAAAABAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAPTXVsdGlzaWdTdG9yYWdlAAAAAAIAAAAAAAAAAAAAAAdTaWduZXJzAAAAAAAAAAAAAAAACVRocmVzaG9sZAAAAAAAAAUAAABXRXZlbnQgZW1pdHRlZCB3aGVuIG93bmVyc2hpcCBpcyB0cmFuc2ZlcnJlZCAoYm90aCBzaW5nbGUtc3RlcCBhbmQgdHdvLXN0ZXAgY29tcGxldGlvbikuAAAAAAAAAAAUT3duZXJzaGlwVHJhbnNmZXJyZWQAAAABAAAAFW93bmVyc2hpcF90cmFuc2ZlcnJlZAAAAAAAAAIAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAIAAAAFAAAAO0V2ZW50IGVtaXR0ZWQgd2hlbiBhIDItc3RlcCBvd25lcnNoaXAgdHJhbnNmZXIgaXMgcHJvcG9zZWQuAAAAAAAAAAAVT3duZXJzaGlwVHJhbnNmZXJyaW5nAAAAAAAAAQAAABZvd25lcnNoaXBfdHJhbnNmZXJyaW5nAAAAAAADAAAAAAAAAAlvbGRfb3duZXIAAAAAAAATAAAAAAAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAAAAAAAA3R0bAAAAAAEAAAAAAAAAAIAAAAFAAAAKkV2ZW50IGVtaXR0ZWQgd2hlbiBvd25lcnNoaXAgaXMgcmVub3VuY2VkLgAAAAAAAAAAABJPd25lcnNoaXBSZW5vdW5jZWQAAAAAAAEAAAATb3duZXJzaGlwX3Jlbm91bmNlZAAAAAABAAAAAAAAAAlvbGRfb3duZXIAAAAAAAATAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAOT3duYWJsZVN0b3JhZ2UAAAAAAAIAAAAAAAAAAAAAAAVPd25lcgAAAAAAAAAAAAAAAAAADFBlbmRpbmdPd25lcgAAAAEAAABJVFRMIGNvbmZpZ3VyYXRpb246IHRocmVzaG9sZCAod2hlbiB0byBleHRlbmQpIGFuZCBleHRlbmRfdG8gKHRhcmdldCBUVEwpLgAAAAAAAAAAAAAJVHRsQ29uZmlnAAAAAAAAAgAAAChUYXJnZXQgVFRMIGFmdGVyIGV4dGVuc2lvbiAoaW4gbGVkZ2VycykuAAAACWV4dGVuZF90bwAAAAAAAAQAAAAzVFRMIHRocmVzaG9sZCB0aGF0IHRyaWdnZXJzIGV4dGVuc2lvbiAoaW4gbGVkZ2VycykuAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAABQAAACdFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIHNldC4AAAAAAAAAAA1UdGxDb25maWdzU2V0AAAAAAAAAQAAAA90dGxfY29uZmlnc19zZXQAAAAAAgAAAAAAAAAIaW5zdGFuY2UAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAAAAAApwZXJzaXN0ZW50AAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAgAAAAUAAAAqRXZlbnQgZW1pdHRlZCB3aGVuIFRUTCBjb25maWdzIGFyZSBmcm96ZW4uAAAAAAAAAAAAEFR0bENvbmZpZ3NGcm96ZW4AAAABAAAAEnR0bF9jb25maWdzX2Zyb3plbgAAAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAQVHRsQ29uZmlnU3RvcmFnZQAAAAMAAAAAAAAAAAAAAAZGcm96ZW4AAAAAAAAAAAAAAAAACEluc3RhbmNlAAAAAAAAAAAAAAAKUGVyc2lzdGVudAAAAAAAAgAAAAAAAAAAAAAAElVwZ3JhZGVhYmxlU3RvcmFnZQAAAAAAAQAAAAAAAAAAAAAACU1pZ3JhdGluZwAAAAAeEWNvbnRyYWN0ZW52bWV0YXYwAAAAAAAAABcAAAAAAG8OY29udHJhY3RtZXRhdjAAAAAAAAAABXJzdmVyAAAAAAAABjEuOTAuMAAAAAAAAAAAAAhyc3Nka3ZlcgAAAC8yMy40LjAjNjczZDZjNGYyMzY4ZDI4MmQyNWRhMjliZGE1NWMyMWI4YmU2OWNhNgA=";
|
|
13
|
+
/**
|
|
14
|
+
* Pre-computed WASM hash (SHA-256)
|
|
15
|
+
* Use this when the WASM is already uploaded on-chain
|
|
16
|
+
*/
|
|
17
|
+
export declare const WASM_HASH = "00d120a82635e4e4497d07d1233a432efc4301a890ce92b159b977a8b5275462";
|
|
18
|
+
/**
|
|
19
|
+
* Get the WASM bytecode as a Buffer
|
|
20
|
+
* Use this to upload the WASM to the network
|
|
21
|
+
*/
|
|
22
|
+
export declare function getWasmBuffer(): Buffer;
|
|
8
23
|
export type SmlStorage = {
|
|
9
24
|
tag: "Endpoint";
|
|
10
25
|
values: void;
|
|
@@ -105,6 +120,9 @@ export declare const EndpointError: {
|
|
|
105
120
|
24: {
|
|
106
121
|
message: string;
|
|
107
122
|
};
|
|
123
|
+
25: {
|
|
124
|
+
message: string;
|
|
125
|
+
};
|
|
108
126
|
};
|
|
109
127
|
/**
|
|
110
128
|
* Parameters for sending a cross-chain message.
|
|
@@ -317,43 +335,52 @@ export interface FeesAndPacket {
|
|
|
317
335
|
*/
|
|
318
336
|
zro_fee_recipients: Array<FeeRecipient>;
|
|
319
337
|
}
|
|
338
|
+
/**
|
|
339
|
+
* PacketCodecV1Error: 1100-1109
|
|
340
|
+
*/
|
|
320
341
|
export declare const PacketCodecV1Error: {
|
|
321
|
-
|
|
342
|
+
1100: {
|
|
322
343
|
message: string;
|
|
323
344
|
};
|
|
324
|
-
|
|
345
|
+
1101: {
|
|
325
346
|
message: string;
|
|
326
347
|
};
|
|
327
348
|
};
|
|
349
|
+
/**
|
|
350
|
+
* WorkerOptionsError: 1110-1119
|
|
351
|
+
*/
|
|
328
352
|
export declare const WorkerOptionsError: {
|
|
329
|
-
|
|
353
|
+
1110: {
|
|
330
354
|
message: string;
|
|
331
355
|
};
|
|
332
|
-
|
|
356
|
+
1111: {
|
|
333
357
|
message: string;
|
|
334
358
|
};
|
|
335
|
-
|
|
359
|
+
1112: {
|
|
336
360
|
message: string;
|
|
337
361
|
};
|
|
338
|
-
|
|
362
|
+
1113: {
|
|
339
363
|
message: string;
|
|
340
364
|
};
|
|
341
|
-
|
|
365
|
+
1114: {
|
|
342
366
|
message: string;
|
|
343
367
|
};
|
|
344
|
-
|
|
368
|
+
1115: {
|
|
345
369
|
message: string;
|
|
346
370
|
};
|
|
347
|
-
|
|
371
|
+
1116: {
|
|
348
372
|
message: string;
|
|
349
373
|
};
|
|
350
|
-
|
|
374
|
+
1117: {
|
|
351
375
|
message: string;
|
|
352
376
|
};
|
|
353
|
-
|
|
377
|
+
1118: {
|
|
354
378
|
message: string;
|
|
355
379
|
};
|
|
356
380
|
};
|
|
381
|
+
/**
|
|
382
|
+
* BufferReaderError: 1000-1009
|
|
383
|
+
*/
|
|
357
384
|
export declare const BufferReaderError: {
|
|
358
385
|
1000: {
|
|
359
386
|
message: string;
|
|
@@ -362,43 +389,109 @@ export declare const BufferReaderError: {
|
|
|
362
389
|
message: string;
|
|
363
390
|
};
|
|
364
391
|
};
|
|
392
|
+
/**
|
|
393
|
+
* BufferWriterError: 1010-1019
|
|
394
|
+
*/
|
|
365
395
|
export declare const BufferWriterError: {
|
|
366
|
-
|
|
396
|
+
1010: {
|
|
367
397
|
message: string;
|
|
368
398
|
};
|
|
369
399
|
};
|
|
400
|
+
/**
|
|
401
|
+
* TtlConfigurableError: 1020-1029
|
|
402
|
+
*/
|
|
370
403
|
export declare const TtlConfigurableError: {
|
|
371
|
-
|
|
404
|
+
1020: {
|
|
372
405
|
message: string;
|
|
373
406
|
};
|
|
374
|
-
|
|
407
|
+
1021: {
|
|
375
408
|
message: string;
|
|
376
409
|
};
|
|
377
|
-
|
|
410
|
+
1022: {
|
|
378
411
|
message: string;
|
|
379
412
|
};
|
|
380
413
|
};
|
|
414
|
+
/**
|
|
415
|
+
* OwnableError: 1030-1039
|
|
416
|
+
*/
|
|
381
417
|
export declare const OwnableError: {
|
|
382
|
-
|
|
418
|
+
1030: {
|
|
419
|
+
message: string;
|
|
420
|
+
};
|
|
421
|
+
1031: {
|
|
422
|
+
message: string;
|
|
423
|
+
};
|
|
424
|
+
1032: {
|
|
425
|
+
message: string;
|
|
426
|
+
};
|
|
427
|
+
1033: {
|
|
383
428
|
message: string;
|
|
384
429
|
};
|
|
385
|
-
|
|
430
|
+
1034: {
|
|
431
|
+
message: string;
|
|
432
|
+
};
|
|
433
|
+
1035: {
|
|
386
434
|
message: string;
|
|
387
435
|
};
|
|
388
436
|
};
|
|
437
|
+
/**
|
|
438
|
+
* BytesExtError: 1040-1049
|
|
439
|
+
*/
|
|
389
440
|
export declare const BytesExtError: {
|
|
390
|
-
|
|
441
|
+
1040: {
|
|
391
442
|
message: string;
|
|
392
443
|
};
|
|
393
444
|
};
|
|
445
|
+
/**
|
|
446
|
+
* UpgradeableError: 1050-1059
|
|
447
|
+
*/
|
|
394
448
|
export declare const UpgradeableError: {
|
|
395
|
-
|
|
449
|
+
1050: {
|
|
396
450
|
message: string;
|
|
397
451
|
};
|
|
398
452
|
};
|
|
453
|
+
/**
|
|
454
|
+
* MultisigError: 1060-1069
|
|
455
|
+
*/
|
|
456
|
+
export declare const MultisigError: {
|
|
457
|
+
1060: {
|
|
458
|
+
message: string;
|
|
459
|
+
};
|
|
460
|
+
1061: {
|
|
461
|
+
message: string;
|
|
462
|
+
};
|
|
463
|
+
1062: {
|
|
464
|
+
message: string;
|
|
465
|
+
};
|
|
466
|
+
1063: {
|
|
467
|
+
message: string;
|
|
468
|
+
};
|
|
469
|
+
1064: {
|
|
470
|
+
message: string;
|
|
471
|
+
};
|
|
472
|
+
1065: {
|
|
473
|
+
message: string;
|
|
474
|
+
};
|
|
475
|
+
1066: {
|
|
476
|
+
message: string;
|
|
477
|
+
};
|
|
478
|
+
1067: {
|
|
479
|
+
message: string;
|
|
480
|
+
};
|
|
481
|
+
};
|
|
482
|
+
export type MultisigStorage = {
|
|
483
|
+
tag: "Signers";
|
|
484
|
+
values: void;
|
|
485
|
+
} | {
|
|
486
|
+
tag: "Threshold";
|
|
487
|
+
values: void;
|
|
488
|
+
};
|
|
399
489
|
export type OwnableStorage = {
|
|
400
490
|
tag: "Owner";
|
|
401
491
|
values: void;
|
|
492
|
+
} | {
|
|
493
|
+
tag: "PendingOwner";
|
|
494
|
+
values: void;
|
|
402
495
|
};
|
|
403
496
|
/**
|
|
404
497
|
* TTL configuration: threshold (when to extend) and extend_to (target TTL).
|
|
@@ -763,18 +856,9 @@ export interface Client {
|
|
|
763
856
|
simulate?: boolean;
|
|
764
857
|
}) => Promise<AssembledTransaction<string>>;
|
|
765
858
|
/**
|
|
766
|
-
* Construct and simulate a
|
|
767
|
-
* Extends the instance TTL.
|
|
768
|
-
*
|
|
769
|
-
* # Arguments
|
|
770
|
-
*
|
|
771
|
-
* * `threshold` - The threshold to extend the TTL.
|
|
772
|
-
* * `extend_to` - The TTL to extend to.
|
|
859
|
+
* Construct and simulate a authorizer transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
773
860
|
*/
|
|
774
|
-
|
|
775
|
-
threshold: u32;
|
|
776
|
-
extend_to: u32;
|
|
777
|
-
}, txnOptions?: {
|
|
861
|
+
authorizer: (txnOptions?: {
|
|
778
862
|
/**
|
|
779
863
|
* The fee to pay for the transaction. Default: BASE_FEE
|
|
780
864
|
*/
|
|
@@ -787,7 +871,7 @@ export interface Client {
|
|
|
787
871
|
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
788
872
|
*/
|
|
789
873
|
simulate?: boolean;
|
|
790
|
-
}) => Promise<AssembledTransaction<
|
|
874
|
+
}) => Promise<AssembledTransaction<string>>;
|
|
791
875
|
/**
|
|
792
876
|
* Construct and simulate a set_ttl_configs transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
793
877
|
* Sets TTL configs for instance and persistent storage.
|
|
@@ -880,6 +964,32 @@ export interface Client {
|
|
|
880
964
|
*/
|
|
881
965
|
simulate?: boolean;
|
|
882
966
|
}) => Promise<AssembledTransaction<boolean>>;
|
|
967
|
+
/**
|
|
968
|
+
* Construct and simulate a extend_instance_ttl transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
969
|
+
* Extends the instance TTL.
|
|
970
|
+
*
|
|
971
|
+
* # Arguments
|
|
972
|
+
*
|
|
973
|
+
* * `threshold` - The threshold to extend the TTL (if current TTL is below this, extend).
|
|
974
|
+
* * `extend_to` - The TTL to extend to.
|
|
975
|
+
*/
|
|
976
|
+
extend_instance_ttl: ({ threshold, extend_to }: {
|
|
977
|
+
threshold: u32;
|
|
978
|
+
extend_to: u32;
|
|
979
|
+
}, txnOptions?: {
|
|
980
|
+
/**
|
|
981
|
+
* The fee to pay for the transaction. Default: BASE_FEE
|
|
982
|
+
*/
|
|
983
|
+
fee?: number;
|
|
984
|
+
/**
|
|
985
|
+
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
986
|
+
*/
|
|
987
|
+
timeoutInSeconds?: number;
|
|
988
|
+
/**
|
|
989
|
+
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
990
|
+
*/
|
|
991
|
+
simulate?: boolean;
|
|
992
|
+
}) => Promise<AssembledTransaction<null>>;
|
|
883
993
|
/**
|
|
884
994
|
* Construct and simulate a owner transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
885
995
|
* Returns the current owner address, or None if no owner is set.
|
|
@@ -898,9 +1008,34 @@ export interface Client {
|
|
|
898
1008
|
*/
|
|
899
1009
|
simulate?: boolean;
|
|
900
1010
|
}) => Promise<AssembledTransaction<Option<string>>>;
|
|
1011
|
+
/**
|
|
1012
|
+
* Construct and simulate a pending_owner transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
1013
|
+
* Returns the pending owner address for 2-step transfer, or None if no transfer is pending.
|
|
1014
|
+
*/
|
|
1015
|
+
pending_owner: (txnOptions?: {
|
|
1016
|
+
/**
|
|
1017
|
+
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1018
|
+
*/
|
|
1019
|
+
fee?: number;
|
|
1020
|
+
/**
|
|
1021
|
+
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1022
|
+
*/
|
|
1023
|
+
timeoutInSeconds?: number;
|
|
1024
|
+
/**
|
|
1025
|
+
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1026
|
+
*/
|
|
1027
|
+
simulate?: boolean;
|
|
1028
|
+
}) => Promise<AssembledTransaction<Option<string>>>;
|
|
901
1029
|
/**
|
|
902
1030
|
* Construct and simulate a transfer_ownership transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
903
|
-
* Transfers ownership to a new address.
|
|
1031
|
+
* Transfers ownership immediately to a new address.
|
|
1032
|
+
*
|
|
1033
|
+
* Use with caution - if you transfer to a wrong address, ownership is lost forever.
|
|
1034
|
+
* Consider using `propose_ownership_transfer` instead.
|
|
1035
|
+
*
|
|
1036
|
+
* # Panics
|
|
1037
|
+
* - `OwnerNotSet` if no owner is currently set
|
|
1038
|
+
* - `TransferInProgress` if a 2-step transfer is in progress
|
|
904
1039
|
*/
|
|
905
1040
|
transfer_ownership: ({ new_owner }: {
|
|
906
1041
|
new_owner: string;
|
|
@@ -918,9 +1053,71 @@ export interface Client {
|
|
|
918
1053
|
*/
|
|
919
1054
|
simulate?: boolean;
|
|
920
1055
|
}) => Promise<AssembledTransaction<null>>;
|
|
1056
|
+
/**
|
|
1057
|
+
* Construct and simulate a propose_ownership_transfer transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
1058
|
+
* Proposes an ownership transfer to a new address.
|
|
1059
|
+
*
|
|
1060
|
+
* The new owner must call `accept_ownership()` within `ttl` ledgers
|
|
1061
|
+
* to complete the transfer. The pending transfer will automatically expire after.
|
|
1062
|
+
*
|
|
1063
|
+
* # Arguments
|
|
1064
|
+
* - `new_owner` - The proposed new owner
|
|
1065
|
+
* - `ttl` - Number of ledgers the new owner has to accept.
|
|
1066
|
+
* Use `0` to cancel a pending transfer (new_owner must match pending).
|
|
1067
|
+
*
|
|
1068
|
+
* # Panics
|
|
1069
|
+
* - `OwnerNotSet` if no owner is currently set
|
|
1070
|
+
* - `NoPendingTransfer` when cancelling and no pending transfer exists
|
|
1071
|
+
* - `InvalidTtl` if ttl exceeds max TTL
|
|
1072
|
+
* - `InvalidPendingOwner` when cancelling with wrong new_owner address
|
|
1073
|
+
*/
|
|
1074
|
+
propose_ownership_transfer: ({ new_owner, ttl }: {
|
|
1075
|
+
new_owner: string;
|
|
1076
|
+
ttl: u32;
|
|
1077
|
+
}, txnOptions?: {
|
|
1078
|
+
/**
|
|
1079
|
+
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1080
|
+
*/
|
|
1081
|
+
fee?: number;
|
|
1082
|
+
/**
|
|
1083
|
+
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1084
|
+
*/
|
|
1085
|
+
timeoutInSeconds?: number;
|
|
1086
|
+
/**
|
|
1087
|
+
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1088
|
+
*/
|
|
1089
|
+
simulate?: boolean;
|
|
1090
|
+
}) => Promise<AssembledTransaction<null>>;
|
|
1091
|
+
/**
|
|
1092
|
+
* Construct and simulate a accept_ownership transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
1093
|
+
* Accepts a pending 2-step ownership transfer.
|
|
1094
|
+
*
|
|
1095
|
+
* Must be called by the pending owner before the TTL expires.
|
|
1096
|
+
*
|
|
1097
|
+
* # Panics
|
|
1098
|
+
* - `NoPendingTransfer` if there is no pending transfer (or it expired)
|
|
1099
|
+
*/
|
|
1100
|
+
accept_ownership: (txnOptions?: {
|
|
1101
|
+
/**
|
|
1102
|
+
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1103
|
+
*/
|
|
1104
|
+
fee?: number;
|
|
1105
|
+
/**
|
|
1106
|
+
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1107
|
+
*/
|
|
1108
|
+
timeoutInSeconds?: number;
|
|
1109
|
+
/**
|
|
1110
|
+
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1111
|
+
*/
|
|
1112
|
+
simulate?: boolean;
|
|
1113
|
+
}) => Promise<AssembledTransaction<null>>;
|
|
921
1114
|
/**
|
|
922
1115
|
* Construct and simulate a renounce_ownership transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
923
|
-
* Permanently renounces ownership.
|
|
1116
|
+
* Permanently renounces ownership.
|
|
1117
|
+
*
|
|
1118
|
+
* # Panics
|
|
1119
|
+
* - `OwnerNotSet` if no owner is currently set
|
|
1120
|
+
* - `TransferInProgress` if a 2-step transfer is in progress (cancel it first)
|
|
924
1121
|
*/
|
|
925
1122
|
renounce_ownership: (txnOptions?: {
|
|
926
1123
|
/**
|
|
@@ -975,13 +1172,17 @@ export declare class Client extends ContractClient {
|
|
|
975
1172
|
zro_fee: (json: string) => AssembledTransaction<bigint>;
|
|
976
1173
|
fee_recipient: (json: string) => AssembledTransaction<string>;
|
|
977
1174
|
whitelisted_caller: (json: string) => AssembledTransaction<string>;
|
|
978
|
-
|
|
1175
|
+
authorizer: (json: string) => AssembledTransaction<string>;
|
|
979
1176
|
set_ttl_configs: (json: string) => AssembledTransaction<null>;
|
|
980
1177
|
ttl_configs: (json: string) => AssembledTransaction<readonly [Option<TtlConfig>, Option<TtlConfig>]>;
|
|
981
1178
|
freeze_ttl_configs: (json: string) => AssembledTransaction<null>;
|
|
982
1179
|
is_ttl_configs_frozen: (json: string) => AssembledTransaction<boolean>;
|
|
1180
|
+
extend_instance_ttl: (json: string) => AssembledTransaction<null>;
|
|
983
1181
|
owner: (json: string) => AssembledTransaction<Option<string>>;
|
|
1182
|
+
pending_owner: (json: string) => AssembledTransaction<Option<string>>;
|
|
984
1183
|
transfer_ownership: (json: string) => AssembledTransaction<null>;
|
|
1184
|
+
propose_ownership_transfer: (json: string) => AssembledTransaction<null>;
|
|
1185
|
+
accept_ownership: (json: string) => AssembledTransaction<null>;
|
|
985
1186
|
renounce_ownership: (json: string) => AssembledTransaction<null>;
|
|
986
1187
|
};
|
|
987
1188
|
}
|