@layerzerolabs/protocol-stellar-v2 0.2.19 → 0.2.21

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.
Files changed (249) hide show
  1. package/.turbo/turbo-build.log +795 -791
  2. package/.turbo/turbo-lint.log +325 -155
  3. package/.turbo/turbo-test.log +1398 -1277
  4. package/Cargo.lock +122 -111
  5. package/Cargo.toml +32 -16
  6. package/contracts/common-macros/Cargo.toml +7 -7
  7. package/contracts/common-macros/src/auth.rs +18 -37
  8. package/contracts/common-macros/src/contract_ttl.rs +18 -7
  9. package/contracts/common-macros/src/lib.rs +31 -14
  10. package/contracts/common-macros/src/lz_contract.rs +38 -7
  11. package/contracts/common-macros/src/storage.rs +251 -292
  12. package/contracts/common-macros/src/tests/contract_ttl.rs +1 -1
  13. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_multisig_code.snap +6 -12
  14. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_ownable_code.snap +12 -17
  15. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__contract_ttl__snapshot_generated_contractimpl_code.snap +2 -1
  16. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__ttl_configurable__snapshot_generated_ttl_configurable_code.snap +2 -7
  17. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__upgradeable__snapshot_generated_upgradeable_code.snap +20 -14
  18. package/contracts/common-macros/src/tests/upgradeable.rs +26 -4
  19. package/contracts/common-macros/src/ttl_configurable.rs +2 -10
  20. package/contracts/common-macros/src/ttl_extendable.rs +2 -10
  21. package/contracts/common-macros/src/upgradeable.rs +61 -26
  22. package/contracts/common-macros/src/utils.rs +0 -9
  23. package/contracts/endpoint-v2/src/lib.rs +3 -2
  24. package/contracts/endpoint-v2/src/tests/endpoint_v2/clear.rs +2 -2
  25. package/contracts/endpoint-v2/src/tests/endpoint_v2/lz_receive_alert.rs +3 -3
  26. package/contracts/endpoint-v2/src/tests/endpoint_v2/send.rs +4 -4
  27. package/contracts/endpoint-v2/src/tests/endpoint_v2/set_delegate.rs +17 -5
  28. package/contracts/endpoint-v2/src/tests/endpoint_v2/set_zro.rs +4 -4
  29. package/contracts/endpoint-v2/src/tests/endpoint_v2/verify.rs +2 -2
  30. package/contracts/endpoint-v2/src/tests/message_lib_manager/register_library.rs +2 -2
  31. package/contracts/endpoint-v2/src/tests/message_lib_manager/set_default_receive_lib_timeout.rs +6 -6
  32. package/contracts/endpoint-v2/src/tests/message_lib_manager/set_default_receive_library.rs +67 -37
  33. package/contracts/endpoint-v2/src/tests/message_lib_manager/set_default_send_library.rs +5 -5
  34. package/contracts/endpoint-v2/src/tests/message_lib_manager/set_receive_library.rs +44 -54
  35. package/contracts/endpoint-v2/src/tests/message_lib_manager/set_receive_library_timeout.rs +7 -7
  36. package/contracts/endpoint-v2/src/tests/message_lib_manager/set_send_library.rs +8 -8
  37. package/contracts/endpoint-v2/src/tests/messaging_channel/burn.rs +3 -3
  38. package/contracts/endpoint-v2/src/tests/messaging_channel/nilify.rs +4 -4
  39. package/contracts/endpoint-v2/src/tests/messaging_channel/skip.rs +3 -3
  40. package/contracts/endpoint-v2/src/tests/messaging_composer/clear_compose.rs +2 -2
  41. package/contracts/endpoint-v2/src/tests/messaging_composer/lz_compose_alert.rs +3 -3
  42. package/contracts/endpoint-v2/src/tests/messaging_composer/send_compose.rs +2 -2
  43. package/contracts/layerzero-views/Cargo.toml +0 -1
  44. package/contracts/layerzero-views/src/layerzero_view.rs +1 -13
  45. package/contracts/macro-integration-tests/Cargo.toml +5 -15
  46. package/contracts/macro-integration-tests/tests/runtime/oapp/mod.rs +48 -0
  47. package/contracts/macro-integration-tests/tests/runtime/oapp/oapp_core.rs +170 -0
  48. package/contracts/macro-integration-tests/tests/runtime/oapp/options_type3.rs +154 -0
  49. package/contracts/macro-integration-tests/tests/runtime/oapp/receiver.rs +338 -0
  50. package/contracts/macro-integration-tests/tests/runtime/oapp/sender.rs +435 -0
  51. package/contracts/macro-integration-tests/tests/runtime.rs +1 -0
  52. package/contracts/macro-integration-tests/tests/ui/oapp/fail/custom_wrong_value.rs +8 -0
  53. package/contracts/macro-integration-tests/tests/ui/oapp/fail/custom_wrong_value.stderr +5 -0
  54. package/contracts/macro-integration-tests/tests/ui/oapp/fail/missing_lz_receive_internal.rs +8 -0
  55. package/contracts/macro-integration-tests/tests/ui/oapp/fail/missing_lz_receive_internal.stderr +71 -0
  56. package/contracts/macro-integration-tests/tests/ui/oapp/fail/non_struct_input.rs +10 -0
  57. package/contracts/macro-integration-tests/tests/ui/oapp/fail/non_struct_input.stderr +5 -0
  58. package/contracts/macro-integration-tests/tests/ui/oapp/fail/unknown_custom_option.rs +8 -0
  59. package/contracts/macro-integration-tests/tests/ui/oapp/fail/unknown_custom_option.stderr +5 -0
  60. package/contracts/macro-integration-tests/tests/ui/oapp/fail/wrong_key.rs +8 -0
  61. package/contracts/macro-integration-tests/tests/ui/oapp/fail/wrong_key.stderr +5 -0
  62. package/contracts/macro-integration-tests/tests/ui/oapp/pass/custom_all.rs +38 -0
  63. package/contracts/macro-integration-tests/tests/ui/oapp/pass/custom_single_trait.rs +96 -0
  64. package/contracts/macro-integration-tests/tests/ui/oapp/pass/minimal_contract.rs +64 -0
  65. package/contracts/macro-integration-tests/tests/ui/oapp/pass/struct_with_fields.rs +46 -0
  66. package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_env.stderr +8 -0
  67. package/contracts/macro-integration-tests/tests/ui/ownable/pass/namespacing_and_imports.rs +1 -1
  68. package/contracts/macro-integration-tests/tests/ui/ownable/pass/only_auth_env_param_variants.rs +1 -1
  69. package/contracts/macro-integration-tests/tests/ui_oapp.rs +11 -0
  70. package/contracts/message-libs/message-lib-common/Cargo.toml +0 -1
  71. package/contracts/message-libs/message-lib-common/src/errors.rs +1 -1
  72. package/contracts/message-libs/treasury/Cargo.toml +0 -2
  73. package/contracts/message-libs/treasury/src/tests/treasury_tests.rs +2 -2
  74. package/contracts/message-libs/uln-302/src/events.rs +4 -0
  75. package/contracts/message-libs/uln-302/src/send_uln.rs +22 -6
  76. package/contracts/message-libs/uln-302/src/tests/receive_uln302/effective_receive_uln_config.rs +2 -2
  77. package/contracts/message-libs/uln-302/src/tests/receive_uln302/set_default_receive_uln_configs.rs +2 -2
  78. package/contracts/message-libs/uln-302/src/tests/receive_uln302/verify.rs +2 -2
  79. package/contracts/message-libs/uln-302/src/tests/send_uln302/effective_executor_config.rs +2 -2
  80. package/contracts/message-libs/uln-302/src/tests/send_uln302/effective_send_uln_config.rs +2 -2
  81. package/contracts/message-libs/uln-302/src/tests/send_uln302/send.rs +21 -67
  82. package/contracts/message-libs/uln-302/src/tests/send_uln302/set_default_executor_configs.rs +2 -2
  83. package/contracts/message-libs/uln-302/src/tests/send_uln302/set_default_send_uln_configs.rs +2 -2
  84. package/contracts/oapps/counter/Cargo.toml +5 -6
  85. package/contracts/oapps/counter/integration_tests/setup_uln.rs +1 -1
  86. package/contracts/oapps/counter/integration_tests/utils.rs +19 -12
  87. package/contracts/oapps/oapp/src/errors.rs +1 -1
  88. package/contracts/oapps/oapp/src/interfaces/mod.rs +3 -0
  89. package/contracts/oapps/oapp/src/interfaces/oapp_msg_inspector.rs +47 -0
  90. package/contracts/oapps/oapp/src/lib.rs +1 -0
  91. package/contracts/oapps/oapp/src/macro_tests/test_macros.rs +4 -4
  92. package/contracts/oapps/oapp/src/oapp_core.rs +5 -5
  93. package/contracts/oapps/oapp/src/oapp_options_type3.rs +12 -4
  94. package/contracts/oapps/oapp/src/oapp_receiver.rs +14 -9
  95. package/contracts/oapps/oapp/src/tests/mod.rs +4 -4
  96. package/contracts/oapps/oapp/src/tests/oapp_core.rs +223 -0
  97. package/contracts/oapps/oapp/src/tests/oapp_options_type3.rs +240 -0
  98. package/contracts/oapps/oapp/src/tests/oapp_receiver.rs +381 -0
  99. package/contracts/oapps/oapp/src/tests/oapp_sender.rs +569 -0
  100. package/contracts/oapps/oapp-macros/Cargo.toml +8 -4
  101. package/contracts/oapps/oapp-macros/src/generators.rs +9 -34
  102. package/contracts/oapps/oapp-macros/src/lib.rs +3 -0
  103. package/contracts/oapps/oapp-macros/src/tests/mod.rs +2 -0
  104. package/contracts/oapps/oapp-macros/src/tests/oapp.rs +88 -0
  105. package/contracts/oapps/oapp-macros/src/tests/parse_custom_impls.rs +86 -0
  106. package/contracts/oapps/oapp-macros/src/tests/snapshots/oapp_macros__tests__oapp__snapshot_generate_oapp.snap +103 -0
  107. package/contracts/oapps/oft/integration-tests/utils.rs +28 -8
  108. package/contracts/oapps/oft/src/extensions/oft_fee.rs +153 -75
  109. package/contracts/oapps/oft/src/extensions/pausable.rs +61 -12
  110. package/contracts/oapps/oft/src/extensions/rate_limiter.rs +198 -134
  111. package/contracts/oapps/oft/src/oft.rs +45 -50
  112. package/contracts/oapps/oft/src/oft_types/lock_unlock.rs +1 -1
  113. package/contracts/oapps/oft/src/oft_types/mint_burn.rs +4 -26
  114. package/contracts/oapps/oft-core/Cargo.toml +1 -4
  115. package/contracts/oapps/oft-core/integration-tests/setup.rs +3 -3
  116. package/contracts/oapps/oft-core/integration-tests/utils.rs +21 -3
  117. package/contracts/oapps/oft-core/src/errors.rs +3 -2
  118. package/contracts/oapps/oft-core/src/events.rs +6 -0
  119. package/contracts/oapps/oft-core/src/lib.rs +1 -1
  120. package/contracts/oapps/oft-core/src/oft_core.rs +341 -246
  121. package/contracts/oapps/oft-core/src/storage.rs +7 -3
  122. package/contracts/oapps/oft-core/src/tests/mod.rs +1 -0
  123. package/contracts/oapps/oft-core/src/tests/test_decimals.rs +37 -2
  124. package/contracts/oapps/oft-core/src/tests/test_lz_receive.rs +2 -2
  125. package/contracts/oapps/oft-core/src/tests/test_msg_inspector.rs +323 -0
  126. package/contracts/oapps/oft-core/src/tests/test_send.rs +2 -2
  127. package/contracts/oapps/oft-core/src/tests/test_utils.rs +61 -16
  128. package/contracts/upgrader/src/lib.rs +30 -57
  129. package/contracts/upgrader/src/tests/test_data/test_upgradeable_contract1.wasm +0 -0
  130. package/contracts/upgrader/src/tests/test_data/test_upgradeable_contract2.wasm +0 -0
  131. package/contracts/upgrader/src/tests/test_upgrader.rs +44 -35
  132. package/contracts/utils/Cargo.toml +0 -1
  133. package/contracts/utils/src/buffer_reader.rs +1 -0
  134. package/contracts/utils/src/errors.rs +4 -2
  135. package/contracts/utils/src/multisig.rs +17 -8
  136. package/contracts/utils/src/ownable.rs +6 -6
  137. package/contracts/utils/src/testing_utils.rs +124 -54
  138. package/contracts/utils/src/tests/multisig.rs +12 -12
  139. package/contracts/utils/src/tests/ownable.rs +6 -6
  140. package/contracts/utils/src/tests/testing_utils.rs +50 -167
  141. package/contracts/utils/src/tests/ttl_configurable.rs +5 -5
  142. package/contracts/utils/src/tests/upgradeable.rs +372 -175
  143. package/contracts/utils/src/ttl_configurable.rs +13 -7
  144. package/contracts/utils/src/upgradeable.rs +48 -23
  145. package/contracts/workers/dvn/Cargo.toml +6 -6
  146. package/contracts/workers/dvn/src/auth.rs +12 -42
  147. package/contracts/workers/dvn/src/dvn.rs +15 -40
  148. package/contracts/workers/dvn/src/errors.rs +0 -1
  149. package/contracts/workers/dvn/src/interfaces/dvn.rs +35 -0
  150. package/contracts/workers/dvn/src/lib.rs +4 -3
  151. package/contracts/workers/dvn/src/tests/auth.rs +1 -1
  152. package/contracts/workers/dvn/src/tests/dvn.rs +19 -15
  153. package/contracts/workers/dvn/src/tests/multisig/set_threshold.rs +2 -4
  154. package/contracts/workers/dvn/src/tests/multisig/verify_signatures.rs +1 -3
  155. package/contracts/workers/dvn/src/tests/setup.rs +5 -9
  156. package/contracts/workers/dvn-fee-lib/Cargo.toml +2 -2
  157. package/contracts/workers/dvn-fee-lib/src/dvn_fee_lib.rs +38 -22
  158. package/contracts/workers/dvn-fee-lib/src/lib.rs +12 -2
  159. package/contracts/workers/dvn-fee-lib/src/tests/dvn_fee_lib.rs +17 -16
  160. package/contracts/workers/executor/Cargo.toml +4 -0
  161. package/contracts/workers/executor/src/executor.rs +15 -36
  162. package/contracts/workers/executor/src/lib.rs +2 -2
  163. package/contracts/workers/executor/src/tests/auth.rs +394 -0
  164. package/contracts/workers/executor/src/tests/executor.rs +410 -0
  165. package/contracts/workers/executor/src/tests/mod.rs +3 -0
  166. package/contracts/workers/executor/src/tests/setup.rs +250 -0
  167. package/contracts/workers/executor-fee-lib/Cargo.toml +7 -1
  168. package/contracts/workers/executor-fee-lib/src/executor_fee_lib.rs +62 -15
  169. package/contracts/workers/executor-fee-lib/src/executor_option.rs +28 -1
  170. package/contracts/workers/executor-fee-lib/src/lib.rs +11 -2
  171. package/contracts/workers/executor-fee-lib/src/tests/executor_fee_lib.rs +701 -0
  172. package/contracts/workers/executor-fee-lib/src/tests/executor_option.rs +370 -0
  173. package/contracts/workers/executor-fee-lib/src/tests/mod.rs +4 -0
  174. package/contracts/workers/executor-fee-lib/src/tests/setup.rs +60 -0
  175. package/contracts/workers/executor-helper/Cargo.toml +0 -1
  176. package/contracts/workers/executor-helper/src/lib.rs +3 -0
  177. package/contracts/workers/executor-helper/src/tests/executor_helper.rs +184 -0
  178. package/contracts/workers/executor-helper/src/tests/mod.rs +2 -0
  179. package/contracts/workers/executor-helper/src/tests/setup.rs +366 -0
  180. package/contracts/workers/fee-lib-interfaces/Cargo.toml +14 -0
  181. package/contracts/workers/{worker/src/interfaces/mod.rs → fee-lib-interfaces/src/lib.rs} +4 -3
  182. package/contracts/workers/price-feed/Cargo.toml +7 -1
  183. package/contracts/workers/price-feed/src/events.rs +1 -1
  184. package/contracts/workers/price-feed/src/lib.rs +12 -4
  185. package/contracts/workers/price-feed/src/price_feed.rs +5 -21
  186. package/contracts/workers/price-feed/src/storage.rs +1 -1
  187. package/contracts/workers/price-feed/src/tests/mod.rs +2 -0
  188. package/contracts/workers/price-feed/src/tests/price_feed.rs +869 -0
  189. package/contracts/workers/price-feed/src/tests/setup.rs +70 -0
  190. package/contracts/workers/price-feed/src/types.rs +1 -1
  191. package/contracts/workers/worker/src/errors.rs +1 -4
  192. package/contracts/workers/worker/src/lib.rs +0 -2
  193. package/contracts/workers/worker/src/storage.rs +32 -29
  194. package/contracts/workers/worker/src/tests/setup.rs +2 -8
  195. package/contracts/workers/worker/src/tests/worker.rs +96 -74
  196. package/contracts/workers/worker/src/worker.rs +75 -75
  197. package/docs/error-spec.md +55 -0
  198. package/docs/layerzero-v2-on-stellar.md +447 -0
  199. package/docs/oapp-guide.md +212 -0
  200. package/docs/oft-guide.md +314 -0
  201. package/package.json +3 -3
  202. package/sdk/.turbo/turbo-test.log +268 -263
  203. package/sdk/dist/generated/bml.d.ts +12 -4
  204. package/sdk/dist/generated/bml.js +9 -7
  205. package/sdk/dist/generated/counter.d.ts +306 -298
  206. package/sdk/dist/generated/counter.js +48 -46
  207. package/sdk/dist/generated/dvn.d.ts +450 -411
  208. package/sdk/dist/generated/dvn.js +66 -64
  209. package/sdk/dist/generated/dvn_fee_lib.d.ts +294 -338
  210. package/sdk/dist/generated/dvn_fee_lib.js +33 -64
  211. package/sdk/dist/generated/endpoint.d.ts +108 -100
  212. package/sdk/dist/generated/endpoint.js +21 -19
  213. package/sdk/dist/generated/executor.d.ts +414 -370
  214. package/sdk/dist/generated/executor.js +58 -55
  215. package/sdk/dist/generated/executor_fee_lib.d.ts +333 -377
  216. package/sdk/dist/generated/executor_fee_lib.js +34 -65
  217. package/sdk/dist/generated/executor_helper.d.ts +26 -190
  218. package/sdk/dist/generated/executor_helper.js +23 -28
  219. package/sdk/dist/generated/layerzero_view.d.ts +1271 -0
  220. package/sdk/dist/generated/layerzero_view.js +294 -0
  221. package/sdk/dist/generated/oft.d.ts +408 -385
  222. package/sdk/dist/generated/oft.js +89 -92
  223. package/sdk/dist/generated/price_feed.d.ts +385 -429
  224. package/sdk/dist/generated/price_feed.js +50 -81
  225. package/sdk/dist/generated/sml.d.ts +108 -100
  226. package/sdk/dist/generated/sml.js +21 -19
  227. package/sdk/dist/generated/treasury.d.ts +108 -100
  228. package/sdk/dist/generated/treasury.js +21 -19
  229. package/sdk/dist/generated/uln302.d.ts +108 -100
  230. package/sdk/dist/generated/uln302.js +23 -21
  231. package/sdk/dist/generated/upgrader.d.ts +189 -18
  232. package/sdk/dist/generated/upgrader.js +84 -4
  233. package/sdk/dist/index.d.ts +1 -0
  234. package/sdk/dist/index.js +2 -0
  235. package/sdk/package.json +1 -1
  236. package/sdk/src/index.ts +3 -0
  237. package/sdk/test/oft-sml.test.ts +4 -4
  238. package/sdk/test/suites/localnet.ts +84 -20
  239. package/sdk/test/upgrader.test.ts +2 -3
  240. package/tools/ts-bindings-gen/src/main.rs +2 -1
  241. package/contracts/ERROR_SPEC.md +0 -44
  242. package/contracts/endpoint-v2/ARCHITECTURE.md +0 -233
  243. package/contracts/oapps/oapp/src/tests/test_oapp_core.rs +0 -175
  244. package/contracts/oapps/oapp/src/tests/test_oapp_options_type3.rs +0 -212
  245. package/contracts/oapps/oapp/src/tests/test_oapp_receiver.rs +0 -153
  246. package/contracts/oapps/oapp/src/tests/test_oapp_sender.rs +0 -294
  247. /package/contracts/workers/{worker/src/interfaces → fee-lib-interfaces/src}/dvn_fee_lib.rs +0 -0
  248. /package/contracts/workers/{worker/src/interfaces → fee-lib-interfaces/src}/executor_fee_lib.rs +0 -0
  249. /package/contracts/workers/{worker/src/interfaces → fee-lib-interfaces/src}/price_feed.rs +0 -0
@@ -4,17 +4,16 @@ import type { u32, u64, u128, i128 } from '@stellar/stellar-sdk/contract';
4
4
  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
- export type MigrationData = void;
8
7
  /**
9
8
  * Embedded WASM bytecode (base64-encoded)
10
- * Size: 27792 bytes (27.14 KB)
9
+ * Size: 23493 bytes (22.94 KB)
11
10
  */
12
- export declare const WASM_BASE64 = "AGFzbQEAAAABgQEUYAABfmABfgF+YAN+fn4BfmACfn4BfmAEfn5+fgF+YAJ/fgBgBX5/f39/AGAEfn5+fgBgAn9/AX5gA35+fgBgA35/fgBgAX8AYAJ/fwBgAX8BfmAGfn5+fn5+AX5gBn5+f39+fgBgB35+fn5+fn4BfmAAAGADf39/AGADf39/AX8CWw8BdgFfAAABaQFfAAEBbQE5AAIBaQEwAAEBYgFqAAMBYgE4AAEBaQE2AAMBZAFfAAIBbQFhAAQBdgFnAAMBbAE4AAMBbAEwAAMBbAExAAMBaQE4AAEBaQE3AAEDHh0FBgUFBQUHAQgCAwgJAgoCCwwNAgIODxARERITEwQFAXABAQEFAwEAEQYhBH8BQYCAwAALfwBBrYLAAAt/AEHYgsAAC38AQeCCwAALB4sBCgZtZW1vcnkCAAdleGVjdXRlABwQbHpfcmVjZWl2ZV9hbGVydAAeB2NvbXBvc2UAIhBsel9jb21wb3NlX2FsZXJ0ACMLbmF0aXZlX2Ryb3AAJBduYXRpdmVfZHJvcF9hbmRfZXhlY3V0ZQAmAV8DAQpfX2RhdGFfZW5kAwILX19oZWFwX2Jhc2UDAwqCLx2ZAwICfwl+I4CAgIAAQeAAayICJICAgIAAQQAhAwJAA0AgA0HAAEYNASACIANqQgI3AwAgA0EIaiEDDAALC0IAIQRCASEFAkAgAUL/AYNCzABSDQAgAUH4gMCAAEEIIAJBCBCQgICAACACKQMAIgFC/wGDQsgAUg0AIAIpAwgiBkL/AYNCzQBSDQAgAkHAAGogAikDEBCRgICAACACKAJAQQFGDQAgAikDWCEHIAIpA1AhCCACQcAAaiACKQMYEJKAgIAAIAIoAkANACACKQMgIglC/wGDQgRSDQAgAikDKCIKQv8Bg0LIAFINACACKQMwIgtC/wGDQs0AUg0AIAIpA0ghDCACQcAAaiACKQM4EJGAgIAAIAIoAkBBAUYNACACKQNQIQQgAikDWCEFIAAgBzcDKCAAIAg3AyAgACAFNwMYIAAgBDcDECAAIAlCIIinNgJYIAAgATcDUCAAIAo3A0ggACAMNwNAIAAgCzcDOCAAIAY3AzBCACEFQgAhBAsgACAFNwMAIAAgBDcDCCACQeAAaiSAgICAAAsxAAJAIAIgBEYNAAALIAAgAa1CIIZCBIQgA61CIIZCBIQgAq1CIIZCBIQQiICAgAAaC34CAX8BfgJAAkACQCABp0H/AXEiAkHFAEYNACACQQtHDQEgACABQj+HNwMYIAAgAUIIhzcDEEIAIQEMAgsgARCNgICAACEDIAEQjoCAgAAhASAAIAM3AxggACABNwMQQgAhAQwBCyAAQoOQgICAATcDCEIBIQELIAAgATcDAAtCAQF+QgEhAgJAIAFC/wGDQsgAUg0AIAEQhYCAgABCgICAgHCDQoCAgICABFINACAAIAE3AwhCACECCyAAIAI3AwAL4QMCAn8HfiOAgICAAEHwAGsiAiSAgICAAEEAIQMCQANAIANBOEYNASACIANqQgI3AwAgA0EIaiEDDAALC0IAIQRCASEFAkAgAUL/AYNCzABSDQAgAUG0gMCAAEEHIAJBBxCQgICAACACKQMAIgFC/wGDQsgAUg0AIAJB0ABqIAIpAwgQkYCAgAAgAigCUEEBRg0AIAIpA2ghBiACKQNgIQcgAkHQAGogAikDEBCSgICAACACKAJQDQAgAikDGCIIQv8Bg0LIAFINACACKQNYIQkgAkHQAGogAikDIBCUgICAACACKAJQQQFGDQAgAkE4akEQaiACQegAaikDADcDACACQcAAaiACQdAAakEQaikDADcDACACIAIpA1g3AzggAikDKCIKQv8Bg0LNAFINACACQdAAaiACKQMwEJGAgIAAIAIoAlBBAUYNACACKQNgIQQgAikDaCEFIAAgBjcDKCAAIAc3AyAgACAFNwMYIAAgBDcDECAAIAIpAzg3AzggACABNwNgIAAgCDcDWCAAIAk3A1AgACAKNwMwIABByABqIAJByABqKQMANwMAIABBwABqIAJBwABqKQMANwMAQgAhBUIAIQQLIAAgBTcDACAAIAQ3AwggAkHwAGokgICAgAAL+AECAn8CfiOAgICAAEEwayICJICAgIAAQQAhAwJAA0AgA0EYRg0BIAJBCGogA2pCAjcDACADQQhqIQMMAAsLQgEhBAJAIAFC/wGDQswAUg0AIAFB9IHAgABBAyACQQhqQQMQkICAgAACQAJAIAIpAwgiAadB/wFxIgNBwABGDQAgA0EGRw0CIAFCCIghAQwBCyABEIOAgIAAIQELIAJBIGogAikDEBCSgICAACACKAIgDQAgAikDGCIFQv8Bg0IEUg0AIAIpAyghBCAAIAE3AxAgACAENwMIIAAgBUIgiD4CGEIAIQQLIAAgBDcDACACQTBqJICAgIAAC9kBAwF/AX4BfyOAgICAAEEwayIEJICAgIAAIAEQloCAgABBjILAgABBDBCXgICAABCAgICAABCYgICAACEFIAQgAiADEJmAgIAANwMQIAQgATcDCCAEIAA3AwBBACEGA0ACQCAGQRhHDQBBACEGAkADQCAGQRhGDQEgBEEYaiAGaiAEIAZqKQMANwMAIAZBCGohBgwACwsgBUKO7uqVvrbe8wAgBEEYakEDEJqAgIAAEJuAgIAAIARBMGokgICAgAAPCyAEQRhqIAZqQgI3AwAgBkEIaiEGDAALCxoAIABCjvKzl93OztUAEICAgIAAEJiAgIAAC0UCAX8BfiOAgICAAEEQayICJICAgIAAIAIgACABEKmAgIAAAkAgAigCAEEBRw0AAAsgAikDCCEDIAJBEGokgICAgAAgAwsmAAJAIAAgASACEIeAgIAAIgJC/wGDQs0AUQ0AEKiAgIAAAAsgAgtFAAJAIABCgICAgICAgMAAfEL//////////wBWDQAgACAAhSABIABCP4eFhEIAUg0AIABCCIZCC4QPCyABIAAQhoCAgAALGgAgAK1CIIZCBIQgAa1CIIZCBIQQiYCAgAALIQACQCAAIAEgAhCHgICAAEL/AYNCAlENABCogICAAAALC3gBAX8jgICAgABB0AFrIgMkgICAgAACQCAAQv8Bg0LNAFINACADQeAAaiABEJOAgIAAIAMoAmBBAXENACADIANB8ABqQeAAEKuAgIAAIQMgAkL/AYNCzQBSDQAgACADIAIQnYCAgAAgA0HQAWokgICAgABCAg8LAAvIAgIBfwd+I4CAgIAAQeAAayIDJICAgIAAIANBMGoQn4CAgAACQCADKAIwQQFHDQAgAygCNCADKAI4EKCAgIAACwJAIAEpAwAiBCABKQMIIgWEQgBRDQAgAiAAIAQgBRCVgICAAAsgASkDICECIAEpA0AhBiABKQNIIQcgASkDUCEIQZiCwIAAQQoQl4CAgAAhCSABQShqEKGAgIAAIQogAyAEIAUQmYCAgAA3AyggAyAINwMgIAMgBzcDGCADIAY3AxAgAyAKNwMIIAMgADcDAEEAIQEDQAJAIAFBMEcNAEEAIQECQANAIAFBMEYNASADQTBqIAFqIAMgAWopAwA3AwAgAUEIaiEBDAALCyACIAkgA0EwakEGEJqAgIAAEJuAgIAAIANB4ABqJICAgIAADwsgA0EwaiABakICNwMAIAFBCGohAQwACwvKAwICfwp+I4CAgIAAQaACayIDJICAgIAAAkAgAEL/AYNCzQBSDQAgA0HgAGogARCTgICAACADKAJgQQFxDQAgAyADQfAAakHgABCrgICAACEEIAJC/wGDQsgAUg0AIARB4ABqEJ+AgIAAAkAgBCgCYEEBRw0AIAQoAmQgBCgCaBCggICAAAsgABCWgICAACEBIAQpAyAhBSAEKQNAIQYgBCkDSCEHIAQpA1AhCCAEKQMIIQkgBCkDACEKIAQpAxghCyAEKQMQIQxBuIHAgABBEBCXgICAACENIARBKGoQoYCAgAAhDiAMIAsQmYCAgAAhCyAKIAkQmYCAgAAhCSAEIAI3A5gCIAQgCDcDkAIgBCAHNwOIAiAEIAk3A4ACIAQgCzcD+AEgBCAGNwPwASAEIAU3A+gBIAQgDjcD4AEgBCAANwPYAUEAIQMDQAJAIANByABHDQBBACEDAkADQCADQcgARg0BIARB4ABqIANqIARB2AFqIANqKQMANwMAIANBCGohAwwACwsgASANIARB4ABqQQkQmoCAgAAQm4CAgAAgBEGgAmokgICAgABCAg8LIARB4ABqIANqQgI3AwAgA0EIaiEDDAALCwAL+wECAn8CfiOAgICAAEEQayIBJICAgIAAIAFB0ILAgABBCBCpgICAAAJAIAEoAgBBAUYNACABIAEpAwg3AwBBACECAkAgAUEBEJqAgIAAIgNCAhCLgICAAEIBUg0AIANCAhCMgICAACEDQQAhAgJAA0AgAkEQRg0BIAEgAmpCAjcDACACQQhqIQIMAAsLIANC/wGDQswAUg0BIANBwILAgABBAiABQQIQkICAgAAgASkDACIDQv8Bg0IEUg0BIAEpAwgiBEL/AYNCBFINASAAIANCIIinNgIIIAAgBEIgiD4CBEEBIQILIAAgAjYCACABQRBqJICAgIAADwsACxsAIACtQiCGQgSEIAGtQiCGQgSEEIqAgIAAGgucAQIBfwF+I4CAgIAAQSBrIgEkgICAgAACQAJAIAApAwgiAkL//////////wBWDQAgAkIIhkIGhCECDAELIAIQgYCAgAAhAgsgASACNwMIIAEgACkDADcDECABIAA1AhBCIIZCBIQ3AxhB9IHAgACtQiCGQgSEIAFBCGqtQiCGQgSEQoSAgIAwEIKAgIAAIQIgAUEgaiSAgICAACACC4gDAwF/B34BfyOAgICAAEGgAWsiAySAgICAAAJAIABC/wGDQs0AUg0AIAMgARCPgICAACADKAIAQQFxDQAgAkL/AYNCzQBSDQAgAykDGCEBIAMpAxAhBCADNQJYIQUgAykDUCEGIAMpA0ghByADKQNAIQggAykDOCEJIAMpAzAhCiADEJ+AgIAAAkAgAygCAEEBRw0AIAMoAgQgAygCCBCggICAAAsCQCAEIAGEUA0AIAIgACAEIAEQlYCAgAALQdiBwIAAQQoQl4CAgAAhAiADIAQgARCZgICAADcDmAEgAyAGNwOQASADIAc3A4gBIAMgBUIghkIEhDcDgAEgAyAINwN4IAMgCjcDcCADIAA3A2hBACELA0ACQCALQThHDQBBACELAkADQCALQThGDQEgAyALaiADQegAaiALaikDADcDACALQQhqIQsMAAsLIAkgAiADQQcQmoCAgAAQm4CAgAAgA0GgAWokgICAgABCAg8LIAMgC2pCAjcDACALQQhqIQsMAAsLAAuwAwMBfwt+AX8jgICAgABBsAFrIgMkgICAgAACQCAAQv8Bg0LNAFINACADIAEQj4CAgAAgAygCAEEBcQ0AIAJC/wGDQsgAUg0AIAMpAyghASADKQMgIQQgAykDGCEFIAMpAxAhBiADNQJYIQcgAykDUCEIIAMpA0ghCSADKQNAIQogAykDOCELIAMpAzAhDCADEJ+AgIAAAkAgAygCAEEBRw0AIAMoAgQgAygCCBCggICAAAsgABCWgICAACENQciBwIAAQRAQl4CAgAAhDiAEIAEQmYCAgAAhASAGIAUQmYCAgAAhBCADIAI3A6gBIAMgCDcDoAEgAyAJNwOYASADIAQ3A5ABIAMgATcDiAEgAyAHQiCGQgSENwOAASADIAo3A3ggAyALNwNwIAMgDDcDaCADIAA3A2BBACEPA0ACQCAPQdAARw0AQQAhDwJAA0AgD0HQAEYNASADIA9qIANB4ABqIA9qKQMANwMAIA9BCGohDwwACwsgDSAOIANBChCagICAABCbgICAACADQbABaiSAgICAAEICDwsgAyAPakICNwMAIA9B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AAAAAAAABWFkbWluAAAAAAAAEwAAAAAAAAAGb3JpZ2luAAAAAAfQAAAABk9yaWdpbgAAAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAAAAAAABG9hcHAAAAATAAAAAAAAAAZwYXJhbXMAAAAAA+oAAAfQAAAAEE5hdGl2ZURyb3BQYXJhbXMAAAAAAAAAAAAAADBFeGVjdXRlcyBgbmF0aXZlX2Ryb3BgIGZvbGxvd2VkIGJ5IGBsel9yZWNlaXZlYC4AAAAXbmF0aXZlX2Ryb3BfYW5kX2V4ZWN1dGUAAAAABwAAAAAAAAAIZXhlY3V0b3IAAAATAAAAAAAAAAVhZG1pbgAAAAAAABMAAAAAAAAABm9yaWdpbgAAAAAH0AAAAAZPcmlnaW4AAAAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAAAAAARvYXBwAAAAEwAAAAAAAAASbmF0aXZlX2Ryb3BfcGFyYW1zAAAAAAPqAAAH0AAAABBOYXRpdmVEcm9wUGFyYW1zAAAAAAAAAA5leGVjdXRlX3BhcmFtcwAAAAAH0AAAAA9FeGVjdXRpb25QYXJhbXMAAAAAAAAAAAQAAAAAAAAAAAAAAA1FbmRwb2ludEVycm9yAAAAAAAAGQAAAAAAAAARQWxyZWFkeVJlZ2lzdGVyZWQAAAAAAAABAAAAAAAAAA1Db21wb3NlRXhpc3RzAAAAAAAAAgAAAAAAAAAPQ29tcG9zZU5vdEZvdW5kAAAAAAMAAAAAAAAAHERlZmF1bHRSZWNlaXZlTGliVW5hdmFpbGFibGUAAAAEAAAAAAAAABlEZWZhdWx0U2VuZExpYlVuYXZhaWxhYmxlAAAAAAAABQAAAAAAAAAVSW5zdWZmaWNpZW50TmF0aXZlRmVlAAAAAAAABgAAAAAAAAASSW5zdWZmaWNpZW50WnJvRmVlAAAAAAAHAAAAAAAAABBJbnZhbGlkRmVlQW1vdW50AAAACAAAAAAAAAANSW52YWxpZEV4cGlyeQAAAAAAAAkAAAAAAAAADEludmFsaWRJbmRleAAAAAoAAAAAAAAADEludmFsaWROb25jZQAAAAsAAAAAAAAAEkludmFsaWRQYXlsb2FkSGFzaAAAAAAADAAAAAAAAAAVSW52YWxpZFJlY2VpdmVMaWJyYXJ5AAAAAAAADQAAAAAAAAART25seU5vbkRl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cHRpb25zAAAAAA4AAAA5V2hldGhlciB0byBwYXkgZmVlcyBpbiBaUk8gdG9rZW4gaW5zdGVhZCBvZiBuYXRpdmUgdG9rZW4uAAAAAAAACnBheV9pbl96cm8AAAAAAAEAAAA1UmVjZWl2ZXIgYWRkcmVzcyBvbiB0aGUgZGVzdGluYXRpb24gY2hhaW4gKDMyIGJ5dGVzKS4AAAAAAAAIcmVjZWl2ZXIAAAPuAAAAIAAAAAEAAABNU291cmNlIG1lc3NhZ2UgaW5mb3JtYXRpb24gaWRlbnRpZnlpbmcgd2hlcmUgYSBjcm9zcy1jaGFpbiBtZXNzYWdlIGNhbWUgZnJvbS4AAAAAAAAAAAAABk9yaWdpbgAAAAAAAwAAABdOb25jZSBmb3IgdGhpcyBwYXRod2F5LgAAAAAFbm9uY2UAAAAAAAAGAAAALlNlbmRlciBhZGRyZXNzIG9uIHRoZSBzb3VyY2UgY2hhaW4gKDMyIGJ5dGVzKS4AAAAAAAZzZW5kZXIAAAAAA+4AAAAgAAAAJlNvdXJjZSBlbmRwb2ludCBJRCAoY2hhaW4gaWRlbnRpZmllcikuAAAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAAChGZWUgc3RydWN0dXJlIGZvciBjcm9zcy1jaGFpbiBtZXNzYWdpbmcuAAAAAAAAAAxNZXNzYWdpbmdGZWUAAAACAAAAH0ZlZSBwYWlkIGluIG5hdGl2ZSB0b2tlbiAoWExNKS4AAAAACm5hdGl2ZV9mZWUAAAAAAAsAAAAoRmVlIHBhaWQgaW4gWlJPIHRva2VuIChMYXllclplcm8gdG9rZW4pLgAAAAd6cm9fZmVlAAAAAAsAAAABAAAAQlJlY2VpcHQgcmV0dXJuZWQgYWZ0ZXIgc3VjY2Vzc2Z1bGx5IHNlbmRpbmcgYSBjcm9zcy1jaGFpbiBtZXNzYWdlLgAAAAAAAAAAABBNZXNzYWdpbmdSZWNlaXB0AAAAAwAAAClUaGUgZmVlcyBjaGFyZ2VkIGZvciBzZW5kaW5nIHRoZSBtZXNzYWdlLgAAAAAAAANmZWUAAAAH0AAAAAxNZXNzYWdpbmdGZWUAAAArR2xvYmFsbHkgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBtZXNzYWdlLgAAAAAEZ3VpZAAAA+4AAAAgAAAAJFRoZSBvdXRib3VuZCBub25jZSBmb3IgdGhpcyBwYXRod2F5LgAAAAVub25jZQAAAAAAAAYAAAACAAAAOFR5cGUgb2YgbWVzc2FnZSBsaWJyYXJ5IGluZGljYXRpbmcgc3VwcG9ydGVkIG9wZXJhdGlvbnMuAAAAAAAAAA5NZXNzYWdlTGliVHlwZQAAAAAAAwAAAAAAAAAfU3VwcG9ydHMgb25seSBzZW5kaW5nIG1lc3NhZ2VzLgAAAAAEU2VuZAAAAAAAAAAhU3VwcG9ydHMgb25seSByZWNlaXZpbmcgbWVzc2FnZXMuAAAAAAAAB1JlY2VpdmUAAAAAAAAAAC1TdXBwb3J0cyBib3RoIHNlbmRpbmcgYW5kIHJlY2VpdmluZyBtZXNzYWdlcy4AAAAAAAAOU2VuZEFuZFJlY2VpdmUAAAAAAAEAAAC3VmVyc2lvbiBpbmZvcm1hdGlvbiBmb3IgYSBtZXNzYWdlIGxpYnJhcnkuCgpOb3RlOiBgbWlub3JgIGFuZCBgZW5kcG9pbnRfdmVyc2lvbmAgdXNlIGB1MzJgIGluc3RlYWQgb2YgYHU4YCBiZWNhdXNlIFN0ZWxsYXIgZG9lcyBub3QKc3VwcG9ydCBgdThgIHR5cGVzIGluIGNvbnRyYWN0IGludGVyZmFjZSBmdW5jdGlvbnMuAAAAAAAAAAARTWVzc2FnZUxpYlZlcnNpb24AAAAAAAADAAAAM0VuZHBvaW50IHZlcnNpb24gKHNob3VsZCBub3QgZXhjZWVkIHU4OjpNQVggPSAyNTUpLgAAAAAQZW5kcG9pbnRfdmVyc2lvbgAAAAQAAAAVTWFqb3IgdmVyc2lvbiBudW1iZXIuAAAAAAAABW1ham9yAAAAAAAABgAAADdNaW5vciB2ZXJzaW9uIG51bWJlciAoc2hvdWxkIG5vdCBleGNlZWQgdTg6Ok1BWCA9IDI1NSkuAAAAAAVtaW5vcgAAAAAAAAQAAAABAAAANlRpbWVvdXQgY29uZmlndXJhdGlvbiBmb3IgcmVjZWl2ZSBsaWJyYXJ5IHRyYW5zaXRpb25zLgAAAAAAAAAAAAdUaW1lb3V0AAAAAAIAAAAoVW5peCB0aW1lc3RhbXAgd2hlbiB0aGUgdGltZW91dCBleHBpcmVzLgAAAAZleHBpcnkAAAAAAAYAAAApVGhlIG5ldyBsaWJyYXJ5IGFkZHJlc3MgdG8gdHJhbnNpdGlvbiB0by4AAAAAAAADbGliAAAAABMAAAABAAAANVBhcmFtZXRlcnMgZm9yIHNldHRpbmcgbWVzc2FnZSBsaWJyYXJ5IGNvbmZpZ3VyYXRpb24uAAAAAAAAAAAAAA5TZXRDb25maWdQYXJhbQAAAAAAAwAAAB9YRFItZW5jb2RlZCBjb25maWd1cmF0aW9uIGRhdGEuAAAAAAZjb25maWcAAAAAAA4AAAAwVGhlIHR5cGUgb2YgY29uZmlndXJhdGlvbiAoZS5nLiwgZXhlY3V0b3IsIFVMTikuAAAAC2NvbmZpZ190eXBlAAAAAAQAAAAnVGhlIGVuZHBvaW50IElEIHRoaXMgY29uZmlnIGFwcGxpZXMgdG8uAAAAAANlaWQAAAAABAAAAAEAAAAxUmVzb2x2ZWQgbGlicmFyeSBpbmZvcm1hdGlvbiB3aXRoIGRlZmF1bHQgc3RhdHVzLgAAAAAAAAAAAAAPUmVzb2x2ZWRMaWJyYXJ5AAAAAAIAAABEV2hldGhlciB0aGlzIGlzIHRoZSBkZWZhdWx0IGxpYnJhcnkgKHRydWUpIG9yIE9BcHAtc3BlY2lmaWMgKGZhbHNlKS4AAAAKaXNfZGVmYXVsdAAAAAAAAQAAAB1UaGUgcmVzb2x2ZWQgbGlicmFyeSBhZGRyZXNzLgAAAAAAAANsaWIAAAAAEwAAAAEAAABIT3V0Ym91bmQgcGFja2V0IGNvbnRhaW5pbmcgYWxsIGluZm9ybWF0aW9uIGZvciBjcm9zcy1jaGFpbiB0cmFuc21pc3Npb24uAAAAAAAAAA5PdXRib3VuZFBhY2tldAAAAAAABwAAABhEZXN0aW5hdGlvbiBlbmRwb2ludCBJRC4AAAAHZHN0X2VpZAAAAAAEAAAALEdsb2JhbGx5IHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIG1lc3NhZ2UuAAAABGd1aWQAAAPuAAAAIAAAABRUaGUgbWVzc2FnZSBwYXlsb2FkLgAAAAdtZXNzYWdlAAAAAA4AAAAgT3V0Ym91bmQgbm9uY2UgZm9yIHRoaXMgcGF0aHdheS4AAAAFbm9uY2UAAAAAAAAGAAAAMVJlY2VpdmVyIGFkZHJlc3Mgb24gZGVzdGluYXRpb24gY2hhaW4gKDMyIGJ5dGVzKS4AAAAAAAAIcmVjZWl2ZXIAAAPuAAAAIAAAAB9TZW5kZXIgYWRkcmVzcyBvbiBzb3VyY2UgY2hhaW4uAAAAAAZzZW5kZXIAAAAAABMAAAATU291cmNlIGVuZHBvaW50IElELgAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAACtBIGZlZSByZWNpcGllbnQgd2l0aCB0aGUgYW1vdW50IHRvIGJlIHBhaWQuAAAAAAAAAAAMRmVlUmVjaXBpZW50AAAAAgAAABVBbW91bnQgb2YgZmVlIHRvIHBheS4AAAAAAAAGYW1vdW50AAAAAAALAAAAH1RoZSBhZGRyZXNzIHRvIHNlbmQgdGhlIGZlZSB0by4AAAAAAnRvAAAAAAATAAAAAQAAADxSZXN1bHQgb2Ygc2VuZCBvcGVyYXRpb24gY29udGFpbmluZyBmZWVzIGFuZCBlbmNvZGVkIHBhY2tldC4AAAAAAAAADUZlZXNBbmRQYWNrZXQAAAAAAAADAAAAKlRoZSBlbmNvZGVkIHBhY2tldCByZWFkeSBmb3IgdHJhbnNtaXNzaW9uLgAAAAAADmVuY29kZWRfcGFja2V0AAAAAAAOAAAAP0xpc3Qgb2YgbmF0aXZlIHRva2VuIGZlZSByZWNpcGllbnRzIChleGVjdXRvciwgRFZOcywgdHJlYXN1cnkpLgAAAAAVbmF0aXZlX2ZlZV9yZWNpcGllbnRzAAAAAAAD6gAAB9AAAAAMRmVlUmVjaXBpZW50AAAALExpc3Qgb2YgWlJPIHRva2VuIGZlZSByZWNpcGllbnRzICh0cmVhc3VyeSkuAAAAEnpyb19mZWVfcmVjaXBpZW50cwAAAAAD6gAAB9AAAAAMRmVlUmVjaXBpZW50AAAABAAAAAAAAAAAAAAADUV4ZWN1dG9yRXJyb3IAAAAAAAADAAAAAAAAAA9FaWROb3RTdXBwb3J0ZWQAAAAAAQAAAAAAAAAMVW5hdXRob3JpemVkAAAAAgAAAAAAAAATVW5hdXRob3JpemVkQ29udGV4dAAAAAADAAAABQAAAAAAAAAAAAAADERzdENvbmZpZ1NldAAAAAEAAAAOZHN0X2NvbmZpZ19zZXQAAAAAAAEAAAAAAAAABnBhcmFtcwAAAAAD6gAAB9AAAAARU2V0RHN0Q29uZmlnUGFyYW0AAAAAAAAAAAAAAgAAAAUAAAAAAAAAAAAAABFOYXRpdmVEcm9wQXBwbGllZAAAAAAAAAEAAAATbmF0aXZlX2Ryb3BfYXBwbGllZAAAAAAFAAAAAAAAAAZvcmlnaW4AAAAAB9AAAAAGT3JpZ2luAAAAAAAAAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAAAAAAAAAAAAARvYXBwAAAAEwAAAAAAAAAAAAAAEm5hdGl2ZV9kcm9wX3BhcmFtcwAAAAAD6gAAB9AAAAAQTmF0aXZlRHJvcFBhcmFtcwAAAAAAAAAAAAAAB3N1Y2Nlc3MAAAAD6gAAAAEAAAAAAAAAAgAAAAEAAADbRGVzdGluYXRpb24gY2hhaW4gY29uZmlndXJhdGlvbiBmb3IgZXhlY3V0b3IgZmVlIGNhbGN1bGF0aW9uLgoKQ29udGFpbnMgZ2FzIGNvc3RzIGFuZCBmZWUgcGFyYW1ldGVycyBzcGVjaWZpYyB0byBlYWNoIGRlc3RpbmF0aW9uIGNoYWluLgpUaGVzZSBwYXJhbWV0ZXJzIGFyZSB1c2VkIGJ5IHRoZSBmZWUgbGlicmFyeSB0byBjYWxjdWxhdGUgYWNjdXJhdGUgZXhlY3V0aW9uIGZlZXMuAAAAAAAAAAAJRHN0Q29uZmlnAAAAAAAABQAAADtNaW5pbXVtIGZlZSBtYXJnaW4gaW4gVVNEIChzY2FsZWQpIHRvIGVuc3VyZSBwcm9maXRhYmlsaXR5LgAAAAAQZmxvb3JfbWFyZ2luX3VzZAAAAAoAAAA6QmFzZSBnYXMgY29zdCBwZXIgbHpDb21wb3NlIGNhbGwgb24gdGhlIGRlc3RpbmF0aW9uIGNoYWluLgAAAAAAE2x6X2NvbXBvc2VfYmFzZV9nYXMAAAAABgAAAD9CYXNlIGdhcyBjb3N0IGZvciBselJlY2VpdmUgZXhlY3V0aW9uIG9uIHRoZSBkZXN0aW5hdGlvbiBjaGFpbi4AAAAAE2x6X3JlY2VpdmVfYmFzZV9nYXMAAAAABgAAAFFGZWUgbXVsdGlwbGllciBpbiBiYXNpcyBwb2ludHMgZm9yIHRoaXMgZGVzdGluYXRpb24gKDAgPSB1c2UgZGVmYXVsdCBtdWx0aXBsaWVyKS4AAAAAAAAObXVsdGlwbGllcl9icHMAAAAAAAQAAABGTWF4aW11bSBuYXRpdmUgdG9rZW4gdmFsdWUgdGhhdCBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gdGhlIGRlc3RpbmF0aW9uLgAAAAAACm5hdGl2ZV9jYXAAAAAAAAoAAAABAAAAfFBhcmFtZXRlcnMgZm9yIHNldHRpbmcgZGVzdGluYXRpb24gY29uZmlndXJhdGlvbi4KClVzZWQgd2hlbiBjb25maWd1cmluZyBleGVjdXRvciBzZXR0aW5ncyBmb3IgYSBzcGVjaWZpYyBkZXN0aW5hdGlvbiBjaGFpbi4AAAAAAAAAEVNldERzdENvbmZpZ1BhcmFtAAAAAAAAAgAAAChDb25maWd1cmF0aW9uIGZvciB0aGUgZGVzdGluYXRpb24gY2hhaW4uAAAACmRzdF9jb25maWcAAAAAB9AAAAAJRHN0Q29uZmlnAAAAAAAAK0Rlc3RpbmF0aW9uIGVuZHBvaW50IElEIChjaGFpbiBpZGVudGlmaWVyKS4AAAAAB2RzdF9laWQAAAAABAAAAAEAAABoUGFyYW1ldGVycyBmb3IgYSBuYXRpdmUgdG9rZW4gZHJvcC4KClVzZWQgdG8gc3BlY2lmeSBuYXRpdmUgdG9rZW4gdHJhbnNmZXJzIGFzIHBhcnQgb2YgZXhlY3V0b3Igb3B0aW9ucy4AAAAAAAAAEE5hdGl2ZURyb3BQYXJhbXMAAAACAAAAJEFtb3VudCBvZiBuYXRpdmUgdG9rZW5zIHRvIHRyYW5zZmVyLgAAAAZhbW91bnQAAAAAAAsAAAAvUmVjZWl2ZXIgYWRkcmVzcyBmb3IgdGhlIG5hdGl2ZSB0b2tlbiB0cmFuc2Zlci4AAAAACHJlY2VpdmVyAAAAEwAAAAQAAAAdUGFja2V0Q29kZWNWMUVycm9yOiAxMTAwLTExMDkAAAAAAAAAAAAAElBhY2tldENvZGVjVjFFcnJvcgAAAAAAAgAAAAAAAAATSW52YWxpZFBhY2tldEhlYWRlcgAAAARMAAAAAAAAABRJbnZhbGlkUGFja2V0VmVyc2lvbgAABE0AAAAEAAAAHVdvcmtlck9wdGlvbnNFcnJvcjogMTExMC0xMTE5AAAAAAAAAAAAABJXb3JrZXJPcHRpb25zRXJyb3IAAAAAAAkAAAAAAAAAEkludmFsaWRCeXRlc0xlbmd0aAAAAAAEVgAAAAAAAAAZSW52YWxpZExlZ2FjeU9wdGlvbnNUeXBlMQAAAAAABFcAAAAAAAAAGUludmFsaWRMZWdhY3lPcHRpb25zVHlwZTIAAAAAAARYAAAAAAAAABFJbnZhbGlkT3B0aW9uVHlwZQAAAAAABFkAAAAAAAAADkludmFsaWRPcHRpb25zAAAAAARaAAAAAAAAAA9JbnZhbGlkV29ya2VySWQAAAAEWwAAAAAAAAAdTGVnYWN5T3B0aW9uc1R5cGUxR2FzT3ZlcmZsb3cAAAAAAARcAAAAAAAAACBMZWdhY3lPcHRpb25zVHlwZTJBbW91bnRPdmVyZmxvdwAABF0AAAAAAAAAHUxlZ2FjeU9wdGlvbnNUeXBlMkdhc092ZXJmbG93AAAAAAAEXgAAAAQAAAAcQnVmZmVyUmVhZGVyRXJyb3I6IDEwMDAtMTAwOQAAAAAAAAARQnVmZmVyUmVhZGVyRXJyb3IAAAAAAAACAAAAAAAAAA1JbnZhbGlkTGVuZ3RoAAAAAAAD6AAAAAAAAAAVSW52YWxpZEFkZHJlc3NQYXlsb2FkAAAAAAAD6QAAAAQAAAAcQnVmZmVyV3JpdGVyRXJyb3I6IDEwMTAtMTAxOQAAAAAAAAARQnVmZmVyV3JpdGVyRXJyb3IAAAAAAAABAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPyAAAABAAAAB9UdGxDb25maWd1cmFibGVFcnJvcjogMTAyMC0xMDI5AAAAAAAAAAAUVHRsQ29uZmlndXJhYmxlRXJyb3IAAAADAAAAAAAAABBJbnZhbGlkVHRsQ29uZmlnAAAD/AAAAAAAAAAPVHRsQ29uZmlnRnJvemVuAAAAA/0AAAAAAAAAFlR0bENvbmZpZ0FscmVhZHlGcm96ZW4AAAAAA/4AAAAEAAAAF093bmFibGVFcnJvcjogMTAzMC0xMDM5AAAAAAAAAAAMT3duYWJsZUVycm9yAAAABgAAAAAAAAATSW52YWxpZFBlbmRpbmdPd25lcgAAAAQGAAAAAAAAAApJbnZhbGlkVHRsAAAAAAQHAAAAAAAAABFOb1BlbmRpbmdUcmFuc2ZlcgAAAAAABAgAAAAAAAAAD093bmVyQWxyZWFkeVNldAAAAAQJAAAAAAAAAAtPd25lck5vdFNldAAAAAQKAAAAAAAAABJUcmFuc2ZlckluUHJvZ3Jlc3MAAAAABAsAAAAEAAAAGEJ5dGVzRXh0RXJyb3I6IDEwNDAtMTA0OQAAAAAAAAANQnl0ZXNFeHRFcnJvcgAAAAAAAAEAAAAAAAAADkxlbmd0aE1pc21hdGNoAAAAAAQQAAAABAAAABtVcGdyYWRlYWJsZUVycm9yOiAxMDUwLTEwNTkAAAAAAAAAABBVcGdyYWRlYWJsZUVycm9yAAAAAQAAAAAAAAATTWlncmF0aW9uTm90QWxsb3dlZAAAAAQaAAAABAAAABhNdWx0aXNpZ0Vycm9yOiAxMDYwLTEwNjkAAAAAAAAADU11bHRpc2lnRXJyb3IAAAAAAAAIAAAAAAAAABJBbHJlYWR5SW5pdGlhbGl6ZWQAAAAABCQAAAAAAAAADUludmFsaWRTaWduZXIAAAAAAAQlAAAAAAAAAA5TaWduYXR1cmVFcnJvcgAAAAAEJgAAAAAAAAATU2lnbmVyQWxyZWFkeUV4aXN0cwAAAAQnAAAAAAAAAA5TaWduZXJOb3RGb3VuZAAAAAAEKAAAAAAAAAAdVG90YWxTaWduZXJzTGVzc1RoYW5UaHJlc2hvbGQAAAAAAAQpAAAAAAAAAA9VbnNvcnRlZFNpZ25lcnMAAAAEKgAAAAAAAAANWmVyb1RocmVzaG9sZAAAAAAABCsAAAAFAAAAMEV2ZW50IGVtaXR0ZWQgd2hlbiBhIHNpZ25lciBpcyBhZGRlZCBvciByZW1vdmVkLgAAAAAAAAAJU2lnbmVyU2V0AAAAAAAAAQAAAApzaWduZXJfc2V0AAAAAAACAAAAAAAAAAZzaWduZXIAAAAAA+4AAAAUAAAAAQAAAAAAAAAGYWN0aXZlAAAAAAABAAAAAAAAAAIAAAAFAAAANkV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2lnbmF0dXJlIHRocmVzaG9sZCBpcyBjaGFuZ2VkLgAAAAAAAAAAAAxUaHJlc2hvbGRTZXQAAAABAAAADXRocmVzaG9sZF9zZXQAAAAAAAABAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAPTXVsdGlzaWdTdG9yYWdlAAAAAAIAAAAAAAAAAAAAAAdTaWduZXJzAAAAAAAAAAAAAAAACVRocmVzaG9sZAAAAAAAAAUAAABXRXZlbnQgZW1pdHRlZCB3aGVuIG93bmVyc2hpcCBpcyB0cmFuc2ZlcnJlZCAoYm90aCBzaW5nbGUtc3RlcCBhbmQgdHdvLXN0ZXAgY29tcGxldGlvbikuAAAAAAAAAAAUT3duZXJzaGlwVHJhbnNmZXJyZWQAAAABAAAAFW93bmVyc2hpcF90cmFuc2ZlcnJlZAAAAAAAAAIAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAIAAAAFAAAAO0V2ZW50IGVtaXR0ZWQgd2hlbiBhIDItc3RlcCBvd25lcnNoaXAgdHJhbnNmZXIgaXMgcHJvcG9zZWQuAAAAAAAAAAAVT3duZXJzaGlwVHJhbnNmZXJyaW5nAAAAAAAAAQAAABZvd25lcnNoaXBfdHJhbnNmZXJyaW5nAAAAAAADAAAAAAAAAAlvbGRfb3duZXIAAAAAAAATAAAAAAAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAAAAAAAA3R0bAAAAAAEAAAAAAAAAAIAAAAFAAAAKkV2ZW50IGVtaXR0ZWQgd2hlbiBvd25lcnNoaXAgaXMgcmVub3VuY2VkLgAAAAAAAAAAABJPd25lcnNoaXBSZW5vdW5jZWQAAAAAAAEAAAATb3duZXJzaGlwX3Jlbm91bmNlZAAAAAABAAAAAAAAAAlvbGRfb3duZXIAAAAAAAATAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAOT3duYWJsZVN0b3JhZ2UAAAAAAAIAAAAAAAAAAAAAAAVPd25lcgAAAAAAAAAAAAAAAAAADFBlbmRpbmdPd25lcgAAAAEAAABJVFRMIGNvbmZpZ3VyYXRpb246IHRocmVzaG9sZCAod2hlbiB0byBleHRlbmQpIGFuZCBleHRlbmRfdG8gKHRhcmdldCBUVEwpLgAAAAAAAAAAAAAJVHRsQ29uZmlnAAAAAAAAAgAAAChUYXJnZXQgVFRMIGFmdGVyIGV4dGVuc2lvbiAoaW4gbGVkZ2VycykuAAAACWV4dGVuZF90bwAAAAAAAAQAAAAzVFRMIHRocmVzaG9sZCB0aGF0IHRyaWdnZXJzIGV4dGVuc2lvbiAoaW4gbGVkZ2VycykuAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAABQAAACdFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIHNldC4AAAAAAAAAAA1UdGxDb25maWdzU2V0AAAAAAAAAQAAAA90dGxfY29uZmlnc19zZXQAAAAAAgAAAAAAAAAIaW5zdGFuY2UAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAAAAAApwZXJzaXN0ZW50AAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAgAAAAUAAAAqRXZlbnQgZW1pdHRlZCB3aGVuIFRUTCBjb25maWdzIGFyZSBmcm96ZW4uAAAAAAAAAAAAEFR0bENvbmZpZ3NGcm96ZW4AAAABAAAAEnR0bF9jb25maWdzX2Zyb3plbgAAAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAQVHRsQ29uZmlnU3RvcmFnZQAAAAMAAAAAAAAAAAAAAAZGcm96ZW4AAAAAAAAAAAAAAAAACEluc3RhbmNlAAAAAAAAAAAAAAAKUGVyc2lzdGVudAAAAAAAAgAAAAAAAAAAAAAAElVwZ3JhZGVhYmxlU3RvcmFnZQAAAAAAAQAAAAAAAAAAAAAACU1pZ3JhdGluZwAAAAAAAAQAAAAWV29ya2VyRXJyb3I6IDEyMDAtMTI5OQAAAAAAAAAAAAtXb3JrZXJFcnJvcgAAAAATAAAAAAAAABJBZG1pbkFscmVhZHlFeGlzdHMAAAAABLAAAAAAAAAADUFkbWluTm90Rm91bmQAAAAAAASxAAAAAAAAABJBbHJlYWR5T25BbGxvd2xpc3QAAAAABLIAAAAAAAAAEUFscmVhZHlPbkRlbnlsaXN0AAAAAAAEswAAAAAAAAAbQXR0ZW1wdGluZ1RvUmVtb3ZlT25seUFkbWluAAAABLQAAAAAAAAAFERlcG9zaXRBZGRyZXNzTm90U2V0AAAEtQAAAAAAAAAaTWVzc2FnZUxpYkFscmVhZHlTdXBwb3J0ZWQAAAAABLYAAAAAAAAAFk1lc3NhZ2VMaWJOb3RTdXBwb3J0ZWQAAAAABLcAAAAAAAAAEE5vQWRtaW5zUHJvdmlkZWQAAAS4AAAAAAAAAApOb3RBbGxvd2VkAAAAAAS5AAAAAAAAAA5Ob3RPbkFsbG93bGlzdAAAAAAEugAAAAAAAAANTm90T25EZW55bGlzdAAAAAAABLsAAAAAAAAAFFBhdXNlU3RhdHVzVW5jaGFuZ2VkAAAEvAAAAAAAAAAPUHJpY2VGZWVkTm90U2V0AAAABL0AAAAAAAAADFJlSW5pdGlhbGl6ZQAABL4AAAAAAAAADFVuYXV0aG9yaXplZAAABL8AAAAAAAAAFVVuc3VwcG9ydGVkTWVzc2FnZUxpYgAAAAAABMAAAAAAAAAAEldvcmtlckZlZUxpYk5vdFNldAAAAAAEwQAAAAAAAAAOV29ya2VySXNQYXVzZWQAAAAABMIAAAAFAAAAAAAAAAAAAAAIU2V0QWRtaW4AAAABAAAACXNldF9hZG1pbgAAAAAAAAIAAAAAAAAABWFkbWluAAAAAAAAEwAAAAAAAAAAAAAABmFjdGl2ZQAAAAAAAQAAAAAAAAACAAAABQAAAAAAAAAAAAAAFlNldFN1cHBvcnRlZE1lc3NhZ2VMaWIAAAAAAAEAAAAZc2V0X3N1cHBvcnRlZF9tZXNzYWdlX2xpYgAAAAAAAAIAAAAAAAAAC21lc3NhZ2VfbGliAAAAABMAAAAAAAAAAAAAAAlzdXBwb3J0ZWQAAAAAAAABAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAMU2V0QWxsb3dsaXN0AAAAAQAAAA1zZXRfYWxsb3dsaXN0AAAAAAAAAgAAAAAAAAAEb2FwcAAAABMAAAAAAAAAAAAAAAdhbGxvd2VkAAAAAAEAAAAAAAAAAgAAAAUAAAAAAAAAAAAAAAtTZXREZW55bGlzdAAAAAABAAAADHNldF9kZW55bGlzdAAAAAIAAAAAAAAABG9hcHAAAAATAAAAAAAAAAAAAAAGZGVuaWVkAAAAAAABAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAGUGF1c2VkAAAAAAABAAAABnBhdXNlZAAAAAAAAQAAAAAAAAAGcGF1c2VyAAAAAAATAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAIVW5wYXVzZWQAAAABAAAACHVucGF1c2VkAAAAAQAAAAAAAAAIdW5wYXVzZXIAAAATAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAXU2V0RGVmYXVsdE11bHRpcGxpZXJCcHMAAAAAAQAAABpzZXRfZGVmYXVsdF9tdWx0aXBsaWVyX2JwcwAAAAAAAQAAAAAAAAAObXVsdGlwbGllcl9icHMAAAAAAAQAAAAAAAAAAgAAAAUAAAAAAAAAAAAAABFTZXREZXBvc2l0QWRkcmVzcwAAAAAAAAEAAAATc2V0X2RlcG9zaXRfYWRkcmVzcwAAAAABAAAAAAAAAA9kZXBvc2l0X2FkZHJlc3MAAAAAEwAAAAAAAAACAAAABQAAAAAAAAAAAAAADFNldFByaWNlRmVlZAAAAAEAAAAOc2V0X3ByaWNlX2ZlZWQAAAAAAAEAAAAAAAAACnByaWNlX2ZlZWQAAAAAABMAAAAAAAAAAgAAAAUAAAAAAAAAAAAAABdTZXRTdXBwb3J0ZWRPcHRpb25UeXBlcwAAAAABAAAAGnNldF9zdXBwb3J0ZWRfb3B0aW9uX3R5cGVzAAAAAAACAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAAAAAAAAAAAAAxvcHRpb25fdHlwZXMAAAAOAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAPU2V0V29ya2VyRmVlTGliAAAAAAEAAAASc2V0X3dvcmtlcl9mZWVfbGliAAAAAAABAAAAAAAAAAdmZWVfbGliAAAAABMAAAAAAAAAAgAAAAEAAADhUGFyYW1ldGVycyBmb3IgRFZOIGZlZSBjYWxjdWxhdGlvbi4KCkNvbnRhaW5zIGFsbCBpbnB1dHMgbmVlZGVkIGJ5IHRoZSBmZWUgbGlicmFyeSB0byBjYWxjdWxhdGUgdmVyaWZpY2F0aW9uIGZlZXMKZm9yIGNyb3NzLWNoYWluIG1lc3NhZ2VzLiBJbmNsdWRlcyBtZXNzYWdlIHBhcmFtZXRlcnMsIGNvbW1vbiBjb25maWd1cmF0aW9uLAphbmQgZGVzdGluYXRpb24tc3BlY2lmaWMgc2V0dGluZ3MuAAAAAAAAAAAAAAxEdm5GZWVQYXJhbXMAAAAKAAAAJ051bWJlciBvZiBibG9jayBjb25maXJtYXRpb25zIHJlcXVpcmVkLgAAAAANY29uZmlybWF0aW9ucwAAAAAAAAYAAABMRGVmYXVsdCBmZWUgbXVsdGlwbGllciBpbiBiYXNpcyBwb2ludHMgKHVzZWQgaWYgbm8gZHN0LXNwZWNpZmljIG11bHRpcGxpZXIpLgAAABZkZWZhdWx0X211bHRpcGxpZXJfYnBzAAAAAAAEAAAAK0Rlc3RpbmF0aW9uIGVuZHBvaW50IElEIChjaGFpbiBpZGVudGlmaWVyKS4AAAAAB2RzdF9laWQAAAAABAAAACNNaW5pbXVtIGZlZSBtYXJnaW4gaW4gVVNEIChzY2FsZWQpLgAAAAAQZmxvb3JfbWFyZ2luX3VzZAAAAAoAAAEQPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KRGVzdGluYXRpb24tU3BlY2lmaWMgQ29uZmlndXJhdGlvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpHYXMgZXN0aW1hdGUgZm9yIHZlcmlmaWNhdGlvbiBvbiBkZXN0aW5hdGlvbiBjaGFpbi4AAAADZ2FzAAAAAAoAAABGRGVzdGluYXRpb24tc3BlY2lmaWMgZmVlIG11bHRpcGxpZXIgaW4gYmFzaXMgcG9pbnRzICgwID0gdXNlIGRlZmF1bHQpLgAAAAAADm11bHRpcGxpZXJfYnBzAAAAAAAEAAAAC0RWTiBvcHRpb25zAAAAAAdvcHRpb25zAAAAAA4AAAEQPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ29tbW9uIENvbmZpZ3VyYXRpb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUHJpY2UgZmVlZCBjb250cmFjdCBhZGRyZXNzIGZvciBnYXMgcHJpY2UgYW5kIGV4Y2hhbmdlIHJhdGUgZGF0YS4AAAAKcHJpY2VfZmVlZAAAAAAAEwAAACdOdW1iZXIgb2YgcmVxdWlyZWQgc2lnbmF0dXJlcyAocXVvcnVtKS4AAAAABnF1b3J1bQAAAAAABAAAAOU9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNZXNzYWdlIFBhcmFtZXRlcnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KVGhlIE9BcHAgc2VuZGVyIGFkZHJlc3MuAAAAAAAABnNlbmRlcgAAAAAAEwAAAAEAAADjUGFyYW1ldGVycyBmb3IgZXhlY3V0b3IgZmVlIGNhbGN1bGF0aW9uLgoKQ29udGFpbnMgYWxsIGlucHV0cyBuZWVkZWQgYnkgdGhlIGZlZSBsaWJyYXJ5IHRvIGNhbGN1bGF0ZSBleGVjdXRpb24gZmVlcwpmb3IgY3Jvc3MtY2hhaW4gbWVzc2FnZXMuIEluY2x1ZGVzIG1lc3NhZ2UgcGFyYW1ldGVycywgY29tbW9uIGNvbmZpZ3VyYXRpb24sCmFuZCBkZXN0aW5hdGlvbi1zcGVjaWZpYyBzZXR0aW5ncy4AAAAAAAAAAAlGZWVQYXJhbXMAAAAAAAALAAAAJlNpemUgb2YgdGhlIG1lc3NhZ2UgY2FsbGRhdGEgaW4gYnl0ZXMuAAAAAAANY2FsbGRhdGFfc2l6ZQAAAAAAAAQAAABMRGVmYXVsdCBmZWUgbXVsdGlwbGllciBpbiBiYXNpcyBwb2ludHMgKHVzZWQgaWYgbm8gZHN0LXNwZWNpZmljIG11bHRpcGxpZXIpLgAAABZkZWZhdWx0X211bHRpcGxpZXJfYnBzAAAAAAAEAAAAK0Rlc3RpbmF0aW9uIGVuZHBvaW50IElEIChjaGFpbiBpZGVudGlmaWVyKS4AAAAAB2RzdF9laWQAAAAABAAAACNNaW5pbXVtIGZlZSBtYXJnaW4gaW4gVVNEIChzY2FsZWQpLgAAAAAQZmxvb3JfbWFyZ2luX3VzZAAAAAoAAAA2QmFzZSBnYXMgZm9yIGVhY2ggbHpDb21wb3NlIGNhbGwgb24gZGVzdGluYXRpb24gY2hhaW4uAAAAAAATbHpfY29tcG9zZV9iYXNlX2dhcwAAAAAGAAABEz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkRlc3RpbmF0aW9uLVNwZWNpZmljIENvbmZpZ3VyYXRpb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQmFzZSBnYXMgZm9yIGx6UmVjZWl2ZSBleGVjdXRpb24gb24gZGVzdGluYXRpb24gY2hhaW4uAAAAABNsel9yZWNlaXZlX2Jhc2VfZ2FzAAAAAAYAAABGRGVzdGluYXRpb24tc3BlY2lmaWMgZmVlIG11bHRpcGxpZXIgaW4gYmFzaXMgcG9pbnRzICgwID0gdXNlIGRlZmF1bHQpLgAAAAAADm11bHRpcGxpZXJfYnBzAAAAAAAEAAAALE1heGltdW0gbmF0aXZlIHRva2VuIHZhbHVlIHRoYXQgY2FuIGJlIHNlbnQuAAAACm5hdGl2ZV9jYXAAAAAAAAoAAABGRW5jb2RlZCBleGVjdXRvciBvcHRpb25zIChselJlY2VpdmUgZ2FzLCBsekNvbXBvc2UsIG5hdGl2ZURyb3AsIGV0Yy4pLgAAAAAAB29wdGlvbnMAAAAADgAAARA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDb21tb24gQ29uZmlndXJhdGlvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpQcmljZSBmZWVkIGNvbnRyYWN0IGFkZHJlc3MgZm9yIGdhcyBwcmljZSBhbmQgZXhjaGFuZ2UgcmF0ZSBkYXRhLgAAAApwcmljZV9mZWVkAAAAAAATAAAA5T09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ck1lc3NhZ2UgUGFyYW1ldGVycwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpUaGUgT0FwcCBzZW5kZXIgYWRkcmVzcy4AAAAAAAAGc2VuZGVyAAAAAAATAAAAAQAAAIRHYXMgcHJpY2UgaW5mb3JtYXRpb24gZm9yIGEgZGVzdGluYXRpb24gZW5kcG9pbnQuCgpDb250YWlucyB0aGUgZXhjaGFuZ2UgcmF0ZSBhbmQgZ2FzIGNvc3RzIG5lZWRlZCBmb3IgY3Jvc3MtY2hhaW4gZmVlIGNhbGN1bGF0aW9ucy4AAAAAAAAABVByaWNlAAAAAAAAAwAAADdHYXMgY29zdCBwZXIgYnl0ZSBvZiBjYWxsZGF0YSBvbiB0aGUgZGVzdGluYXRpb24gY2hhaW4uAAAAAAxnYXNfcGVyX2J5dGUAAAAEAAAAQkdhcyBwcmljZSBpbiB0aGUgc21hbGxlc3QgdW5pdCAod2VpIGZvciBFVk0sIHN0cm9vcHMgZm9yIFN0ZWxsYXIpLgAAAAAAEWdhc19wcmljZV9pbl91bml0AAAAAAAABgAAAKlQcmljZSByYXRpbyA9IChyZW1vdGUgbmF0aXZlIHRva2VuIHByaWNlIC8gbG9jYWwgbmF0aXZlIHRva2VuIHByaWNlKSAqIFBSSUNFX1JBVElPX0RFTk9NSU5BVE9SLgpVc2VkIHRvIGNvbnZlcnQgZGVzdGluYXRpb24gY2hhaW4gZ2FzIGNvc3RzIHRvIHNvdXJjZSBjaGFpbiBuYXRpdmUgdG9rZW4uAAAAAAAAC3ByaWNlX3JhdGlvAAAAAAoAAAABAAAAgEZlZSBlc3RpbWF0aW9uIHJlc3VsdCB3aXRoIGRldGFpbGVkIGJyZWFrZG93bi4KCkNvbnRhaW5zIHRoZSBjYWxjdWxhdGVkIGZlZSBhbmQgYWxsIGludGVybWVkaWF0ZSB2YWx1ZXMgdXNlZCBpbiB0aGUgY2FsY3VsYXRpb24uAAAAAAAAAAtGZWVFc3RpbWF0ZQAAAAAEAAAAMFNvdXJjZSBjaGFpbiBuYXRpdmUgdG9rZW4gcHJpY2UgaW4gVVNEIChzY2FsZWQpLgAAABBuYXRpdmVfcHJpY2VfdXNkAAAACgAAACVQcmljZSByYXRpbyB1c2VkIGZvciB0aGUgY2FsY3VsYXRpb24uAAAAAAAAC3ByaWNlX3JhdGlvAAAAAAoAAAAyRGVub21pbmF0b3IgZm9yIHRoZSBwcmljZSByYXRpbyAodHlwaWNhbGx5IDEwXjIwKS4AAAAAABdwcmljZV9yYXRpb19kZW5vbWluYXRvcgAAAAAKAAAAMVRvdGFsIGdhcyBmZWUgaW4gc291cmNlIGNoYWluIG5hdGl2ZSB0b2tlbiB1bml0cy4AAAAAAAANdG90YWxfZ2FzX2ZlZQAAAAAAAAsAAAACAAAAAAAAAAAAAAANV29ya2VyU3RvcmFnZQAAAAAAAAsAAAAAAAAAAAAAAAZQYXVzZWQAAAAAAAAAAAAAAAAADkRlcG9zaXRBZGRyZXNzAAAAAAAAAAAAAAAAAAlQcmljZUZlZWQAAAAAAAAAAAAAAAAAAAxXb3JrZXJGZWVMaWIAAAAAAAAAAAAAABREZWZhdWx0TXVsdGlwbGllckJwcwAAAAEAAAAAAAAAFFN1cHBvcnRlZE9wdGlvblR5cGVzAAAAAQAAAAQAAAAAAAAAAAAAAAtNZXNzYWdlTGlicwAAAAABAAAAAAAAAAlBbGxvd2xpc3QAAAAAAAABAAAAEwAAAAEAAAAAAAAACERlbnlsaXN0AAAAAQAAABMAAAAAAAAAAAAAAA1BbGxvd2xpc3RTaXplAAAAAAAAAAAAAAAAAAAGQWRtaW5zAAAAHhFjb250cmFjdGVudm1ldGF2MAAAAAAAAAAXAAAAAABvDmNvbnRyYWN0bWV0YXYwAAAAAAAAAAVyc3ZlcgAAAAAAAAYxLjkwLjAAAAAAAAAAAAAIcnNzZGt2ZXIAAAAvMjMuNC4wIzY3M2Q2YzRmMjM2OGQyODJkMjVkYTI5YmRhNTVjMjFiOGJlNjljYTYA";
11
+ export declare const WASM_BASE64 = "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NwM4IAAgBjcDMEIAIQVCACEECyAAIAU3AwAgACAENwMIIAJB4ABqJICAgIAAC9kBAwF/AX4BfyOAgICAAEEwayIEJICAgIAAIAEQloCAgABBjILAgABBDBCXgICAABCAgICAABCYgICAACEFIAQgAiADEJmAgIAANwMQIAQgATcDCCAEIAA3AwBBACEGA0ACQCAGQRhHDQBBACEGAkADQCAGQRhGDQEgBEEYaiAGaiAEIAZqKQMANwMAIAZBCGohBgwACwsgBUKO7uqVvrbe8wAgBEEYakEDEJqAgIAAEJuAgIAAIARBMGokgICAgAAPCyAEQRhqIAZqQgI3AwAgBkEIaiEGDAALCxoAIABCjvKzl93OztUAEICAgIAAEJiAgIAAC0UCAX8BfiOAgICAAEEQayICJICAgIAAIAIgACABEKmAgIAAAkAgAigCAEEBRw0AAAsgAikDCCEDIAJBEGokgICAgAAgAwsmAAJAIAAgASACEImAgIAAIgJC/wGDQs0AUQ0AEKiAgIAAAAsgAgtFAAJAIABCgICAgICAgMAAfEL//////////wBWDQAgACAAhSABIABCP4eFhEIAUg0AIABCCIZCC4QPCyABIAAQiICAgAALGgAgAK1CIIZCBIQgAa1CIIZCBIQQi4CAgAALIQACQCAAIAEgAhCJgICAAEL/AYNCAlENABCogICAAAALC3gBAX8jgICAgABB0AFrIgMkgICAgAACQCAAQv8Bg0LNAFINACADQeAAaiABEI+AgIAAIAMoAmBBAXENACADIANB8ABqQeAAEKuAgIAAIQMgAkL/AYNCzQBSDQAgACADIAIQnYCAgAAgA0HQAWokgICAgABCAg8LAAvIAgIBfwd+I4CAgIAAQeAAayIDJICAgIAAIANBMGoQn4CAgAACQCADKAIwQQFHDQAgAygCNCADKAI4EKCAgIAACwJAIAEpAwAiBCABKQMIIgWEQgBRDQAgAiAAIAQgBRCVgICAAAsgASkDICECIAEpA0AhBiABKQNIIQcgASkDUCEIQZiCwIAAQQoQl4CAgAAhCSABQShqEKGAgIAAIQogAyAEIAUQmYCAgAA3AyggAyAINwMgIAMgBzcDGCADIAY3AxAgAyAKNwMIIAMgADcDAEEAIQEDQAJAIAFBMEcNAEEAIQECQANAIAFBMEYNASADQTBqIAFqIAMgAWopAwA3AwAgAUEIaiEBDAALCyACIAkgA0EwakEGEJqAgIAAEJuAgIAAIANB4ABqJICAgIAADwsgA0EwaiABakICNwMAIAFBCGohAQwACwvKAwICfwp+I4CAgIAAQaACayIDJICAgIAAAkAgAEL/AYNCzQBSDQAgA0HgAGogARCPgICAACADKAJgQQFxDQAgAyADQfAAakHgABCrgICAACEEIAJC/wGDQsgAUg0AIARB4ABqEJ+AgIAAAkAgBCgCYEEBRw0AIAQoAmQgBCgCaBCggICAAAsgABCWgICAACEBIAQpAyAhBSAEKQNAIQYgBCkDSCEHIAQpA1AhCCAEKQMIIQkgBCkDACEKIAQpAxghCyAEKQMQIQxBuIHAgABBEBCXgICAACENIARBKGoQoYCAgAAhDiAMIAsQmYCAgAAhCyAKIAkQmYCAgAAhCSAEIAI3A5gCIAQgCDcDkAIgBCAHNwOIAiAEIAk3A4ACIAQgCzcD+AEgBCAGNwPwASAEIAU3A+gBIAQgDjcD4AEgBCAANwPYAUEAIQMDQAJAIANByABHDQBBACEDAkADQCADQcgARg0BIARB4ABqIANqIARB2AFqIANqKQMANwMAIANBCGohAwwACwsgASANIARB4ABqQQkQmoCAgAAQm4CAgAAgBEGgAmokgICAgABCAg8LIARB4ABqIANqQgI3AwAgA0EIaiEDDAALCwAL+wECAn8CfiOAgICAAEEQayIBJICAgIAAIAFB0ILAgABBCBCpgICAAAJAIAEoAgBBAUYNACABIAEpAwg3AwBBACECAkAgAUEBEJqAgIAAIgNCAhCNgICAAEIBUg0AIANCAhCOgICAACEDQQAhAgJAA0AgAkEQRg0BIAEgAmpCAjcDACACQQhqIQIMAAsLIANC/wGDQswAUg0BIANBwILAgABBAiABQQIQkICAgAAgASkDACIDQv8Bg0IEUg0BIAEpAwgiBEL/AYNCBFINASAAIANCIIinNgIIIAAgBEIgiD4CBEEBIQILIAAgAjYCACABQRBqJICAgIAADwsACxsAIACtQiCGQgSEIAGtQiCGQgSEEIyAgIAAGgucAQIBfwF+I4CAgIAAQSBrIgEkgICAgAACQAJAIAApAwgiAkL//////////wBWDQAgAkIIhkIGhCECDAELIAIQgYCAgAAhAgsgASACNwMIIAEgACkDADcDECABIAA1AhBCIIZCBIQ3AxhB9IHAgACtQiCGQgSEIAFBCGqtQiCGQgSEQoSAgIAwEIKAgIAAIQIgAUEgaiSAgICAACACC4gDAwF/B34BfyOAgICAAEGgAWsiAySAgICAAAJAIABC/wGDQs0AUg0AIAMgARCUgICAACADKAIAQQFxDQAgAkL/AYNCzQBSDQAgAykDGCEBIAMpAxAhBCADNQJYIQUgAykDUCEGIAMpA0ghByADKQNAIQggAykDOCEJIAMpAzAhCiADEJ+AgIAAAkAgAygCAEEBRw0AIAMoAgQgAygCCBCggICAAAsCQCAEIAGEUA0AIAIgACAEIAEQlYCAgAALQdiBwIAAQQoQl4CAgAAhAiADIAQgARCZgICAADcDmAEgAyAGNwOQASADIAc3A4gBIAMgBUIghkIEhDcDgAEgAyAINwN4IAMgCjcDcCADIAA3A2hBACELA0ACQCALQThHDQBBACELAkADQCALQThGDQEgAyALaiADQegAaiALaikDADcDACALQQhqIQsMAAsLIAkgAiADQQcQmoCAgAAQm4CAgAAgA0GgAWokgICAgABCAg8LIAMgC2pCAjcDACALQQhqIQsMAAsLAAuwAwMBfwt+AX8jgICAgABBsAFrIgMkgICAgAACQCAAQv8Bg0LNAFINACADIAEQlICAgAAgAygCAEEBcQ0AIAJC/wGDQsgAUg0AIAMpAyghASADKQMgIQQgAykDGCEFIAMpAxAhBiADNQJYIQcgAykDUCEIIAMpA0ghCSADKQNAIQogAykDOCELIAMpAzAhDCADEJ+AgIAAAkAgAygCAEEBRw0AIAMoAgQgAygCCBCggICAAAsgABCWgICAACENQciBwIAAQRAQl4CAgAAhDiAEIAEQmYCAgAAhASAGIAUQmYCAgAAhBCADIAI3A6gBIAMgCDcDoAEgAyAJNwOYASADIAQ3A5ABIAMgATcDiAEgAyAHQiCGQgSENwOAASADIAo3A3ggAyALNwNwIAMgDDcDaCADIAA3A2BBACEPA0ACQCAPQdAARw0AQQAhDwJAA0AgD0HQAEYNASADIA9qIANB4ABqIA9qKQMANwMAIA9BCGohDwwACwsgDSAOIANBChCagICAABCbgICAACADQbABaiSAgICAAEICDwsgAyAPakICNwMAIA9B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AAAAAAAAHERlZmF1bHRSZWNlaXZlTGliVW5hdmFpbGFibGUAAAAEAAAAAAAAABlEZWZhdWx0U2VuZExpYlVuYXZhaWxhYmxlAAAAAAAABQAAAAAAAAAVSW5zdWZmaWNpZW50TmF0aXZlRmVlAAAAAAAABgAAAAAAAAASSW5zdWZmaWNpZW50WnJvRmVlAAAAAAAHAAAAAAAAABBJbnZhbGlkRmVlQW1vdW50AAAACAAAAAAAAAANSW52YWxpZEV4cGlyeQAAAAAAAAkAAAAAAAAADEludmFsaWRJbmRleAAAAAoAAAAAAAAADEludmFsaWROb25jZQAAAAsAAAAAAAAAEkludmFsaWRQYXlsb2FkSGFzaAAAAAAADAAAAAAAAAAVSW52YWxpZFJlY2VpdmVMaWJyYXJ5AAAAAAAADQAAAAAAAAART25seU5vbkRlZmF1bHRMaWIAAAAAAAAOAAAAAAAAAA5Pbmx5UmVjZWl2ZUxpYgAAAAAADwAAAAAAAAART25seVJlZ2lzdGVyZWRMaWIAAAAAAAAQAAAAAAAAAAtPbmx5U2VuZExpYgAAAAARAAAAAAAAABRQYXRoTm90SW5pdGlhbGl6YWJsZQAAABIAAAAAAAAAEVBhdGhOb3RWZXJpZmlhYmxlAAAAAAAAEwAAAAAAAAATUGF5bG9hZEhhc2hOb3RGb3VuZAAAAAAUAAAAAAAAAAlTYW1lVmFsdWUAAAAAAAAVAAAAAAAAAAxVbmF1dGhvcml6ZWQAAAAWAAAAAAAAAA5VbnN1cHBvcnRlZEVpZAAAAAAAFwAAAAAAAAAKWmVyb1pyb0ZlZQAAAAAAGAAAAAAAAAAOWnJvVW5hdmFpbGFibGUAAAAAABkAAAABAAAALVBhcmFtZXRlcnMgZm9yIHNlbmRpbmcgYSBjcm9zcy1jaGFpbiBtZXNzYWdlLgAAAAAAAAAAAAAPTWVzc2FnaW5nUGFyYW1zAAAAAAUAAAArRGVzdGluYXRpb24gZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpLgAAAAAHZHN0X2VpZAAAAAAEAAAAHFRoZSBtZXNzYWdlIHBheWxvYWQgdG8gc2VuZC4AAAAHbWVzc2FnZQAAAAAOAAAAIUVuY29kZWQgZXhlY3V0b3IgYW5kIERWTiBvcHRpb25zLgAAAAAAAAdvcHRpb25zAAAAAA4AAAA5V2hldGhlciB0byBwYXkgZmVlcyBpbiBaUk8gdG9rZW4gaW5zdGVhZCBvZiBuYXRpdmUgdG9rZW4uAAAAAAAACnBheV9pbl96cm8AAAAAAAEAAAA1UmVjZWl2ZXIgYWRkcmVzcyBvbiB0aGUgZGVzdGluYXRpb24gY2hhaW4gKDMyIGJ5dGVzKS4AAAAAAAAIcmVjZWl2ZXIAAAPuAAAAIAAAAAEAAABNU291cmNlIG1lc3NhZ2UgaW5mb3JtYXRpb24gaWRlbnRpZnlpbmcgd2hlcmUgYSBjcm9zcy1jaGFpbiBtZXNzYWdlIGNhbWUgZnJvbS4AAAAAAAAAAAAABk9yaWdpbgAAAAAAAwAAABdOb25jZSBmb3IgdGhpcyBwYXRod2F5LgAAAAAFbm9uY2UAAAAAAAAGAAAALlNlbmRlciBhZGRyZXNzIG9uIHRoZSBzb3VyY2UgY2hhaW4gKDMyIGJ5dGVzKS4AAAAAAAZzZW5kZXIAAAAAA+4AAAAgAAAAJlNvdXJjZSBlbmRwb2ludCBJRCAoY2hhaW4gaWRlbnRpZmllcikuAAAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAAChGZWUgc3RydWN0dXJlIGZvciBjcm9zcy1jaGFpbiBtZXNzYWdpbmcuAAAAAAAAAAxNZXNzYWdpbmdGZWUAAAACAAAAH0ZlZSBwYWlkIGluIG5hdGl2ZSB0b2tlbiAoWExNKS4AAAAACm5hdGl2ZV9mZWUAAAAAAAsAAAAoRmVlIHBhaWQgaW4gWlJPIHRva2VuIChMYXllclplcm8gdG9rZW4pLgAAAAd6cm9fZmVlAAAAAAsAAAABAAAAQlJlY2VpcHQgcmV0dXJuZWQgYWZ0ZXIgc3VjY2Vzc2Z1bGx5IHNlbmRpbmcgYSBjcm9zcy1jaGFpbiBtZXNzYWdlLgAAAAAAAAAAABBNZXNzYWdpbmdSZWNlaXB0AAAAAwAAAClUaGUgZmVlcyBjaGFyZ2VkIGZvciBzZW5kaW5nIHRoZSBtZXNzYWdlLgAAAAAAAANmZWUAAAAH0AAAAAxNZXNzYWdpbmdGZWUAAAArR2xvYmFsbHkgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBtZXNzYWdlLgAAAAAEZ3VpZAAAA+4AAAAgAAAAJFRoZSBvdXRib3VuZCBub25jZSBmb3IgdGhpcyBwYXRod2F5LgAAAAVub25jZQAAAAAAAAYAAAACAAAAOFR5cGUgb2YgbWVzc2FnZSBsaWJyYXJ5IGluZGljYXRpbmcgc3VwcG9ydGVkIG9wZXJhdGlvbnMuAAAAAAAAAA5NZXNzYWdlTGliVHlwZQAAAAAAAwAAAAAAAAAfU3VwcG9ydHMgb25seSBzZW5kaW5nIG1lc3NhZ2VzLgAAAAAEU2VuZAAAAAAAAAAhU3VwcG9ydHMgb25seSByZWNlaXZpbmcgbWVzc2FnZXMuAAAAAAAAB1JlY2VpdmUAAAAAAAAAAC1TdXBwb3J0cyBib3RoIHNlbmRpbmcgYW5kIHJlY2VpdmluZyBtZXNzYWdlcy4AAAAAAAAOU2VuZEFuZFJlY2VpdmUAAAAAAAEAAAC3VmVyc2lvbiBpbmZvcm1hdGlvbiBmb3IgYSBtZXNzYWdlIGxpYnJhcnkuCgpOb3RlOiBgbWlub3JgIGFuZCBgZW5kcG9pbnRfdmVyc2lvbmAgdXNlIGB1MzJgIGluc3RlYWQgb2YgYHU4YCBiZWNhdXNlIFN0ZWxsYXIgZG9lcyBub3QKc3VwcG9ydCBgdThgIHR5cGVzIGluIGNvbnRyYWN0IGludGVyZmFjZSBmdW5jdGlvbnMuAAAAAAAAAAARTWVzc2FnZUxpYlZlcnNpb24AAAAAAAADAAAAM0VuZHBvaW50IHZlcnNpb24gKHNob3VsZCBub3QgZXhjZWVkIHU4OjpNQVggPSAyNTUpLgAAAAAQZW5kcG9pbnRfdmVyc2lvbgAAAAQAAAAVTWFqb3IgdmVyc2lvbiBudW1iZXIuAAAAAAAABW1ham9yAAAAAAAABgAAADdNaW5vciB2ZXJzaW9uIG51bWJlciAoc2hvdWxkIG5vdCBleGNlZWQgdTg6Ok1BWCA9IDI1NSkuAAAAAAVtaW5vcgAAAAAAAAQAAAABAAAANlRpbWVvdXQgY29uZmlndXJhdGlvbiBmb3IgcmVjZWl2ZSBsaWJyYXJ5IHRyYW5zaXRpb25zLgAAAAAAAAAAAAdUaW1lb3V0AAAAAAIAAAAoVW5peCB0aW1lc3RhbXAgd2hlbiB0aGUgdGltZW91dCBleHBpcmVzLgAAAAZleHBpcnkAAAAAAAYAAAApVGhlIG5ldyBsaWJyYXJ5IGFkZHJlc3MgdG8gdHJhbnNpdGlvbiB0by4AAAAAAAADbGliAAAAABMAAAABAAAANVBhcmFtZXRlcnMgZm9yIHNldHRpbmcgbWVzc2FnZSBsaWJyYXJ5IGNvbmZpZ3VyYXRpb24uAAAAAAAAAAAAAA5TZXRDb25maWdQYXJhbQAAAAAAAwAAAB9YRFItZW5jb2RlZCBjb25maWd1cmF0aW9uIGRhdGEuAAAAAAZjb25maWcAAAAAAA4AAAAwVGhlIHR5cGUgb2YgY29uZmlndXJhdGlvbiAoZS5nLiwgZXhlY3V0b3IsIFVMTikuAAAAC2NvbmZpZ190eXBlAAAAAAQAAAAnVGhlIGVuZHBvaW50IElEIHRoaXMgY29uZmlnIGFwcGxpZXMgdG8uAAAAAANlaWQAAAAABAAAAAEAAAAxUmVzb2x2ZWQgbGlicmFyeSBpbmZvcm1hdGlvbiB3aXRoIGRlZmF1bHQgc3RhdHVzLgAAAAAAAAAAAAAPUmVzb2x2ZWRMaWJyYXJ5AAAAAAIAAABEV2hldGhlciB0aGlzIGlzIHRoZSBkZWZhdWx0IGxpYnJhcnkgKHRydWUpIG9yIE9BcHAtc3BlY2lmaWMgKGZhbHNlKS4AAAAKaXNfZGVmYXVsdAAAAAAAAQAAAB1UaGUgcmVzb2x2ZWQgbGlicmFyeSBhZGRyZXNzLgAAAAAAAANsaWIAAAAAEwAAAAEAAABIT3V0Ym91bmQgcGFja2V0IGNvbnRhaW5pbmcgYWxsIGluZm9ybWF0aW9uIGZvciBjcm9zcy1jaGFpbiB0cmFuc21pc3Npb24uAAAAAAAAAA5PdXRib3VuZFBhY2tldAAAAAAABwAAABhEZXN0aW5hdGlvbiBlbmRwb2ludCBJRC4AAAAHZHN0X2VpZAAAAAAEAAAALEdsb2JhbGx5IHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIG1lc3NhZ2UuAAAABGd1aWQAAAPuAAAAIAAAABRUaGUgbWVzc2FnZSBwYXlsb2FkLgAAAAdtZXNzYWdlAAAAAA4AAAAgT3V0Ym91bmQgbm9uY2UgZm9yIHRoaXMgcGF0aHdheS4AAAAFbm9uY2UAAAAAAAAGAAAAMVJlY2VpdmVyIGFkZHJlc3Mgb24gZGVzdGluYXRpb24gY2hhaW4gKDMyIGJ5dGVzKS4AAAAAAAAIcmVjZWl2ZXIAAAPuAAAAIAAAAB9TZW5kZXIgYWRkcmVzcyBvbiBzb3VyY2UgY2hhaW4uAAAAAAZzZW5kZXIAAAAAABMAAAATU291cmNlIGVuZHBvaW50IElELgAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAACtBIGZlZSByZWNpcGllbnQgd2l0aCB0aGUgYW1vdW50IHRvIGJlIHBhaWQuAAAAAAAAAAAMRmVlUmVjaXBpZW50AAAAAgAAABVBbW91bnQgb2YgZmVlIHRvIHBheS4AAAAAAAAGYW1vdW50AAAAAAALAAAAH1RoZSBhZGRyZXNzIHRvIHNlbmQgdGhlIGZlZSB0by4AAAAAAnRvAAAAAAATAAAAAQAAADxSZXN1bHQgb2Ygc2VuZCBvcGVyYXRpb24gY29udGFpbmluZyBmZWVzIGFuZCBlbmNvZGVkIHBhY2tldC4AAAAAAAAADUZlZXNBbmRQYWNrZXQAAAAAAAADAAAAKlRoZSBlbmNvZGVkIHBhY2tldCByZWFkeSBmb3IgdHJhbnNtaXNzaW9uLgAAAAAADmVuY29kZWRfcGFja2V0AAAAAAAOAAAAP0xpc3Qgb2YgbmF0aXZlIHRva2VuIGZlZSByZWNpcGllbnRzIChleGVjdXRvciwgRFZOcywgdHJlYXN1cnkpLgAAAAAVbmF0aXZlX2ZlZV9yZWNpcGllbnRzAAAAAAAD6gAAB9AAAAAMRmVlUmVjaXBpZW50AAAALExpc3Qgb2YgWlJPIHRva2VuIGZlZSByZWNpcGllbnRzICh0cmVhc3VyeSkuAAAAEnpyb19mZWVfcmVjaXBpZW50cwAAAAAD6gAAB9AAAAAMRmVlUmVjaXBpZW50AAAABAAAAAAAAAAAAAAADUV4ZWN1dG9yRXJyb3IAAAAAAAADAAAAAAAAAA9FaWROb3RTdXBwb3J0ZWQAAAAAAQAAAAAAAAAMVW5hdXRob3JpemVkAAAAAgAAAAAAAAATVW5hdXRob3JpemVkQ29udGV4dAAAAAADAAAABQAAAAAAAAAAAAAADERzdENvbmZpZ1NldAAAAAEAAAAOZHN0X2NvbmZpZ19zZXQAAAAAAAEAAAAAAAAABnBhcmFtcwAAAAAD6gAAB9AAAAARU2V0RHN0Q29uZmlnUGFyYW0AAAAAAAAAAAAAAgAAAAUAAAAAAAAAAAAAABFOYXRpdmVEcm9wQXBwbGllZAAAAAAAAAEAAAATbmF0aXZlX2Ryb3BfYXBwbGllZAAAAAAFAAAAAAAAAAZvcmlnaW4AAAAAB9AAAAAGT3JpZ2luAAAAAAAAAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAAAAAAAAAAAAARvYXBwAAAAEwAAAAAAAAAAAAAAEm5hdGl2ZV9kcm9wX3BhcmFtcwAAAAAD6gAAB9AAAAAQTmF0aXZlRHJvcFBhcmFtcwAAAAAAAAAAAAAAB3N1Y2Nlc3MAAAAD6gAAAAEAAAAAAAAAAgAAAAEAAADbRGVzdGluYXRpb24gY2hhaW4gY29uZmlndXJhdGlvbiBmb3IgZXhlY3V0b3IgZmVlIGNhbGN1bGF0aW9uLgoKQ29udGFpbnMgZ2FzIGNvc3RzIGFuZCBmZWUgcGFyYW1ldGVycyBzcGVjaWZpYyB0byBlYWNoIGRlc3RpbmF0aW9uIGNoYWluLgpUaGVzZSBwYXJhbWV0ZXJzIGFyZSB1c2VkIGJ5IHRoZSBmZWUgbGlicmFyeSB0byBjYWxjdWxhdGUgYWNjdXJhdGUgZXhlY3V0aW9uIGZlZXMuAAAAAAAAAAAJRHN0Q29uZmlnAAAAAAAABQAAADtNaW5pbXVtIGZlZSBtYXJnaW4gaW4gVVNEIChzY2FsZWQpIHRvIGVuc3VyZSBwcm9maXRhYmlsaXR5LgAAAAAQZmxvb3JfbWFyZ2luX3VzZAAAAAoAAAA6QmFzZSBnYXMgY29zdCBwZXIgbHpDb21wb3NlIGNhbGwgb24gdGhlIGRlc3RpbmF0aW9uIGNoYWluLgAAAAAAE2x6X2NvbXBvc2VfYmFzZV9nYXMAAAAABgAAAD9CYXNlIGdhcyBjb3N0IGZvciBselJlY2VpdmUgZXhlY3V0aW9uIG9uIHRoZSBkZXN0aW5hdGlvbiBjaGFpbi4AAAAAE2x6X3JlY2VpdmVfYmFzZV9nYXMAAAAABgAAAFFGZWUgbXVsdGlwbGllciBpbiBiYXNpcyBwb2ludHMgZm9yIHRoaXMgZGVzdGluYXRpb24gKDAgPSB1c2UgZGVmYXVsdCBtdWx0aXBsaWVyKS4AAAAAAAAObXVsdGlwbGllcl9icHMAAAAAAAQAAABGTWF4aW11bSBuYXRpdmUgdG9rZW4gdmFsdWUgdGhhdCBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gdGhlIGRlc3RpbmF0aW9uLgAAAAAACm5hdGl2ZV9jYXAAAAAAAAoAAAABAAAAfFBhcmFtZXRlcnMgZm9yIHNldHRpbmcgZGVzdGluYXRpb24gY29uZmlndXJhdGlvbi4KClVzZWQgd2hlbiBjb25maWd1cmluZyBleGVjdXRvciBzZXR0aW5ncyBmb3IgYSBzcGVjaWZpYyBkZXN0aW5hdGlvbiBjaGFpbi4AAAAAAAAAEVNldERzdENvbmZpZ1BhcmFtAAAAAAAAAgAAAChDb25maWd1cmF0aW9uIGZvciB0aGUgZGVzdGluYXRpb24gY2hhaW4uAAAACmRzdF9jb25maWcAAAAAB9AAAAAJRHN0Q29uZmlnAAAAAAAAK0Rlc3RpbmF0aW9uIGVuZHBvaW50IElEIChjaGFpbiBpZGVudGlmaWVyKS4AAAAAB2RzdF9laWQAAAAABAAAAAEAAABoUGFyYW1ldGVycyBmb3IgYSBuYXRpdmUgdG9rZW4gZHJvcC4KClVzZWQgdG8gc3BlY2lmeSBuYXRpdmUgdG9rZW4gdHJhbnNmZXJzIGFzIHBhcnQgb2YgZXhlY3V0b3Igb3B0aW9ucy4AAAAAAAAAEE5hdGl2ZURyb3BQYXJhbXMAAAACAAAAJEFtb3VudCBvZiBuYXRpdmUgdG9rZW5zIHRvIHRyYW5zZmVyLgAAAAZhbW91bnQAAAAAAAsAAAAvUmVjZWl2ZXIgYWRkcmVzcyBmb3IgdGhlIG5hdGl2ZSB0b2tlbiB0cmFuc2Zlci4AAAAACHJlY2VpdmVyAAAAEwAAAAQAAAAdUGFja2V0Q29kZWNWMUVycm9yOiAxMTAwLTExMDkAAAAAAAAAAAAAElBhY2tldENvZGVjVjFFcnJvcgAAAAAAAgAAAAAAAAATSW52YWxpZFBhY2tldEhlYWRlcgAAAARMAAAAAAAAABRJbnZhbGlkUGFja2V0VmVyc2lvbgAABE0AAAAEAAAAHVdvcmtlck9wdGlvbnNFcnJvcjogMTExMC0xMTE5AAAAAAAAAAAAABJXb3JrZXJPcHRpb25zRXJyb3IAAAAAAAkAAAAAAAAAEkludmFsaWRCeXRlc0xlbmd0aAAAAAAEVgAAAAAAAAAZSW52YWxpZExlZ2FjeU9wdGlvbnNUeXBlMQAAAAAABFcAAAAAAAAAGUludmFsaWRMZWdhY3lPcHRpb25zVHlwZTIAAAAAAARYAAAAAAAAABFJbnZhbGlkT3B0aW9uVHlwZQAAAAAABFkAAAAAAAAADkludmFsaWRPcHRpb25zAAAAAARaAAAAAAAAAA9JbnZhbGlkV29ya2VySWQAAAAEWwAAAAAAAAAdTGVnYWN5T3B0aW9uc1R5cGUxR2FzT3ZlcmZsb3cAAAAAAARcAAAAAAAAACBMZWdhY3lPcHRpb25zVHlwZTJBbW91bnRPdmVyZmxvdwAABF0AAAAAAAAAHUxlZ2FjeU9wdGlvbnNUeXBlMkdhc092ZXJmbG93AAAAAAAEXgAAAAQAAAAcQnVmZmVyUmVhZGVyRXJyb3I6IDEwMDAtMTAwOQAAAAAAAAARQnVmZmVyUmVhZGVyRXJyb3IAAAAAAAACAAAAAAAAAA1JbnZhbGlkTGVuZ3RoAAAAAAAD6AAAAAAAAAAVSW52YWxpZEFkZHJlc3NQYXlsb2FkAAAAAAAD6QAAAAQAAAAcQnVmZmVyV3JpdGVyRXJyb3I6IDEwMTAtMTAxOQAAAAAAAAARQnVmZmVyV3JpdGVyRXJyb3IAAAAAAAABAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPyAAAABAAAAB9UdGxDb25maWd1cmFibGVFcnJvcjogMTAyMC0xMDI5AAAAAAAAAAAUVHRsQ29uZmlndXJhYmxlRXJyb3IAAAADAAAAAAAAABBJbnZhbGlkVHRsQ29uZmlnAAAD/AAAAAAAAAAPVHRsQ29uZmlnRnJvemVuAAAAA/0AAAAAAAAAFlR0bENvbmZpZ0FscmVhZHlGcm96ZW4AAAAAA/4AAAAEAAAAF093bmFibGVFcnJvcjogMTAzMC0xMDM5AAAAAAAAAAAMT3duYWJsZUVycm9yAAAABgAAAAAAAAATSW52YWxpZFBlbmRpbmdPd25lcgAAAAQGAAAAAAAAAApJbnZhbGlkVHRsAAAAAAQHAAAAAAAAABFOb1BlbmRpbmdUcmFuc2ZlcgAAAAAABAgAAAAAAAAAD093bmVyQWxyZWFkeVNldAAAAAQJAAAAAAAAAAtPd25lck5vdFNldAAAAAQKAAAAAAAAABJUcmFuc2ZlckluUHJvZ3Jlc3MAAAAABAsAAAAEAAAAGEJ5dGVzRXh0RXJyb3I6IDEwNDAtMTA0OQAAAAAAAAANQnl0ZXNFeHRFcnJvcgAAAAAAAAEAAAAAAAAADkxlbmd0aE1pc21hdGNoAAAAAAQQAAAABAAAABtVcGdyYWRlYWJsZUVycm9yOiAxMDUwLTEwNTkAAAAAAAAAABBVcGdyYWRlYWJsZUVycm9yAAAAAwAAAAAAAAAUSW52YWxpZE1pZ3JhdGlvbkRhdGEAAAQaAAAAAAAAABNNaWdyYXRpb25Ob3RBbGxvd2VkAAAABBsAAAAAAAAADlVwZ3JhZGVzRnJvemVuAAAAAAQcAAAABAAAABhNdWx0aXNpZ0Vycm9yOiAxMDYwLTEwNjkAAAAAAAAADU11bHRpc2lnRXJyb3IAAAAAAAAIAAAAAAAAABJBbHJlYWR5SW5pdGlhbGl6ZWQAAAAABCQAAAAAAAAADUludmFsaWRTaWduZXIAAAAAAAQlAAAAAAAAAA5TaWduYXR1cmVFcnJvcgAAAAAEJgAAAAAAAAATU2lnbmVyQWxyZWFkeUV4aXN0cwAAAAQnAAAAAAAAAA5TaWduZXJOb3RGb3VuZAAAAAAEKAAAAAAAAAAdVG90YWxTaWduZXJzTGVzc1RoYW5UaHJlc2hvbGQAAAAAAAQpAAAAAAAAAA9VbnNvcnRlZFNpZ25lcnMAAAAEKgAAAAAAAAANWmVyb1RocmVzaG9sZAAAAAAABCsAAAAFAAAAMEV2ZW50IGVtaXR0ZWQgd2hlbiBhIHNpZ25lciBpcyBhZGRlZCBvciByZW1vdmVkLgAAAAAAAAAJU2lnbmVyU2V0AAAAAAAAAQAAAApzaWduZXJfc2V0AAAAAAACAAAAAAAAAAZzaWduZXIAAAAAA+4AAAAUAAAAAQAAAAAAAAAGYWN0aXZlAAAAAAABAAAAAAAAAAIAAAAFAAAANkV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2lnbmF0dXJlIHRocmVzaG9sZCBpcyBjaGFuZ2VkLgAAAAAAAAAAAAxUaHJlc2hvbGRTZXQAAAABAAAADXRocmVzaG9sZF9zZXQAAAAAAAABAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAPTXVsdGlzaWdTdG9yYWdlAAAAAAIAAAAAAAAAAAAAAAdTaWduZXJzAAAAAAAAAAAAAAAACVRocmVzaG9sZAAAAAAAAAUAAABXRXZlbnQgZW1pdHRlZCB3aGVuIG93bmVyc2hpcCBpcyB0cmFuc2ZlcnJlZCAoYm90aCBzaW5nbGUtc3RlcCBhbmQgdHdvLXN0ZXAgY29tcGxldGlvbikuAAAAAAAAAAAUT3duZXJzaGlwVHJhbnNmZXJyZWQAAAABAAAAFW93bmVyc2hpcF90cmFuc2ZlcnJlZAAAAAAAAAIAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAIAAAAFAAAAO0V2ZW50IGVtaXR0ZWQgd2hlbiBhIDItc3RlcCBvd25lcnNoaXAgdHJhbnNmZXIgaXMgcHJvcG9zZWQuAAAAAAAAAAAVT3duZXJzaGlwVHJhbnNmZXJyaW5nAAAAAAAAAQAAABZvd25lcnNoaXBfdHJhbnNmZXJyaW5nAAAAAAADAAAAAAAAAAlvbGRfb3duZXIAAAAAAAATAAAAAAAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAAAAAAAA3R0bAAAAAAEAAAAAAAAAAIAAAAFAAAAKkV2ZW50IGVtaXR0ZWQgd2hlbiBvd25lcnNoaXAgaXMgcmVub3VuY2VkLgAAAAAAAAAAABJPd25lcnNoaXBSZW5vdW5jZWQAAAAAAAEAAAATb3duZXJzaGlwX3Jlbm91bmNlZAAAAAABAAAAAAAAAAlvbGRfb3duZXIAAAAAAAATAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAOT3duYWJsZVN0b3JhZ2UAAAAAAAIAAAAAAAAAAAAAAAVPd25lcgAAAAAAAAAAAAAAAAAADFBlbmRpbmdPd25lcgAAAAEAAABJVFRMIGNvbmZpZ3VyYXRpb246IHRocmVzaG9sZCAod2hlbiB0byBleHRlbmQpIGFuZCBleHRlbmRfdG8gKHRhcmdldCBUVEwpLgAAAAAAAAAAAAAJVHRsQ29uZmlnAAAAAAAAAgAAAChUYXJnZXQgVFRMIGFmdGVyIGV4dGVuc2lvbiAoaW4gbGVkZ2VycykuAAAACWV4dGVuZF90bwAAAAAAAAQAAAAzVFRMIHRocmVz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";
13
12
  /**
14
13
  * Pre-computed WASM hash (SHA-256)
15
14
  * Use this when the WASM is already uploaded on-chain
16
15
  */
17
- export declare const WASM_HASH = "5103971ef8c9ef09d1add5a8471f46323505ab6a40f02656f2b3f6012a7ccf9e";
16
+ export declare const WASM_HASH = "721ef1dd97bb02a775a0ef4d1ce97b24f4625e3fd0c91181d77c483b68195503";
18
17
  /**
19
18
  * Get the WASM bytecode as a Buffer
20
19
  * Use this to upload the WASM to the network
@@ -516,6 +515,12 @@ export declare const UpgradeableError: {
516
515
  1050: {
517
516
  message: string;
518
517
  };
518
+ 1051: {
519
+ message: string;
520
+ };
521
+ 1052: {
522
+ message: string;
523
+ };
519
524
  };
520
525
  /**
521
526
  * MultisigError: 1060-1069
@@ -584,6 +589,9 @@ export type TtlConfigStorage = {
584
589
  values: void;
585
590
  };
586
591
  export type UpgradeableStorage = {
592
+ tag: "Frozen";
593
+ values: void;
594
+ } | {
587
595
  tag: "Migrating";
588
596
  values: void;
589
597
  };
@@ -639,211 +647,39 @@ export declare const WorkerError: {
639
647
  1215: {
640
648
  message: string;
641
649
  };
642
- 1216: {
643
- message: string;
644
- };
645
- 1217: {
646
- message: string;
647
- };
648
- 1218: {
649
- message: string;
650
- };
651
650
  };
652
- /**
653
- * Parameters for DVN fee calculation.
654
- *
655
- * Contains all inputs needed by the fee library to calculate verification fees
656
- * for cross-chain messages. Includes message parameters, common configuration,
657
- * and destination-specific settings.
658
- */
659
- export interface DvnFeeParams {
660
- /**
661
- * Number of block confirmations required.
662
- */
663
- confirmations: u64;
664
- /**
665
- * Default fee multiplier in basis points (used if no dst-specific multiplier).
666
- */
667
- default_multiplier_bps: u32;
668
- /**
669
- * Destination endpoint ID (chain identifier).
670
- */
671
- dst_eid: u32;
672
- /**
673
- * Minimum fee margin in USD (scaled).
674
- */
675
- floor_margin_usd: u128;
676
- /**
677
- * ============================================================================================
678
- * Destination-Specific Configuration
679
- * ============================================================================================
680
- * Gas estimate for verification on destination chain.
681
- */
682
- gas: u128;
683
- /**
684
- * Destination-specific fee multiplier in basis points (0 = use default).
685
- */
686
- multiplier_bps: u32;
687
- /**
688
- * DVN options
689
- */
690
- options: Buffer;
691
- /**
692
- * ============================================================================================
693
- * Common Configuration
694
- * ============================================================================================
695
- * Price feed contract address for gas price and exchange rate data.
696
- */
697
- price_feed: string;
698
- /**
699
- * Number of required signatures (quorum).
700
- */
701
- quorum: u32;
702
- /**
703
- * ============================================================================================
704
- * Message Parameters
705
- * ============================================================================================
706
- * The OApp sender address.
707
- */
708
- sender: string;
709
- }
710
- /**
711
- * Parameters for executor fee calculation.
712
- *
713
- * Contains all inputs needed by the fee library to calculate execution fees
714
- * for cross-chain messages. Includes message parameters, common configuration,
715
- * and destination-specific settings.
716
- */
717
- export interface FeeParams {
718
- /**
719
- * Size of the message calldata in bytes.
720
- */
721
- calldata_size: u32;
722
- /**
723
- * Default fee multiplier in basis points (used if no dst-specific multiplier).
724
- */
725
- default_multiplier_bps: u32;
726
- /**
727
- * Destination endpoint ID (chain identifier).
728
- */
729
- dst_eid: u32;
730
- /**
731
- * Minimum fee margin in USD (scaled).
732
- */
733
- floor_margin_usd: u128;
734
- /**
735
- * Base gas for each lzCompose call on destination chain.
736
- */
737
- lz_compose_base_gas: u64;
738
- /**
739
- * ============================================================================================
740
- * Destination-Specific Configuration
741
- * ============================================================================================
742
- * Base gas for lzReceive execution on destination chain.
743
- */
744
- lz_receive_base_gas: u64;
745
- /**
746
- * Destination-specific fee multiplier in basis points (0 = use default).
747
- */
748
- multiplier_bps: u32;
749
- /**
750
- * Maximum native token value that can be sent.
751
- */
752
- native_cap: u128;
753
- /**
754
- * Encoded executor options (lzReceive gas, lzCompose, nativeDrop, etc.).
755
- */
756
- options: Buffer;
757
- /**
758
- * ============================================================================================
759
- * Common Configuration
760
- * ============================================================================================
761
- * Price feed contract address for gas price and exchange rate data.
762
- */
763
- price_feed: string;
764
- /**
765
- * ============================================================================================
766
- * Message Parameters
767
- * ============================================================================================
768
- * The OApp sender address.
769
- */
770
- sender: string;
771
- }
772
- /**
773
- * Gas price information for a destination endpoint.
774
- *
775
- * Contains the exchange rate and gas costs needed for cross-chain fee calculations.
776
- */
777
- export interface Price {
778
- /**
779
- * Gas cost per byte of calldata on the destination chain.
780
- */
781
- gas_per_byte: u32;
782
- /**
783
- * Gas price in the smallest unit (wei for EVM, stroops for Stellar).
784
- */
785
- gas_price_in_unit: u64;
786
- /**
787
- * Price ratio = (remote native token price / local native token price) * PRICE_RATIO_DENOMINATOR.
788
- * Used to convert destination chain gas costs to source chain native token.
789
- */
790
- price_ratio: u128;
791
- }
792
- /**
793
- * Fee estimation result with detailed breakdown.
794
- *
795
- * Contains the calculated fee and all intermediate values used in the calculation.
796
- */
797
- export interface FeeEstimate {
798
- /**
799
- * Source chain native token price in USD (scaled).
800
- */
801
- native_price_usd: u128;
802
- /**
803
- * Price ratio used for the calculation.
804
- */
805
- price_ratio: u128;
806
- /**
807
- * Denominator for the price ratio (typically 10^20).
808
- */
809
- price_ratio_denominator: u128;
810
- /**
811
- * Total gas fee in source chain native token units.
812
- */
813
- total_gas_fee: i128;
814
- }
815
651
  export type WorkerStorage = {
816
652
  tag: "Paused";
817
653
  values: void;
818
654
  } | {
819
- tag: "DepositAddress";
655
+ tag: "Admins";
820
656
  values: void;
821
657
  } | {
822
- tag: "PriceFeed";
658
+ tag: "MessageLibs";
823
659
  values: void;
824
660
  } | {
825
- tag: "WorkerFeeLib";
826
- values: void;
661
+ tag: "Allowlist";
662
+ values: readonly [string];
827
663
  } | {
828
- tag: "DefaultMultiplierBps";
664
+ tag: "AllowlistSize";
829
665
  values: void;
830
666
  } | {
831
- tag: "SupportedOptionTypes";
832
- values: readonly [u32];
667
+ tag: "Denylist";
668
+ values: readonly [string];
833
669
  } | {
834
- tag: "MessageLibs";
670
+ tag: "DefaultMultiplierBps";
835
671
  values: void;
836
672
  } | {
837
- tag: "Allowlist";
838
- values: readonly [string];
673
+ tag: "DepositAddress";
674
+ values: void;
839
675
  } | {
840
- tag: "Denylist";
841
- values: readonly [string];
676
+ tag: "SupportedOptionTypes";
677
+ values: readonly [u32];
842
678
  } | {
843
- tag: "AllowlistSize";
679
+ tag: "WorkerFeeLib";
844
680
  values: void;
845
681
  } | {
846
- tag: "Admins";
682
+ tag: "PriceFeed";
847
683
  values: void;
848
684
  };
849
685
  export interface Client {