@layerzerolabs/protocol-stellar-v2 0.2.21 → 0.2.23

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 (328) hide show
  1. package/.turbo/turbo-build.log +347 -271
  2. package/.turbo/turbo-lint.log +277 -208
  3. package/.turbo/turbo-test.log +1700 -1370
  4. package/Cargo.lock +22 -51
  5. package/Cargo.toml +6 -1
  6. package/contracts/common-macros/src/auth.rs +10 -9
  7. package/contracts/common-macros/src/contract_ttl.rs +1 -4
  8. package/contracts/common-macros/src/error.rs +1 -3
  9. package/contracts/common-macros/src/lib.rs +65 -61
  10. package/contracts/common-macros/src/storage.rs +212 -65
  11. package/contracts/common-macros/src/tests/auth.rs +75 -6
  12. package/contracts/common-macros/src/tests/contract_ttl.rs +383 -350
  13. package/contracts/common-macros/src/tests/error.rs +9 -21
  14. package/contracts/common-macros/src/tests/lz_contract.rs +80 -0
  15. package/contracts/common-macros/src/tests/mod.rs +2 -0
  16. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_multisig_code.snap +20 -3
  17. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_ownable_code.snap +28 -1
  18. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__contract_ttl__snapshot_generated_contractimpl_code.snap +8 -43
  19. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__contract_ttl__snapshot_generated_contracttrait_code.snap +6 -29
  20. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__lz_contract__snapshot_generated_lz_contract_code.snap +31 -0
  21. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__ttl_extendable__snapshot_generated_ttl_extendable_code.snap +8 -0
  22. package/contracts/common-macros/src/tests/storage/extract_fields.rs +87 -0
  23. package/contracts/common-macros/src/tests/storage/gen_accessor_methods.rs +223 -0
  24. package/contracts/common-macros/src/tests/storage/gen_args.rs +65 -0
  25. package/contracts/common-macros/src/tests/storage/gen_enum_variant.rs +78 -0
  26. package/contracts/common-macros/src/tests/storage/gen_key.rs +108 -0
  27. package/contracts/common-macros/src/tests/storage/gen_params.rs +105 -0
  28. package/contracts/common-macros/src/tests/{storage.rs → storage/generate_storage.rs} +54 -129
  29. package/contracts/common-macros/src/tests/storage/is_primitive_type.rs +48 -0
  30. package/contracts/common-macros/src/tests/storage/mod.rs +16 -0
  31. package/contracts/common-macros/src/tests/storage/parse_default.rs +164 -0
  32. package/contracts/common-macros/src/tests/storage/parse_name.rs +159 -0
  33. package/contracts/common-macros/src/tests/storage/parse_no_ttl_extension.rs +124 -0
  34. package/contracts/common-macros/src/tests/storage/parse_storage_type.rs +174 -0
  35. package/contracts/common-macros/src/tests/storage/snapshots/common_macros__tests__storage__generate_storage__snapshot_generated_storage_code.snap +412 -0
  36. package/contracts/common-macros/src/tests/storage/storage_kind.rs +39 -0
  37. package/contracts/common-macros/src/tests/storage/test_setup.rs +25 -0
  38. package/contracts/common-macros/src/tests/storage/validate_attrs.rs +138 -0
  39. package/contracts/common-macros/src/tests/storage/variant_config.rs +226 -0
  40. package/contracts/common-macros/src/tests/test_helpers.rs +4 -10
  41. package/contracts/common-macros/src/tests/ttl_configurable.rs +2 -2
  42. package/contracts/common-macros/src/tests/ttl_extendable.rs +32 -0
  43. package/contracts/common-macros/src/tests/upgradeable.rs +118 -2
  44. package/contracts/common-macros/src/ttl_configurable.rs +1 -4
  45. package/contracts/common-macros/src/upgradeable.rs +21 -3
  46. package/contracts/endpoint-v2/Cargo.toml +0 -4
  47. package/contracts/endpoint-v2/src/endpoint_v2.rs +37 -17
  48. package/contracts/endpoint-v2/src/errors.rs +26 -1
  49. package/contracts/endpoint-v2/src/interfaces/layerzero_endpoint_v2.rs +1 -1
  50. package/contracts/endpoint-v2/src/interfaces/message_lib_manager.rs +4 -4
  51. package/contracts/endpoint-v2/src/interfaces/messaging_composer.rs +2 -2
  52. package/contracts/endpoint-v2/src/lib.rs +0 -1
  53. package/contracts/endpoint-v2/src/message_lib_manager.rs +39 -8
  54. package/contracts/endpoint-v2/src/messaging_channel.rs +36 -4
  55. package/contracts/endpoint-v2/src/messaging_composer.rs +18 -4
  56. package/contracts/endpoint-v2/src/storage.rs +9 -1
  57. package/contracts/endpoint-v2/src/tests/endpoint_setup.rs +2 -2
  58. package/contracts/endpoint-v2/src/tests/endpoint_v2/pay_messaging_fees.rs +1 -1
  59. package/contracts/endpoint-v2/src/tests/endpoint_v2/require_oapp_auth.rs +2 -2
  60. package/contracts/endpoint-v2/src/tests/message_lib_manager/register_library.rs +3 -3
  61. package/contracts/endpoint-v2/src/tests/message_lib_manager/require_receive_lib_for_eid.rs +5 -5
  62. package/contracts/endpoint-v2/src/tests/message_lib_manager/require_registered.rs +2 -2
  63. package/contracts/endpoint-v2/src/tests/message_lib_manager/require_send_lib_for_eid.rs +5 -5
  64. package/contracts/endpoint-v2/src/tests/message_lib_manager/require_supported_eid.rs +3 -3
  65. package/contracts/endpoint-v2/src/tests/messaging_channel/nilify.rs +1 -1
  66. package/contracts/endpoint-v2/src/tests/messaging_composer/clear_compose.rs +4 -3
  67. package/contracts/endpoint-v2/src/tests/messaging_composer/lz_compose_alert.rs +7 -2
  68. package/contracts/endpoint-v2/src/tests/messaging_composer/mod.rs +4 -0
  69. package/contracts/endpoint-v2/src/tests/messaging_composer/send_compose.rs +7 -2
  70. package/contracts/layerzero-views/src/layerzero_view.rs +0 -1
  71. package/contracts/layerzero-views/src/tests/mod.rs +1 -0
  72. package/contracts/layerzero-views/src/tests/types_tests.rs +31 -0
  73. package/contracts/layerzero-views/src/types.rs +2 -3
  74. package/contracts/macro-integration-tests/tests/runtime/contract_ttl/constructor.rs +61 -0
  75. package/contracts/macro-integration-tests/tests/runtime/contract_ttl/contract_impl_ttl_extension.rs +97 -0
  76. package/contracts/macro-integration-tests/tests/runtime/contract_ttl/contract_trait_ttl_extension.rs +99 -0
  77. package/contracts/macro-integration-tests/tests/runtime/contract_ttl/mod.rs +3 -0
  78. package/contracts/macro-integration-tests/tests/runtime/lz_contract/mod.rs +5 -0
  79. package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_default.rs +86 -0
  80. package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_multisig.rs +47 -0
  81. package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_multisig_upgradeable.rs +77 -0
  82. package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_upgradeable.rs +114 -0
  83. package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_upgradeable_no_migration.rs +105 -0
  84. package/contracts/macro-integration-tests/tests/runtime/multisig/admin_entrypoints.rs +242 -0
  85. package/contracts/macro-integration-tests/tests/runtime/multisig/mod.rs +9 -0
  86. package/contracts/macro-integration-tests/tests/runtime/multisig/self_auth.rs +54 -0
  87. package/contracts/macro-integration-tests/tests/runtime/ownable/initialization.rs +13 -0
  88. package/contracts/macro-integration-tests/tests/runtime/ownable/mod.rs +1 -0
  89. package/contracts/macro-integration-tests/tests/runtime/ownable/ownership_transfer.rs +70 -1
  90. package/contracts/macro-integration-tests/tests/runtime/ownable/two_step_transfer.rs +219 -0
  91. package/contracts/macro-integration-tests/tests/runtime/storage/keyed_roundtrip.rs +41 -0
  92. package/contracts/macro-integration-tests/tests/runtime/storage/ttl_extension.rs +48 -16
  93. package/contracts/macro-integration-tests/tests/runtime/storage/unkeyed_roundtrip.rs +10 -0
  94. package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/configuration.rs +96 -3
  95. package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/freeze.rs +4 -0
  96. package/contracts/macro-integration-tests/tests/runtime/ttl_extendable/extend_instance_ttl.rs +64 -0
  97. package/contracts/macro-integration-tests/tests/runtime/ttl_extendable/mod.rs +16 -0
  98. package/contracts/macro-integration-tests/tests/runtime/upgradeable/migrate_guard_and_state.rs +305 -0
  99. package/contracts/macro-integration-tests/tests/runtime/upgradeable/mod.rs +3 -0
  100. package/contracts/macro-integration-tests/tests/runtime/upgradeable/no_migration.rs +59 -0
  101. package/contracts/macro-integration-tests/tests/runtime/upgradeable/upgrade_then_migrate.rs +88 -0
  102. package/contracts/macro-integration-tests/tests/runtime.rs +5 -0
  103. package/contracts/macro-integration-tests/tests/ui/contract_impl/fail/not_impl_item.rs +6 -0
  104. package/contracts/macro-integration-tests/tests/ui/contract_impl/fail/not_impl_item.stderr +7 -0
  105. package/contracts/macro-integration-tests/tests/ui/contract_impl/pass/basic.rs +102 -0
  106. package/contracts/macro-integration-tests/tests/ui/contract_trait/fail/not_a_trait.rs +6 -0
  107. package/contracts/macro-integration-tests/tests/ui/contract_trait/fail/not_a_trait.stderr +7 -0
  108. package/contracts/macro-integration-tests/tests/ui/contract_trait/pass/basic.rs +83 -0
  109. package/contracts/macro-integration-tests/tests/ui/error/fail/discriminant_too_large.rs +11 -0
  110. package/contracts/macro-integration-tests/tests/ui/error/fail/discriminant_too_large.stderr +7 -0
  111. package/contracts/macro-integration-tests/tests/ui/error/fail/non_enum_input.rs +11 -0
  112. package/contracts/macro-integration-tests/tests/ui/error/fail/non_enum_input.stderr +7 -0
  113. package/contracts/macro-integration-tests/tests/ui/error/pass/basic.rs +22 -0
  114. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/invalid_option.rs +6 -0
  115. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/invalid_option.stderr +7 -0
  116. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/multisig_rejects_ownable_api.rs +20 -0
  117. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/multisig_rejects_ownable_api.stderr +20 -0
  118. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/not_a_struct.rs +8 -0
  119. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/not_a_struct.stderr +7 -0
  120. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/upgradeable_invalid_inner_option.rs +10 -0
  121. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/upgradeable_invalid_inner_option.stderr +7 -0
  122. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/upgradeable_missing_internal.rs +20 -0
  123. package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/upgradeable_missing_internal.stderr +86 -0
  124. package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/basic.rs +45 -0
  125. package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/multisig.rs +34 -0
  126. package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/multisig_upgradeable.rs +30 -0
  127. package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/upgradeable.rs +39 -0
  128. package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/upgradeable_no_migration.rs +28 -0
  129. package/contracts/macro-integration-tests/tests/ui/multisig/fail/non_struct_input.rs +8 -0
  130. package/contracts/macro-integration-tests/tests/ui/multisig/fail/non_struct_input.stderr +7 -0
  131. package/contracts/macro-integration-tests/tests/ui/multisig/fail/rejects_ownable_api.rs +20 -0
  132. package/contracts/macro-integration-tests/tests/ui/multisig/fail/rejects_ownable_api.stderr +12 -0
  133. package/contracts/macro-integration-tests/tests/ui/multisig/fail/rejects_ownable_trait.rs +20 -0
  134. package/contracts/macro-integration-tests/tests/ui/multisig/fail/rejects_ownable_trait.stderr +5 -0
  135. package/contracts/macro-integration-tests/tests/ui/multisig/pass/basic.rs +49 -0
  136. package/contracts/macro-integration-tests/tests/ui/ownable/fail/non_struct_input.rs +8 -0
  137. package/contracts/macro-integration-tests/tests/ui/ownable/fail/non_struct_input.stderr +7 -0
  138. package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_auth.rs +19 -0
  139. package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_auth.stderr +12 -0
  140. package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_env.rs +1 -1
  141. package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_env.stderr +0 -8
  142. package/contracts/macro-integration-tests/tests/ui/ownable/pass/basic.rs +39 -0
  143. package/contracts/macro-integration-tests/tests/ui/ownable/pass/only_auth_env_param_variants.rs +7 -1
  144. package/contracts/macro-integration-tests/tests/ui/storage/fail/invalid_storage_type_param.stderr +1 -1
  145. package/contracts/macro-integration-tests/tests/ui/storage/fail/missing_storage_type_param.stderr +1 -1
  146. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_default_values.rs +11 -0
  147. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_default_values.stderr +7 -0
  148. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_name_attrs.rs +11 -0
  149. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_name_attrs.stderr +7 -0
  150. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_no_ttl_extension.rs +11 -0
  151. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_no_ttl_extension.stderr +7 -0
  152. package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_type_params.stderr +1 -1
  153. package/contracts/macro-integration-tests/tests/ui/storage/fail/no_ttl_extension_rejects_args.rs +13 -0
  154. package/contracts/macro-integration-tests/tests/ui/storage/fail/no_ttl_extension_rejects_args.stderr +7 -0
  155. package/contracts/macro-integration-tests/tests/ui/storage/pass/api_surface.rs +102 -0
  156. package/contracts/macro-integration-tests/tests/ui/storage/pass/basic.rs +43 -0
  157. package/contracts/macro-integration-tests/tests/ui/storage/pass/multi_key.rs +38 -0
  158. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/fail/missing_auth_trait.rs +14 -0
  159. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/fail/missing_auth_trait.stderr +71 -0
  160. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/fail/non_struct_input.rs +8 -0
  161. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/fail/non_struct_input.stderr +7 -0
  162. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/pass/{minimal_contract.rs → basic.rs} +2 -0
  163. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/pass/multisig_contract.rs +28 -0
  164. package/contracts/macro-integration-tests/tests/ui/ttl_configurable/pass/ownable_contract.rs +32 -0
  165. package/contracts/macro-integration-tests/tests/ui/ttl_extendable/fail/non_struct_input.rs +8 -0
  166. package/contracts/macro-integration-tests/tests/ui/ttl_extendable/fail/non_struct_input.stderr +7 -0
  167. package/contracts/macro-integration-tests/tests/ui/ttl_extendable/pass/basic.rs +23 -0
  168. package/contracts/macro-integration-tests/tests/ui/ttl_extendable/pass/no_user_contractimpl.rs +21 -0
  169. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/attr_args.rs +11 -0
  170. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/attr_args.stderr +29 -0
  171. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/missing_auth_trait.rs +20 -0
  172. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/missing_auth_trait.stderr +71 -0
  173. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/missing_upgradeable_internal.rs +10 -0
  174. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/missing_upgradeable_internal.stderr +79 -0
  175. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/non_struct_input.rs +8 -0
  176. package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/non_struct_input.stderr +7 -0
  177. package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/basic.rs +43 -0
  178. package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/multisig_contract.rs +35 -0
  179. package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/no_migration.rs +30 -0
  180. package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/no_user_contractimpl.rs +29 -0
  181. package/contracts/macro-integration-tests/tests/ui_contract_impl.rs +12 -0
  182. package/contracts/macro-integration-tests/tests/ui_contract_trait.rs +12 -0
  183. package/contracts/macro-integration-tests/tests/ui_lz_contract.rs +11 -0
  184. package/contracts/macro-integration-tests/tests/ui_multisig.rs +11 -0
  185. package/contracts/macro-integration-tests/tests/ui_ttl_extendable.rs +12 -0
  186. package/contracts/macro-integration-tests/tests/ui_upgradeable.rs +11 -0
  187. package/contracts/message-libs/blocked-message-lib/Cargo.toml +1 -1
  188. package/contracts/message-libs/blocked-message-lib/src/lib.rs +4 -1
  189. package/contracts/message-libs/blocked-message-lib/src/tests/blocked_message_lib_tests.rs +108 -0
  190. package/contracts/message-libs/blocked-message-lib/src/tests/mod.rs +4 -0
  191. package/contracts/message-libs/blocked-message-lib/src/tests/setup.rs +40 -0
  192. package/contracts/message-libs/simple-message-lib/src/lib.rs +1 -1
  193. package/contracts/message-libs/simple-message-lib/src/tests/mod.rs +2 -0
  194. package/contracts/message-libs/simple-message-lib/src/tests/setup.rs +124 -0
  195. package/contracts/message-libs/simple-message-lib/src/tests/simple_message_lib_tests.rs +309 -0
  196. package/contracts/message-libs/uln-302/src/errors.rs +21 -0
  197. package/contracts/message-libs/uln-302/src/interfaces/receive_uln.rs +1 -1
  198. package/contracts/message-libs/uln-302/src/receive_uln.rs +6 -4
  199. package/contracts/message-libs/uln-302/src/send_uln.rs +15 -6
  200. package/contracts/message-libs/uln-302/src/storage.rs +5 -5
  201. package/contracts/message-libs/uln-302/src/tests/uln302/get_config.rs +71 -0
  202. package/contracts/message-libs/uln-302/src/tests/uln302/mod.rs +1 -0
  203. package/contracts/message-libs/uln-302/src/uln302.rs +3 -0
  204. package/contracts/oapps/counter/Cargo.toml +2 -0
  205. package/contracts/oapps/counter/integration_tests/mod.rs +1 -0
  206. package/contracts/oapps/counter/integration_tests/setup_sml.rs +6 -4
  207. package/contracts/oapps/counter/integration_tests/setup_uln.rs +12 -5
  208. package/contracts/oapps/counter/integration_tests/test_with_blocked.rs +67 -0
  209. package/contracts/oapps/counter/src/tests/mod.rs +1 -0
  210. package/contracts/oapps/counter/src/tests/test_u256_ext.rs +48 -0
  211. package/contracts/oapps/oapp/src/lib.rs +0 -3
  212. package/contracts/oapps/oapp/src/tests/mod.rs +1 -0
  213. package/contracts/oapps/oft/integration-tests/setup.rs +2 -3
  214. package/contracts/oapps/oft/src/lib.rs +3 -0
  215. package/contracts/oapps/oft/src/tests/extensions/mod.rs +3 -0
  216. package/contracts/oapps/oft/src/tests/extensions/oft_fee.rs +240 -0
  217. package/contracts/oapps/oft/src/tests/extensions/pausable.rs +141 -0
  218. package/contracts/oapps/oft/src/tests/extensions/rate_limiter.rs +447 -0
  219. package/contracts/oapps/oft/src/tests/mod.rs +2 -0
  220. package/contracts/oapps/oft/src/tests/oft_types/lock_unlock.rs +180 -0
  221. package/contracts/oapps/oft/src/tests/oft_types/mod.rs +1 -0
  222. package/contracts/oapps/oft-core/integration-tests/setup.rs +2 -3
  223. package/contracts/oapps/oft-core/src/lib.rs +2 -2
  224. package/contracts/oapps/oft-core/src/tests/mod.rs +1 -1
  225. package/contracts/oapps/oft-core/src/tests/{test_oft_version.rs → test_oft_version_and_approval.rs} +9 -0
  226. package/contracts/oapps/oft-core/src/tests/test_utils.rs +0 -43
  227. package/contracts/upgrader/src/tests/test_upgrader.rs +18 -0
  228. package/contracts/utils/src/auth.rs +2 -2
  229. package/contracts/utils/src/buffer_reader.rs +61 -10
  230. package/contracts/utils/src/buffer_writer.rs +35 -20
  231. package/contracts/utils/src/bytes_ext.rs +1 -2
  232. package/contracts/utils/src/errors.rs +5 -3
  233. package/contracts/utils/src/multisig.rs +59 -36
  234. package/contracts/utils/src/option_ext.rs +3 -3
  235. package/contracts/utils/src/ownable.rs +12 -6
  236. package/contracts/utils/src/tests/auth.rs +179 -0
  237. package/contracts/utils/src/tests/buffer_reader.rs +203 -1
  238. package/contracts/utils/src/tests/buffer_writer.rs +176 -5
  239. package/contracts/utils/src/tests/mod.rs +2 -0
  240. package/contracts/utils/src/tests/multisig.rs +170 -141
  241. package/contracts/utils/src/tests/option_ext.rs +1 -1
  242. package/contracts/utils/src/tests/ownable.rs +156 -161
  243. package/contracts/utils/src/tests/test_helper.rs +21 -1
  244. package/contracts/utils/src/tests/testing_utils.rs +84 -2
  245. package/contracts/utils/src/tests/ttl_configurable.rs +66 -86
  246. package/contracts/utils/src/tests/ttl_extendable.rs +64 -0
  247. package/contracts/utils/src/tests/upgradeable.rs +115 -6
  248. package/contracts/utils/src/ttl_configurable.rs +22 -12
  249. package/contracts/utils/src/ttl_extendable.rs +1 -3
  250. package/contracts/utils/src/upgradeable.rs +21 -24
  251. package/contracts/workers/dvn/src/auth.rs +1 -1
  252. package/contracts/workers/dvn/src/interfaces/dvn.rs +2 -2
  253. package/contracts/workers/dvn/src/storage.rs +1 -1
  254. package/contracts/workers/dvn/src/tests/auth.rs +136 -3
  255. package/contracts/workers/dvn/src/tests/mod.rs +0 -1
  256. package/contracts/workers/dvn/src/tests/setup.rs +4 -10
  257. package/contracts/workers/executor-helper/src/tests/executor_helper.rs +279 -0
  258. package/contracts/workers/executor-helper/src/tests/setup.rs +106 -1
  259. package/contracts/workers/worker/src/worker.rs +1 -1
  260. package/docs/oft-guide.md +5 -5
  261. package/package.json +5 -7
  262. package/sdk/.turbo/turbo-test.log +662 -466
  263. package/sdk/LICENSE +23 -0
  264. package/sdk/dist/generated/bml.d.ts +101 -106
  265. package/sdk/dist/generated/bml.js +108 -26
  266. package/sdk/dist/generated/counter.d.ts +123 -484
  267. package/sdk/dist/generated/counter.js +103 -25
  268. package/sdk/dist/generated/dvn.d.ts +141 -699
  269. package/sdk/dist/generated/dvn.js +106 -28
  270. package/sdk/dist/generated/dvn_fee_lib.d.ts +31 -248
  271. package/sdk/dist/generated/dvn_fee_lib.js +27 -24
  272. package/sdk/dist/generated/endpoint.d.ts +158 -836
  273. package/sdk/dist/generated/endpoint.js +107 -29
  274. package/sdk/dist/generated/executor.d.ts +139 -671
  275. package/sdk/dist/generated/executor.js +106 -28
  276. package/sdk/dist/generated/executor_fee_lib.d.ts +109 -264
  277. package/sdk/dist/generated/executor_fee_lib.js +106 -28
  278. package/sdk/dist/generated/executor_helper.d.ts +95 -92
  279. package/sdk/dist/generated/executor_helper.js +103 -25
  280. package/sdk/dist/generated/layerzero_view.d.ts +178 -335
  281. package/sdk/dist/generated/layerzero_view.js +172 -33
  282. package/sdk/dist/generated/oft.d.ts +137 -680
  283. package/sdk/dist/generated/oft.js +103 -25
  284. package/sdk/dist/generated/price_feed.d.ts +45 -444
  285. package/sdk/dist/generated/price_feed.js +27 -24
  286. package/sdk/dist/generated/sml.d.ts +119 -428
  287. package/sdk/dist/generated/sml.js +103 -25
  288. package/sdk/dist/generated/treasury.d.ts +109 -288
  289. package/sdk/dist/generated/treasury.js +103 -25
  290. package/sdk/dist/generated/uln302.d.ts +190 -527
  291. package/sdk/dist/generated/uln302.js +170 -31
  292. package/sdk/dist/generated/upgrader.d.ts +14 -34
  293. package/sdk/dist/generated/upgrader.js +24 -21
  294. package/sdk/package.json +3 -4
  295. package/sdk/test/counter-sml.test.ts +218 -142
  296. package/sdk/test/counter-uln.test.ts +189 -145
  297. package/sdk/test/oft-sml.test.ts +173 -156
  298. package/sdk/test/suites/constants.ts +7 -1
  299. package/sdk/test/suites/globalSetup.ts +140 -74
  300. package/sdk/turbo.json +1 -1
  301. package/tools/ts-bindings-gen/Cargo.toml +4 -4
  302. package/tools/ts-bindings-gen/src/main.rs +4 -0
  303. package/turbo.json +3 -0
  304. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__storage__snapshot_generated_storage_code.snap +0 -1072
  305. package/contracts/endpoint-v2/src/constants.rs +0 -52
  306. package/contracts/macro-integration-tests/tests/ui/error/fail/attr_not_empty.rs +0 -12
  307. package/contracts/macro-integration-tests/tests/ui/error/fail/attr_not_empty.stderr +0 -7
  308. package/contracts/macro-integration-tests/tests/ui/error/pass/attr_on_variant_allowed.rs +0 -20
  309. package/contracts/macro-integration-tests/tests/ui/error/pass/basic_auto_discriminants.rs +0 -15
  310. package/contracts/macro-integration-tests/tests/ui/error/pass/mixed_discriminants.rs +0 -16
  311. package/contracts/macro-integration-tests/tests/ui/ownable/pass/minimal_contract.rs +0 -26
  312. package/contracts/macro-integration-tests/tests/ui/ownable/pass/namespacing_and_imports.rs +0 -21
  313. package/contracts/macro-integration-tests/tests/ui/storage/fail/storage_attr_rejects_args.rs +0 -12
  314. package/contracts/macro-integration-tests/tests/ui/storage/fail/storage_attr_rejects_args.stderr +0 -7
  315. package/contracts/macro-integration-tests/tests/ui/storage/pass/default_value_on_variant.rs +0 -14
  316. package/contracts/macro-integration-tests/tests/ui/storage/pass/enum_instance_unit_basic.rs +0 -14
  317. package/contracts/macro-integration-tests/tests/ui/storage/pass/enum_persistent_named_fields_keyed.rs +0 -16
  318. package/contracts/macro-integration-tests/tests/ui/storage/pass/enum_temporary_unit_option.rs +0 -15
  319. package/contracts/macro-integration-tests/tests/ui/storage/pass/name_override.rs +0 -14
  320. package/contracts/macro-integration-tests/tests/ui/storage/pass/no_auto_ttl_extension.rs +0 -19
  321. package/contracts/macro-integration-tests/tests/ui/storage/pass/ttl_provider_basic.rs +0 -15
  322. package/contracts/message-libs/simple-message-lib/src/test.rs +0 -280
  323. package/contracts/oapps/oapp/src/macro_tests/mod.rs +0 -1
  324. package/contracts/workers/dvn/src/tests/multisig/mod.rs +0 -3
  325. package/contracts/workers/dvn/src/tests/multisig/set_signer.rs +0 -132
  326. package/contracts/workers/dvn/src/tests/multisig/set_threshold.rs +0 -109
  327. package/contracts/workers/dvn/src/tests/multisig/verify_signatures.rs +0 -106
  328. /package/contracts/oapps/oapp/src/{macro_tests → tests}/test_macros.rs +0 -0
@@ -6,77 +6,140 @@ export * as contract from '@stellar/stellar-sdk/contract';
6
6
  export * as rpc from '@stellar/stellar-sdk/rpc';
7
7
  /**
8
8
  * Embedded WASM bytecode (base64-encoded)
9
- * Size: 57445 bytes (56.10 KB)
9
+ * Size: 58799 bytes (57.42 KB)
10
10
  */
11
- export declare const WASM_BASE64 = "AGFzbQEAAAAB4QElYAJ+fgF+YAABfmAEfn5+fgF+YAN+fn4BfmABfgF+YAV/f35+fgBgAn9/AX5gA39+fgBgAABgA39/fwBgAX8BfmACf38AYAJ+fgF/YAJ/fgBgAX8Bf2ADfn5+AGAAAX9gAX8AYAJ+fwBgAX4AYAJ+fwF+YAN/fn8AYAR/f39/AX5gBX5/f39/AGABfgF/YAN+f38AYAR/f39/AX9gAn9+AX9gBH9+fn4AYAJ+fwF/YAJ/fwF/YAN/fn4Bf2AHf35+f35+fwBgAn5+AGAEfn5/fwF+YAN+f38BfmADf39/AX8CjwItAW0BNAAAAW0BMQAAAWIBNAABAWwBNwACAWwBMQAAAWwBXwADAWIBXwAEAWwBMgAAAWEBMAAEAXYBMQAAAXYBMwAEAXYBXwABAW0BXwABAW0BMAADAWIBMAAEAWIBOAAEAWQBXwADAWIBZQAAAWIBNgAAAWMBMQAEAXgBMQAAAXgBNwABAXYBNgAAAXgBMAAAAWkBXwAEAWkBMAAEAWIBZgADAWIBMQACAWIBMwAAAXYBZwAAAWkBOAAEAWkBNwAEAWkBNgAAAWIBagAAAWIBMgACAW0BOQADAW0BYQACAWIBYgAEAXgBMwABAXgBOAABAWwBMAAAAWwBOAAAAWkBYgAEAXgBNQAEAWkBYQAEA7oBuAEFBAYHCAkKCwwNCw0OCwoLCgsNCg8LBwsQEQsKCAEBERIIERMKEQkNBwsKCwoLCwoUFQMHFgkLCw0LFxETEhIYEREJDQ0NDQ0LDgYZDgoBBBUIGhscCQ4dCg0KBx4eHxsICgQRBgQEAQEECwAVABUECwAVABUDDSADHAoAAg0ABAMABAsAFQAADgMEAQEDCwsTAQEBAAEEIQAIEAcBAQAADQoBCwEBEQgNIh4UDQ0GCSMNDQkLCSQkBAUBcAEBAQUDAQARBiEEfwFBgIDAAAt/AEHeiMAAC38AQYKLwAALfwBBkIvAAAsHvAYqBm1lbW9yeQIAHHNldF9kZWZhdWx0X2V4ZWN1dG9yX2NvbmZpZ3MAjwEcc2V0X2RlZmF1bHRfc2VuZF91bG5fY29uZmlncwCTAQh0cmVhc3VyeQCUARdkZWZhdWx0X2V4ZWN1dG9yX2NvbmZpZwCWARRvYXBwX2V4ZWN1dG9yX2NvbmZpZwCYARllZmZlY3RpdmVfZXhlY3V0b3JfY29uZmlnAJoBF2RlZmF1bHRfc2VuZF91bG5fY29uZmlnAJwBFG9hcHBfc2VuZF91bG5fY29uZmlnAJ4BGWVmZmVjdGl2ZV9zZW5kX3Vsbl9jb25maWcAoAEFcXVvdGUAogEEc2VuZAClAQZ2ZXJpZnkAqQETY29tbWl0X3ZlcmlmaWNhdGlvbgCrAR9zZXRfZGVmYXVsdF9yZWNlaXZlX3Vsbl9jb25maWdzAKwBDWNvbmZpcm1hdGlvbnMArQEKdmVyaWZpYWJsZQCuARpkZWZhdWx0X3JlY2VpdmVfdWxuX2NvbmZpZwCvARdvYXBwX3JlY2VpdmVfdWxuX2NvbmZpZwCxARxlZmZlY3RpdmVfcmVjZWl2ZV91bG5fY29uZmlnALMBCnNldF9jb25maWcAtAEKZ2V0X2NvbmZpZwC2ARBpc19zdXBwb3J0ZWRfZWlkALcBB3ZlcnNpb24AuAEQbWVzc2FnZV9saWJfdHlwZQC5AQ1fX2NvbnN0cnVjdG9yALoBCGVuZHBvaW50AL4BCmF1dGhvcml6ZXIAvwEFb3duZXIAwAENcGVuZGluZ19vd25lcgDCARJ0cmFuc2Zlcl9vd25lcnNoaXAAwwEacHJvcG9zZV9vd25lcnNoaXBfdHJhbnNmZXIAxQEQYWNjZXB0X293bmVyc2hpcADJARJyZW5vdW5jZV9vd25lcnNoaXAAygETZXh0ZW5kX2luc3RhbmNlX3R0bADLAQ9zZXRfdHRsX2NvbmZpZ3MAzAELdHRsX2NvbmZpZ3MAzwESZnJlZXplX3R0bF9jb25maWdzANEBFWlzX3R0bF9jb25maWdzX2Zyb3plbgDSAQFfAwEKX19kYXRhX2VuZAMCC19faGVhcF9iYXNlAwMKlO8BuAHCAwIDfwl+I4CAgIAAQYABayIFJICAgIAAAkACQCABKAIEIgYpAwAgASgCICIHrUIghkIEhCIIEICAgIAAIglCAVINACAGKQMAIAgQgYCAgAAiCkL/AYNCyABSDQELEIKAgIAAIQggASgCCCkDACELIAEoAgwpAwAhDCABKAIQNQIAIQ0gASgCFCkDACEOIAEoAhgpAwAhDyABKAIcKQMAEK6AgIAAIRAgBSAKIAggCUIBURs3AzggBSAQNwMwIAUgDzcDKCAFIA43AyAgBSANQiCGQgSENwMYIAUgDDcDECAFIAs3AwhBACEGAkADQAJAIAZBOEcNAEEAIQYCQANAIAZBOEYNASAFQcAAaiAGaiAFQQhqIAZqKQMANwMAIAZBCGohBgwACwsgBUHAAGogBCAFQcAAakEHEK+AgIAAELCAgIAAAkAgAyAFKQNIIgqFQn+FIAMgAyAKfCACIAUpA0B8IgogAlStfCIChYNCf1cNACAAIAo3AwAgACACNwMIIAdBAWoiBg0DCxCxgICAAAwDCyAFQcAAaiAGakICNwMAIAZBCGohBgwACwsgASAGNgIgIAVBgAFqJICAgIAADwsAC0EBAX8jgICAgABBEGsiASSAgICAACABIAAQ8YCAgAACQCABKAIAQQFHDQAACyABKQMIIQAgAUEQaiSAgICAACAACxoAIACtQiCGQgSEIAGtQiCGQgSEEJ2AgIAAC2cBAX8jgICAgABBIGsiAySAgICAACADIAFCjtTqtZDXsgEgAhCQgICAABDVgYCAAAJAIAMoAgBBAUcNABCxgICAAAALIAMpAxAhAiAAIAMpAxg3AwggACACNwMAIANBIGokgICAgAALCQAQ1IGAgAAACyUAIAAQs4CAgABCASABrUIghkIEhCACrUIghkIEhBCDgICAABoLvQUCAX8DfiOAgICAAEEwayIBJICAgIAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIADgkAAQIDBAUGBwgACyABQRBqQdSEwIAAQQgQ04CAgAAgASgCEA0LIAFBEGogASkDGBDUgICAAAwJCyABQRBqQdyEwIAAQQgQ04CAgAAgASgCEA0KIAFBEGogASkDGBDUgICAAAwICyABQRBqQeSEwIAAQRYQ04CAgAAgASgCEA0JIAFBEGogASkDGCAANQIEQiCGQgSEENWAgIAADAcLIAFBEGpB+oTAgABBFRDTgICAACABKAIQDQggAUEQaiABKQMYIAA1AgRCIIZCBIQQ1YCAgAAMBgsgAUEQakGPhcCAAEEYENOAgIAAIAEoAhANByABQRBqIAEpAxggADUCBEIghkIEhBDVgICAAAwFCyABQaeFwIAAQRMQ04CAgAAgASgCAA0GIAEgASkDCDcDECABIAApAwg3AxggASAANQIEQiCGQgSENwMgIAEgAUEQahDWgICAAAwDCyABQbqFwIAAQRIQ04CAgAAgASgCAA0FIAEgASkDCDcDECABIAApAwg3AxggASAANQIEQiCGQgSENwMgIAEgAUEQahDWgICAAAwCCyABQcyFwIAAQRUQ04CAgAAgASgCAA0EIAEgASkDCDcDECABIAApAwg3AxggASAANQIEQiCGQgSENwMgIAEgAUEQahDWgICAAAwBCyABQRBqQeGFwIAAQQ0Q04CAgAAgASgCEA0DIAEpAxghAiAAKQMIIQMgACkDECEEIAEgACkDGDcDKCABIAQ3AyAgASADNwMYIAEgAjcDECABQRBqQQQQr4CAgAAhAgwECyABKQMIIQIgASkDACEDDAELIAEpAxghAiABKQMQIQMLIANQDQELAAsgAUEwaiSAgICAACACC3kCAX8BfiOAgICAAEEwayICJICAgIAAAkACQAJAIAEQs4CAgAAiA0IBELWAgIAADQAgAEECOgAiDAELIAJBCGogA0IBEISAgIAAELaAgIAAIAItACpBAkYNASAAIAJBCGpBKBDkgYCAABoLIAJBMGokgICAgAAPCwALDwAgACABEKiAgIAAQgFRC5YDAQV/I4CAgIAAQfAAayICJICAgIAAQQAhAwJAA0AgA0EgRg0BIAJBCGogA2pCAjcDACADQQhqIQMMAAsLQQIhAwJAIAFC/wGDQswAUg0AIAFB7IPAgABBBCACQQhqQQQQ54CAgAAgAkEoaiACKQMIELiAgIAAIAIoAihBAUYNACACQdAAakEYaiACQcgAaikDADcDACACQdAAakEQaiACQShqQRhqKQMANwMAIAJB2ABqIAJBKGpBEGopAwA3AwAgAiACKQMwNwNQQQIhA0EBIAItABAiBEEAR0EBdCAEQQFGGyIEQQJGDQBBAiEDQQEgAi0AGCIFQQBHQQF0IAVBAUYbIgVBAkYNAEECIQNBASACLQAgIgZBAEdBAXQgBkEBRhsiBkECRg0AIAAgAikDUDcDACAAIAY6ACEgACAEOgAgIABBGGogAkHQAGpBGGopAwA3AwAgAEEQaiACQdAAakEQaikDADcDACAAQQhqIAJB0ABqQQhqKQMANwMAIAUhAwsgACADOgAiIAJB8ABqJICAgIAAC7ABAgF/An4jgICAgABBMGsiAiSAgICAAEIAIQMCQAJAIAEQs4CAgAAiBEIBELWAgIAARQ0AIAJBCGogBEIBEISAgIAAELiAgIAAIAIoAghBAUYNASAAIAIpAxA3AwggAEEgaiACQQhqQSBqKQMANwMAIABBGGogAkEIakEYaikDADcDACAAQRBqIAJBCGpBEGopAwA3AwBCASEDCyAAIAM3AwAgAkEwaiSAgICAAA8LAAvoAQICfwN+I4CAgIAAQTBrIgIkgICAgABBACEDAkADQCADQSBGDQEgAiADakICNwMAIANBCGohAwwACwtCASEEAkAgAUL/AYNCzABSDQAgAUH0gsCAAEEEIAJBBBDngICAACACQSBqIAIpAwAQ8ICAgAAgAigCIA0AIAIpAwgiAUL/AYNCBFINACACKQMQIgVC/wGDQssAUg0AIAIpAxgiBkL/AYNCywBSDQAgAikDKCEEIAAgAUIgiKc2AiAgACAFNwMYIAAgBjcDECAAIAQ3AwhCACEECyAAIAQ3AwAgAkEwaiSAgICAAAsSACAAELOAgIAAQgEQtYCAgAALGwAgABCzgICAACABELuAgIAAQgEQhYCAgAAaC0MCAX8BfiOAgICAAEEQayIBJICAgIAAIAEgABDYgICAAAJAIAEoAgBBAUcNAAALIAEpAwghAiABQRBqJICAgIAAIAILGwAgABCzgICAACABEL2AgIAAQgEQhYCAgAAaC0MCAX8BfiOAgICAAEEQayIBJICAgIAAIAEgABDbgICAAAJAIAEoAgBBAUcNAAALIAEpAwghAiABQRBqJICAgIAAIAILTQECfkIAIQICQAJAIAEQs4CAgAAiA0ICELWAgIAARQ0AIANCAhCEgICAACICQv8Bg0LNAFINASAAIAI3AwhCASECCyAAIAI3AwAPCwALFQAgABCzgICAACABQgIQhYCAgAAaCxAAIAAQvYCAgAAQhoCAgAALTQEBfyOAgICAAEEgayIDJICAgIAAIAMgATcDGCADIAA3AxAgAyACNwMIIANBCDYCACADELOAgIAAQgEQh4CAgAAaIANBIGokgICAgAALZwEBfgJAAkACQCABKQMAIgJCAoUgASkDCIRQRQ0AQgAhAgwBCyACp0EBcQ0BIAAgASkDGDcDGCAAIAEpAxA3AxAgACABKQMgNwMgQgEhAgsgACACNwMAIABCADcDCA8LELGAgIAAAAs3AQF+QgAhAwJAAkAgAUICUQ0AIAGnQQFxDQEgACACNwMIQgEhAwsgACADNwMADwsQsYCAgAAAC0gBAn5CACECAkACQCABKQMAIgNCAlENACADp0EBcQ0BIABBCGogAUEIakEoEOSBgIAAGkIBIQILIAAgAjcDAA8LELGAgIAAAAuLAQICfwF+I4CAgIAAQRBrIgAkgICAgAAgAEEEahDGgICAAAJAIAAoAgRBAUcNACAAKAIIIAAoAgwQx4CAgAALQQAhAQJAQQAQyICAgAAiAkICELWAgIAARQ0AQQEhAQJAAkAgAkICEISAgIAAp0H/AXEOAgECAAsAC0EAIQELIABBEGokgICAgAAgAQsMACAAQQEQ4YGAgAALGwAgAK1CIIZCBIQgAa1CIIZCBIQQqYCAgAAaC8IBAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkACQAJAAkACQCAAQf8BcQ4DAAECAAsgAUHqisCAAEEGENOAgIAAIAEoAgANAyABIAEpAwgQ1ICAgAAMAgsgAUHwisCAAEEIENOAgIAAIAEoAgANAiABIAEpAwgQ1ICAgAAMAQsgAUH4isCAAEEKENOAgIAAIAEoAgANASABIAEpAwgQ1ICAgAALIAEpAwghAiABKQMAUA0BCwALIAFBEGokgICAgAAgAgsPABDKgICAABCIgICAABoLZgIBfwF+I4CAgIAAQRBrIgAkgICAgAAgABDGgICAAAJAIAAoAgBBAUcNACAAKAIEIAAoAggQx4CAgAALIAAQzICAgAAgACkDCCEBIAApAwBBiggQzYCAgAAgAEEQaiSAgICAACABC0oCAX8BfiOAgICAAEEQayIAJICAgIAAIAAQzICAgAAgACkDCCEBIAApAwBBiggQzYCAgAAgARCIgICAABogAEEQaiSAgICAACABC1ABAX8jgICAgABBEGsiASSAgICAACABQQRqEMaAgIAAAkAgASgCBEEBRw0AIAEoAgggASgCDBDHgICAAAsgABDSgICAACABQRBqJICAgIAACykAAkAgAKdBAXFFDQAPCyABQfp3aq1CIIZCg4CAgOCAAXwQ0ICAgAAAC0IBAX8jgICAgABBEGsiACSAgICAACAAEM+AgIAAAkAgACkDAFANAEKDgICAsIEBENCAgIAAAAsgAEEQaiSAgICAAAuTAQIBfwJ+I4CAgIAAQRBrIgEkgICAgAAgAUEEahDGgICAAAJAIAEoAgRBAUcNACABKAIIIAEoAgwQx4CAgAALQgAhAgJAAkBBARDRgICAACIDQgAQtYCAgABFDQAgA0IAEISAgIAAIgJC/wGDQs0AUg0BIAAgAjcDCEIBIQILIAAgAjcDACABQRBqJICAgIAADwsACwsAIAAQq4CAgAAaC5IBAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkACQAJAIABBAXFFDQAgAUH9icCAAEEMENOAgIAAIAEoAgANAiABIAEpAwgQ1ICAgAAMAQsgAUH4icCAAEEFENOAgIAAIAEoAgANASABIAEpAwgQ1ICAgAALIAEpAwghAiABKQMAUA0BCwALIAFBEGokgICAgAAgAgtNAQJ+QgAhAQJAAkBBABDRgICAACICQgIQtYCAgABFDQAgAkICEISAgIAAIgFC/wGDQs0AUg0BIAAgATcDCEIBIQELIAAgATcDAA8LAAtRAgF/AX4jgICAgABBEGsiAySAgICAACADIAEgAhDcgYCAAEIBIQQCQCADKAIADQAgACADKQMINwMIQgAhBAsgACAENwMAIANBEGokgICAgAALRAEBfyOAgICAAEEQayICJICAgIAAIAIgATcDCCACQQhqQQEQr4CAgAAhASAAQgA3AwAgACABNwMIIAJBEGokgICAgAALSAEBfyOAgICAAEEQayIDJICAgIAAIAMgAjcDCCADIAE3AwAgA0ECEK+AgIAAIQIgAEIANwMAIAAgAjcDCCADQRBqJICAgIAAC10CAX8BfiOAgICAAEEgayICJICAgIAAIAIgASkDEDcDGCACIAEpAwg3AxAgAiABKQMANwMIIAJBCGpBAxCvgICAACEDIABCADcDACAAIAM3AwggAkEgaiSAgICAAAtaAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkACQCAALQAiQQJHDQBCAiECDAELIAEgABDYgICAACABKAIAQQFxDQEgASkDCCECCyABQRBqJICAgIAAIAIPCwALhAECAX8BfiOAgICAAEEgayICJICAgIAAIAIgARDbgICAAEIBIQMCQCACKAIADQAgAiACKQMINwMAIAIgATEAITcDGCACIAExACI3AxAgAiABMQAgNwMIIABB7IPAgABBBCACQQQQ4YCAgAA3AwhCACEDCyAAIAM3AwAgAkEgaiSAgICAAAtDAgF/AX4jgICAgABBEGsiASSAgICAACABIAAQ2oCAgAACQCABKAIAQQFHDQAACyABKQMIIQIgAUEQaiSAgICAACACC2YCAX8BfiOAgICAAEEQayICJICAgIAAIAIgASkDCEICIAEoAgAbNwMAIAIgATUCEEIghkIEhDcDCEG0hMCAAEECIAJBAhDhgICAACEDIABCADcDACAAIAM3AwggAkEQaiSAgICAAAuNAQIBfwF+I4CAgIAAQSBrIgIkgICAgAAgAiABKQMAEPGAgIAAQgEhAwJAIAIoAgANACACIAIpAwg3AwAgAiABKQMINwMYIAIgASkDEDcDECACIAE1AhhCIIZCBIQ3AwggAEH0gsCAAEEEIAJBBBDhgICAADcDCEIAIQMLIAAgAzcDACACQSBqJICAgIAAC1oCAX8BfiOAgICAAEEQayIBJICAgIAAAkACQAJAIAAoAgANAEICIQIMAQsgASAAQQhqENuAgIAAIAEoAgBBAXENASABKQMIIQILIAFBEGokgICAgAAgAg8LAAtDAQF/I4CAgIAAQRBrIgIkgICAgAAgAiAAIAEQ3oCAgAACQCACKAIAQQFHDQAACyACKQMIIQAgAkEQaiSAgICAACAAC1cBAX8jgICAgABBEGsiAySAgICAACADIAE3AwAgAyACrUIghkIEhDcDCEG0hMCAAEECIANBAhDhgICAACEBIABCADcDACAAIAE3AwggA0EQaiSAgICAAAtoAQF/I4CAgIAAQSBrIgMkgICAgAAgA0EQaiAAIAEQ4ICAgAACQCADKAIQQQFHDQAACyADKQMYIQEgAyACNwMIIAMgATcDAEGEiMCAAEECIANBAhDhgICAACEBIANBIGokgICAgAAgAQtbAAJAAkAgAUKAgICAgICAwAB8Qv//////////AFYNACABIAGFIAIgAUI/h4WEQgBSDQAgAUIIhkILhCEBDAELIAIgARCggICAACEBCyAAQgA3AwAgACABNwMICy4AAkAgASADRg0AAAsgAK1CIIZCBIQgAq1CIIZCBIQgAa1CIIZCBIQQo4CAgAALYQACQCABKAIAQQFHDQAgACABKQMINwMAIABBGGogAUEgaikDADcDACAAQRBqIAFBGGopAwA3AwAgAEEIaiABQRBqKQMANwMADwsgAkF/aq1CIIZCg4CAgBB8ENCAgIAAAAtpAgF/AX4CQCABKAIIIgIgASgCDEkNACAAQgI3AwAPCyABKQMAIAKtQiCGQgSEEImAgIAAIQMCQCACQQFqIgJFDQAgACADNwMIIAEgAjYCCCAAIANC/wGDQs0AUq03AwAPCxCxgICAAAALiwEBAn8jgICAgABBMGsiAiSAgICAAAJAAkAgASgCCCIDIAEoAgxJDQAgAEIANwMIIABCAjcDAAwBCyACIAEpAwAgA61CIIZCBIQQiYCAgAAQ5YCAgAACQCADQQFqIgNFDQAgASADNgIIIAAgAkEwEOSBgIAAGgwBCxCxgICAAAALIAJBMGokgICAgAAL0QECAn8CfiOAgICAAEEwayICJICAgIAAQQAhAwJAA0AgA0EQRg0BIAIgA2pCAjcDACADQQhqIQMMAAsLQgAhBEIBIQUCQCABQv8Bg0LMAFINACABQYSIwIAAQQIgAkECEOeAgIAAIAJBEGogAikDABDVgYCAACACKAIQQQFGDQAgAikDCCIBQv8Bg0LNAFINACACKQMoIQQgACACKQMgNwMQIAAgATcDICAAIAQ3AxhCACEFQgAhBAsgACAFNwMAIAAgBDcDCCACQTBqJICAgIAAC+UDBQJ/AX4BfwF+A38jgICAgABBgAFrIgIkgICAgAACQAJAIAEoAggiAyABKAIMSQ0AIABCAjcDAAwBCyABKQMAIAOtQiCGQgSEEImAgIAAIQRBACEFAkADQCAFQRBGDQEgAkEoaiAFakICNwMAIAVBCGohBQwACwtCASEGAkACQAJAIARC/wGDQswAUg0AIARBjITAgABBAiACQShqQQIQ54CAgAAgAkE4aiACKQMoELiAgIAAIAIoAjhBAUcNAQsMAQsgAkHgAGpBGGoiByACQdgAaikDADcDACACQeAAakEQaiIIIAJBOGpBGGopAwA3AwAgAkHgAGpBCGoiCSACQThqQRBqKQMANwMAIAIgAikDQDcDYCACKQMwIgRC/wGDQgRSDQAgAkEIakEYaiAHKQMANwMAIAJBCGpBEGogCCkDADcDACACQQhqQQhqIAkpAwA3AwAgAiACKQNgNwMIIARCIIinIQVCACEGCwJAIANBAWoiA0UNACAAIAY3AwAgASADNgIIIAAgAikDCDcDCCAAIAU2AiggAEEQaiACQRBqKQMANwMAIABBGGogAkEIakEQaikDADcDACAAQSBqIAJBCGpBGGopAwA3AwAMAQsQsYCAgAAACyACQYABaiSAgICAAAsxAAJAIAIgBEYNAAALIAAgAa1CIIZCBIQgA61CIIZCBIQgAq1CIIZCBIQQpICAgAAaCy0BAX4gACkDCCIBEOmAgIAAIAApAxAgACgCGCIAEOqAgIAAIAEgABDrgICAAAtBAAJAAkAgABDsgICAAA0AIAAQioCAgABCgICAgIAQWg0BDwtCg4CAgNAAENCAgIAAAAtCg4CAgOABENCAgIAAAAt+AAJAAkACQAJAAkAgABDsgICAAA0AIAAQioCAgABCgICAgIAQWg0BIAAQioCAgAAhACABDQIgAEL/////D1gNAwwEC0KDgICAwAAQ0ICAgAAAC0KDgICAsAEQ0ICAgAAACyABIABCIIinSw0BCw8LQoOAgIDQARDQgICAAAALLQACQAJAIAAQioCAgABC/////w9WDQAgAUUNAQsPC0KDgICAgAIQ0ICAgAAAC68BAwF/An4BfyOAgICAAEEwayIBJICAgIAAEIyAgIAAIQIgABCKgICAACEDIAFBADYCCCABIAA3AwAgASADQiCIPgIMA38gAUEgaiABEOOAgIAAIAFBEGogASkDICABKQMoEMOAgIAAAkACQCABKAIQIgRBAUcNACACIAEpAxgiABCAgICAAEIBUg0BCyABQTBqJICAgIAAIARBAXEPCyACIABCARCNgICAACECDAALCz8BAn4Qi4CAgAAhARCLgICAACECIABBAToAIiAAQYECOwEgIABBADYCGCAAIAI3AxAgACABNwMIIABCADcDAAu3AQEBfgJAAkACQAJAIAAtACBBAUcNACAAKQMAQgBSDQELIAApAwghAQJAAkAgAC0AIQ0AIAEQ6YCAgAAMAQsgARCKgICAAEL/////D1YNAgsCQCAALQAiDQAgACkDECAAKAIYEOqAgIAADAMLAkAgACgCGA0AIAApAxAQioCAgABCgICAgBBUDQMLQoOAgIDAARDQgICAAAALQoOAgICAARDQgICAAAALQoOAgIDwARDQgICAAAALC0YBAX8gACACIAEgAS0AIhsiAygCGDYCGCAAIAMpAxA3AxAgACACIAEgAS0AIRspAwg3AwggACACIAEgAS0AIBspAwA3AwALXQIBfwF+AkACQCABp0H/AXEiAkHAAEYNAAJAIAJBBkYNAEIBIQNCg5CAgIABIQEM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ADcDACABQQhqIAQpAwA3AwAgASABKQMgNwMAIAEQh4GAgAAhAiABQcAAaiSAgICAACACDwtCg4CAgICCARDQgICAAAALEP6AgIAAAAt4AgF/AX4jgICAgABBMGsiACSAgICAACAAQRBqEMaAgIAAAkAgACgCEEEBRw0AIAAoAhQgACgCGBDHgICAAAsgAEEANgIQIAAgAEEQahC+gICAAAJAIAAoAgANABCNgYCAAAALIAApAwghASAAQTBqJICAgIAAIAELMAACQEHeiMCAAEEIENuBgIAAIAAQkYCAgAAQjoCAgAAiAEL/AYNCzQBRDQAACyAAC84BAQF/I4CAgIAAQaABayIDJICAgIAAIANB+ABqEMaAgIAAAkAgAygCeEEBRw0AIAMoAnwgAygCgAEQx4CAgAALIANB+ABqIAIQsIGAgAAgA0EIaiADQfgAakECEOKAgIAAIANB0ABqIAEgAhCygYCAACADQfgAahDtgICAACADQShqIANB+ABqIANB0ABqIAMtAHJBAkYbQSgQ5IGAgAAaIAAgA0EoaiADQQhqEO+AgIAAIAApAwggACgCGBDrgICAACADQaABaiSAgICAAAsJABCxgICAAAALmQMCAX8CfiOAgICAAEHgAGsiBCSAgICAACAEIAE2AhQgBCADNgIQIAQgAjYCDCAEIAA2AgggASgCGCEAIAEpAwgiBRCKgICAACEGIARBADYCSCAEIAU3A0AgBCAGQiCIPgJMAkADQCAEQRhqIARBwABqEOOAgIAAIARB0ABqIAQpAxggBCkDIBDDgICAACAEKQNQpyIDQQFHDQEgBEEIaiAEKQNYEICBgIAADQALC0EAIQICQAJAIAMNACABKQMQIgUQioCAgAAhBiAEQRhqQQhqIARBCGpBCGopAgA3AwAgBCAANgI4QQAhAyAEQQA2AjAgBCAFNwMoIAQgBCkCCDcDGCAEIAZCIIg+AjQCQCAARQ0AIARBKGohAUEAIQMgACECA0AgBEHQAGogARDjgICAACAEQcAAaiAEKQNQIAQpA1gQw4CAgAAgBCgCQEEBRw0BIARBGGogBCkDSBCAgYCAAEUNACADQQFqIgNFDQMgAkF/aiICDQALCyADIABGIQILIARB4ABqJICAgIAAIAIPCxCxgICAAAALXAIBfwF+I4CAgIAAQRBrIgIkgICAgAAgACgCDCkDACEDIAIgASAAKAIEKQMAIAAoAggpAwAQgYGAgAAgAikDCCEBIAIoAgAhACACQRBqJICAgIAAIAAgASADWnEL5AEBAX8jgICAgABBMGsiBCSAgICAACAEEMaAgIAAAkAgBCgCAEEBRw0AIAQoAgQgBCgCCBDHgICAAAsgBCADNwMYIAQgAjcDECAEIAE3AwggBEEINgIAAkACQAJAIAQQs4CAgAAiA0IBELWAgIAARQ0AIARBIGogA0IBEISAgIAAEPCAgIAAIAQoAiBBAUcNAQALIABCADcDAAwBCyAEKQMoIQMgAEIBNwMAIAAgAzcDCCAEQSBqEJCBgIAAIAQoAiBBAUcNACAEIAQoAiQgBCgCKBCygICAAAsgBEEwaiSAgICAAAuCCgMCfwZ+AX8jgICAgABB0ABrIgMkgICAgAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACKQMAEI+AgIAAQv////8fWA0AIANBADYCDCADIAI2AggCQCADQQhqEIOBgIAAQf//A3EiAkEDRg0AIAMQgoCAgAA3AxAgAygCCCkDACADKAIMEISBgIAAIQQCQAJAAkAgAkF/ag4CAQIAC0KDgICAkIsBENCAgIAAAAsgBEEgRg0KQoOAgIDwigEQ0ICAgAAACyAEQb9/akEgTw0CIANBMGogA0EIahCFgYCAABCGgYCAACADKAIwQQFxRQ0DIAMpA0ghBSADKQNAIQYgA0EwaiADQQhqEIWBgIAAEIaBgIAAIAMoAjBBAXFFDQQgAykDSCEHIAMpA0AhCCADQQhqIAMoAggpAwAgAygCDBCEgYCAABD3gICAACIJEI+AgIAAQoCAgICQBFoNBSADQcgAakIANwMAIANBwABqQgA3AwAgA0E4akIANwMAIANCADcDMAJAAkAgCRCPgICAACIKQv////+PBFYNACAJEI+AgIAAQiCIIApCIIgiClENARD+gICAAAALELGAgIAAAAsgCSADQTBqIAqnIgJrQSBqIAIQ+ICAgAAgA0EwahCHgYCAACEJIANBEGogBiAFEIiBgIAAIANBEGpBARCJgYCAAEExEIqBgIAAQQIQiYGAgAAgCCAHEIuBgIAAIAkQjIGAgAAaDAoLEIKAgIAAIQkQjICAgAAhBQNAIAMoAggpAwAgAygCDBCEgYCAAEUNCyADQQhqEPaAgIAAIQIgA0EIahCDgYCAACEEIAMoAgwiC0ECTQ0GIAMgC0F9ajYCDCADQQhqIARB//8DcUEDahD3gICAACEKAkACQAJAIAJB/wFxQX9qDgIBAgALQoOAgICwiwEQ0ICAgAAACyAJIAoQkYCAgAAhCQwBCyAKEI+AgIAAQv////8/WA0HAkAgBSAKQoSAgIAwEJKAgIAAQoCAgIDwH4NCBIQiBxCAgICAACIIQgFSDQAgBSAHEIGAgIAAIgZC/wGDQsgAUg0JCyAFIAcgBhCCgICAACAIQgFRGyAKEJGAgIAAEI2AgIAAIQUMAAsLQoOAgICgiwEQ0ICAgAAAC0KDgICAgIsBENCAgIAAAAtCg4CAgOCLARDQgICAAAALQoOAgIDQiwEQ0ICAgAAAC0KDgICA4IoBENCAgIAAAAtCg4CAgID9ABDQgICAAAALEI2BgIAACwALIANBMGogA0EIahCFgYCAABCGgYCAACADKAIwQQFxRQ0CIANBEGogAykDQCADKQNIEIiBgIAACyADKAIIKQMAIAMoAgwQhIGAgAANAiADKQMQIQkQjICAgAAhBQsgARCOgYCAACEKIAEpAyAhBiABKQMYIQcgA0EwakEYaiICQgA3AwAgA0EwakEQaiIEQgA3AwAgA0EwakEIaiILQgA3AwAgA0IANwMwIAcgA0EwakEgEPiAgIAAIANBEGpBGGogAikDADcDACADQRBqQRBqIAQpAwA3AwAgA0EQakEIaiALKQMANwMAIAMgAykDMDcDECAAIANBEGoQh4GAgAAgBhCRgICAABCTgICAADcDGCAAIAo3AxAgACAFNwMIIAAgCTcDACADQdAAaiSAgICAAA8LQoOAgIDAiwEQ0ICAgAAAC0KDgICAoIsBENCAgIAAAAuhAQIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAIABBAhD3gICAACICEI+AgIAAQoCAgIBwg0KAgICAIFINACABQQA7AQ4gAhCPgICAAEKAgICAcINCgICAgCBSDQEgAiABQQ5qQQIQ+ICAgAAgAS8BDiEAIAFBEGokgICAgAAgAEEIdCAAQQh2cg8LQoOAgICAggEQ0ICAgAAACxD+gICAAAALJwEBfwJAIAAQj4CAgABCIIinIgIgAUkNACACIAFrDwsQsYCAgAAACxIAIABBIBD3gICAABCsgICAAAv4AgIBfwJ+I4CAgIAAQSBrIgIkgICAgAAgAkEPaiABEKqAgIAAIgFCBEKEgICAgAIQmoCAgAAQ3oGAgAACQCACLQAPQQFGDQAgAikAGCEDIAIpABAhBCACQQ9qIAFChICAgIACQoSAgICABBCagICAABDegYCAACACLQAPQQFGDQACQAJAIAQgA4RCAFENAEIAIQEMAQsgAikAGCEBIAAgAikAECIDQjiGIANCgP4Dg0IohoQgA0KAgPwHg0IYhiADQoCAgPgPg0IIhoSEIANCCIhCgICA+A+DIANCGIhCgID8B4OEIANCKIhCgP4DgyADQjiIhISENwMYIAAgAUI4hiABQoD+A4NCKIaEIAFCgID8B4NCGIYgAUKAgID4D4NCCIaEhCABQgiIQoCAgPgPgyABQhiIQoCA/AeDhCABQiiIQoD+A4MgAUI4iISEhDcDEEIBIQELIAAgATcDACAAQgA3AwggAkEgaiSAgICAAA8LELGAgIAAAAsMACAAQSAQ24GAgAALJwAgAEEBEImBgIAAQREQioGAgABBARCJgYCAACABIAIQi4GAgAAaC1gCAX8BfiOAgICAAEEQayICJICAgIAAIAIgAToADyAAKQMAIQMgACADIAMQj4CAgABCgICAgHCDQgSEIAJBD2pBARDWgYCAADcDACACQRBqJICAgIAAIAALWwIBfwF+I4CAgIAAQRBrIgIkgICAgAAgAiABQQh0OwEOIAApAwAhAyAAIAMgAxCPgICAAEKAgICAcINCBIQgAkEOakECENaBgIAANwMAIAJBEGokgICAgAAgAAv8AQEBfyOAgICAAEEQayIDJICAgIAAIAMgAUI4hiABQoD+A4NCKIaEIAFCgID8B4NCGIYgAUKAgID4D4NCCIaEhCABQgiIQoCAgPgPgyABQhiIQoCA/AeDhCABQiiIQoD+A4MgAUI4iISEhDcDCCADIAJCOIYgAkKA/gODQiiGhCACQoCA/AeDQhiGIAJCgICA+A+DQgiGhIQgAkIIiEKAgID4D4MgAkIYiEKAgPwHg4QgAkIoiEKA/gODIAJCOIiEhIQ3AwAgACkDACEBIAAgASABEI+AgIAAQoCAgIBwg0IEhCADQRAQ1oGAgAA3AwAgA0EQaiSAgICAACAAC8IBAQR/I4CAgIAAQcAAayICJICAgIAAIAJBIGpBGGoiA0IANwMAIAJBIGpBEGoiBEIANwMAIAJBIGpBCGoiBUIANwMAIAJCADcDICABIAJBIGpBIBD4gICAACACQRhqIAMpAwA3AwAgAkEQaiAEKQMANwMAIAJBCGogBSkDADcDACACIAIpAyA3AwAgACkDACEBIAAgASABEI+AgIAAQoCAgIBwg0IEhCACQSAQ1oGAgAA3AwAgAkHAAGokgICAgAAgAAsJABCxgICAAAALuQQEAn8BfgF/AX4jgICAgABBIGsiASSAgICAACABEIKAgIAANwMIIAFBCGpBARCJgYCAACECIAEgACkDACIDQjiGIANCgP4Dg0IohoQgA0KAgPwHg0IYhiADQoCAgPgPg0IIhoSEIANCCIhCgICA+A+DIANCGIhCgID8B4OEIANCKIhCgP4DgyADQjiIhISENwMQIAIpAwAhAyACIAMgAxCPgICAAEKAgICAcINCBIQgAUEQakEIENaBgIAANwMAIAIgACgCKBDXgYCAACEEIAFBEGogACkDCBCGgICAAEEEENiBgIAAIgNCBEKEgICAwAAQmoCAgAAQ2YGAgAACQCABKAIQQQFGDQAgASkDGCEFIAFBADYCECAFIAFBEGpBBBD4gICAAAJAIAEoAhAiAkH///8HcQ0AAkACQAJAIAJBGHYOAgABAwsgAUEQaiADQoSAgIDAAEKEgICAgAEQmoCAgAAQ2YGAgAAgASgCEEEBRg0DIAEpAxghBSABQQA2AhAgBSABQRBqQQQQ+ICAgAAgASgCEA0CIAFBEGogA0KEgICAgAFChICAgIAFEJqAgIAAENqBgIAAIAEoAhBBAUcNAQwDCyABQRBqIANChICAgMAAQoSAgIDABBCagICAABDagYCAACABKAIQQQFGDQILIAQgASkDGBCMgYCAACAAKAIsENeBgIAAIAApAxAQjIGAgAApAwAhAyABQSBqJICAgIAAIAMPC0KDgICAoP4AENCAgIAAAAsAC+kDBAF/A34BfwF+I4CAgIAAQTBrIgEkgICAgAACQAJAAkAgAEL/AYNCywBSDQAQyYCAgAAgAUEQahDGgICAAAJAIAEoAhBBAUcNACABKAIUIAEoAhgQx4CAgAALIAAQioCAgABCIIghAkIAIQMCQANAIAMgAlENASAAIANCIIZCBIQQiYCAgAAhBEEAIQUCQANAIAVBEEYNASABIAVqQgI3AwAgBUEIaiEFDAALCwJAAkAgBEL/AYNCzABSDQAgBEHEhMCAAEECIAFBAhDngICAACABQRBqIAEpAwAQ8oCAgAAgASgCEEEBRg0AIAEpAwgiBEL/AYNCBFENAQsgA6dBf0YaDAULIANC/////w9RDQQgASgCICIFRQ0DIAEpAxghBiABQQI2AhAgASAEQiCIpzYCFCABQRBqELOAgIAAIAYgBRDdgICAAEIBEIWAgIAAGiABEJCBgIAAAkAgASgCAEEBRw0AIAFBEGogASgCBCABKAIIELKAgIAACyADQgF8IQMMAAsLQdWAwIAAQRwQkYGAgAAQkoGAgAAhAyABIAA3AxAgA0H4gMCAAEEBIAFBEGpBARDhgICAABCUgICAABogAUEwaiSAgICAAEICDwsAC0KDgICAsAIQ0ICAgAAACxCxgICAAAALDAAgAEECEOGBgIAAC0UCAX8BfiOAgICAAEEQayICJICAgIAAIAIgACABENyBgIAAAkAgAigCAEEBRw0AAAsgAikDCCEDIAJBEGokgICAgAAgAwtjAwF/AX4BfyOAgICAAEEQayIBJICAgIAAIAEgADcDAEICIQJBASEDAkADQCADRQ0BIANBf2ohAyAAIQIMAAsLIAEgAjcDCCABQQhqQQEQr4CAgAAhACABQRBqJICAgIAAIAAL1QIDAX8BfgJ/I4CAgIAAQYABayIBJICAgIAAAkAgAEL/AYNCywBSDQAQyYCAgAAgAUHAAGoQxoCAgAACQCABKAJAQQFHDQAgASgCRCABKAJIEMeAgIAACyAAEIqAgIAAIQIgAUEANgIIIAEgADcDACABIAJCIIg+AgwgAUEYaiEDAkADQCABQcAAaiABEOaAgIAAIAFBEGogAUHAAGoQxICAgAAgASgCEEEBRw0BIAEoAjghBCADEOiAgIAAIAFBAzYCQCABIAQ2AkQgAUHAAGogAxC8gICAACABQfQAahCQgYCAACABKAJ0QQFHDQAgAUHAAGogASgCeCABKAJ8ELKAgIAADAALC0GAgcCAAEEcEJGBgIAAEJKBgIAAIQIgASAANwNAIAJB+IDAgABBASABQcAAakEBEOGAgIAAEJSAgIAAGiABQYABaiSAgICAAEICDwsACwgAEJWBgIAAC3gCAX8BfiOAgICAAEEwayIAJICAgIAAIABBEGoQxoCAgAACQCAAKAIQQQFHDQAgACgCFCAAKAIYEMeAgIAACyAAQQE2AhAgACAAQRBqEL6AgIAAAkAgACgCAA0AEI2BgIAAAAsgACkDCCEBIABBMGokgICAgAAgAQt8AQF/I4CAgIAAQTBrIgEkgICAgAACQCAAQv8Bg0IEUg0AIAFBCGogAEIgiKcQl4GAgAACQAJAIAEoAggNAEICIQAMAQsgAUEgaiABKQMQIAEoAhgQ3oCAgAAgASgCIEEBcQ0BIAEpAyghAAsgAUEwaiSAgICAACAADwsAC+0BAgF/AX4jgICAgABBwABrIgIkgICAgAAgAkEIahDGgICAAAJAIAIoAghBAUcNACACKAIMIAIoAhAQx4CAgAALIAJBAjYCCCACIAE2AgwCQAJAAkAgAkEIahCzgICAACIDQgEQtYCAgABFDQAgAkEoaiADQgEQhICAgAAQ8oCAgAAgAigCKEEBRw0BAAsgAEIANwMADAELIAIpAzAhAyAAIAIoAjg2AhAgACADNwMIIABCATcDACACQShqEJCBgIAAIAIoAihBAUcNACACQQhqIAIoAiwgAigCMBCygICAAAsgAkHAAGokgICAgAALgwEBAX8jgICAgABBMGsiAiSAgICAAAJAIABC/wGDQs0AUg0AIAFC/wGDQgRSDQAgAkEIaiAAIAFCIIinEJmBgIAAQgIhAAJAIAIpAwhCAlENACACQSBqIAJBCGoQ2oCAgAAgAigCIEEBcQ0BIAIpAyghAAsgAkEwaiSAgICAACAADwsAC40CAQF/I4CAgIAAQcAAayIDJICAgIAAIANBCGoQxoCAgAACQCADKAIIQQFHDQAgAygCDCADKAIQEMeAgIAACyADIAI2AgwgAyABNwMQIANBBTYCCAJAAkACQCADQQhqELOAgIAAIgFCARC1gICAAA0AIABCAjcDAAwBCyADQShqIAFCARCEgICAABDzgICAACADKQMoQgJRDQEgACADKQMoNwMAIABBEGogA0EoakEQaikDADcDACAAQQhqIANBKGpBCGopAwA3AwAgACkDAEICUQ0AIANBKGoQkIGAgAAgAygCKEEBRw0AIANBCGogAygCLCADKAIwELKAgIAACyADQcAAaiSAgICAAA8LAAtgAQF/I4CAgIAAQRBrIgIkgICAgAACQCAAQv8Bg0LNAFINACABQv8Bg0IEUg0AIAIgACABQiCIpxCbgYCAACACKQMAIAIoAggQ3YCAgAAhACACQRBqJICAgIAAIAAPCwALyAECAn8BfiOAgICAAEEgayIDJICAgIAAIANBCGoQxoCAgAACQCADKAIIQQFHDQAgAygCDCADKAIQEMeAgIAACyADQQhqIAIQl4GAgAACQCADKAIIRQ0AIAMoAhghBCADKQMQIQUgA0EIaiABIAIQmYGAgAACQCADKQMIIgFCAlENACADKQMQIAUgAadBAXEbIQUgAygCGCICIAQgAhshBAsgACAFNwMAIAAgBDYCCCADQSBqJICAgIAADwtCg4CAgBAQ0ICAgAAAC08BAX8jgICAgABBMGsiASSAgICAAAJAIABC/wGDQgRRDQAACyABQQhqIABCIIinEJ2BgIAAIAFBCGoQ3ICAgAAhACABQTBqJICAgIAAIAALjwEBAX8jgICAgABBMGsiAiSAgICAACACEMaAgIAAAkAgAigCAEEBRw0AIAIoAgQgAigCCBDHgICAAAsgAkEDNgIAIAIgATYCBCAAIAIQt4CAgAACQCAAKQMAUA0AIAJBJGoQkIGAgAAgAigCJEEBRw0AIAIgAigCKCACKAIsELKAgIAACyACQTBqJICAgIAAC14BAX8jgICAgABBMGsiAiSAgICAAAJAIABC/wGDQs0AUg0AIAFC/wGDQgRSDQAgAkEIaiAAIAFCIIinEJ+BgIAAIAJBCGoQ14CAgAAhACACQTBqJICAgIAAIAAPCwALmAEBAX8jgICAgABBMGsiAySAgICAACADEMaAgIAAAkAgAygCAEEBRw0AIAMoAgQgAygCCBDHgICAAAsgAyACNgIEIAMgATcDCCADQQY2AgAgACADELSAgIAAAkAgAC0AIkECRg0AIANBJGoQkIGAgAAgAygCJEEBRw0AIAMgAygCKCADKAIsELKAgIAACyADQTBqJICAgIAAC1gBAX8jgICAgABBIGsiAiSAgICAAAJAIABC/wGDQs0AUg0AIAFC/wGDQgRSDQAgAiAAIAFCIIinEKGBgIAAIAIQvYCAgAAhACACQSBqJICAgIAAIAAPCwALzgEBAX8jgICAgABBoAFrIgMkgICAgAAgA0H4AGoQxoCAgAACQCADKAJ4QQFHDQAgAygCfCADKAKAARDHgICAAAsgA0H4AGogAhCdgYCAACADQQhqIANB+ABqQQMQ4oCAgAAgA0HQAGogASACEJ+BgIAAIANB+ABqEO2AgIAAIANBKGogA0H4AGogA0HQAGogAy0AckECRhtBKBDkgYCAABogACADQShqIANBCGoQ74CAgAAgACkDCCAAKAIYEOuAgIAAIANBoAFqJICAgIAAC74JAgV/A34jgICAgABBkAJrIgMkgICAgAAgA0EwaiAAEKOBgIAAAkAgAygCMEEBRg0AIAMgA0E4akEwEOSBgIAAIQMgAUL/AYNCyABSDQAgAyABNwNoQQEgAqdB/wFxIgRBAEdBAXQgBEEBRhsiBUECRg0AIANBMGoQxoCAgAACQCADKAIwQQFHDQAgAygCNCADKAI4EMeAgIAACyADQTBqIAMgA0HoAGoQgoGAgAAgAykDMCECIAMgAykDODcDcCADIAMpA0A3A3ggAyADKQNINwOAASADKAIsIQYgAykDIBCPgICAACEBIANB0AFqIAMpAwgiACAGEJuBgIAAAkAgAygC2AEgAUIgiKdJDQAgA0EIaiEHIAMpA9ABIQgQlYCAgAAhCSADIAI3A4ACIAMgAUKAgICAcINCBIQ3A/gBIAMgADcD6AEgAyAJNwPgASADIAatQiCGQgSENwPwAUEAIQQCQAJAA0ACQCAEQShHDQBBACEEAkADQCAEQShGDQEgA0EwaiAEaiADQeABaiAEaikDADcDACAEQQhqIQQMAAsLIANBMGogCCADQTBqQQUQr4CAgAAQsICAgAAgAykDOCECIAMpAzAhCCADIAY2AowBIANB4AFqIAAgBhChgYCAACADEJWAgIAANwOQASADIAMpA+ABNwOYASADKQPoASIBEIqAgIAAIQAgA0EANgKoASADIAE3A6ABIAMgAEIgiD4CrAEgAykD8AEiCRCKgICAACEBIANBADYCUCADIAc2AjwgAUIgiCEKIAMgA0GYAWo2AkwgAyADQYABajYCSCADIANB+ABqNgJEIAMgA0GMAWo2AkAgAyADQZABajYCOCADIANB8ABqNgI0IAMgA0GPAmo2AjBCACEAQgAhAQJAA0AgA0HQAWogA0GgAWoQ44CAgAAgA0HAAWogAykD0AEgAykD2AEQw4CAgAAgAygCwAFBAUcNASADQdABaiADQTBqIAAgASADKQPIARCtgICAACADKQPYASEBIAMp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QQFHDQAgBCgCBCAEKAIIEMeAgIAACyAAEIiAgIAAGiABEJOAgIAAIQUgBCACNwMYIAQgBTcDECAEIAA3AwggBEEINgIAIAQQs4CAgAAgAxCugICAAEIBEIWAgIAAGiAEQSRqEJCBgIAAAkAgBCgCJEEBRw0AIAQgBCgCKCAEKAIsELKAgIAAC0H8gcCAAEEQEJGBgIAAIAAQqIGAgAAhACADEK6AgIAAIQMgBCACNwMQIAQgATcDCCAEIAM3AwAgAEGsgsCAAEEDIARBAxDhgICAABCUgICAABogBEEwaiSAgICAAEICDwsACyMAAkAgAUL/AYNCyABRDQAgAEIBNwMADwsgACABENqBgIAAC8IGAwF/BX4BfyOAgICAAEHQAWsiAiSAgICAAAJAIABC/wGDQsgAUg0AIAIgADcDCCACQThqIAEQqoGAgAAgAigCOEEBRg0AIAIgAikDQDcDECACQThqEMaAgIAAAkAgAigCOEEBRw0AIAIoAjwgAigCQBDHgICAAAsgAkE4aiACQQhqEPWAgIAAIAIpA0ghASACKQNAIQMgAjUCUCEEIAIpAzghBSACQTBqIAJB+ABqKQMANwMAIAJBKGogAkHwAGopAwA3AwAgAkEgaiACQegAaikDADcDACACIAIpA2A3AxggAiAAEJOAgIAANwOAAQJAIAJBzwFqIAJBGGogAkGAAWogAkEQahD/gICAAEUNACACKQMgIgAQioCAgAAhBiACQQA2ApABIAIgADcDiAEgAiAGQiCIPgKUASACKQMoIgAQioCAgABCIIghBgJAA0AgAkE4aiACQYgBahDjgICAACACQagBaiACKQM4IAIpA0AQw4CAgAAgAigCqAFBAUcNASACKQOAASACKQMQIAIpA7ABEMGAgIAADAALCyACIAY+AqQBIAJBADYCoAEgAiAANwOYAQJAA0AgAkE4aiACQZgBahDjgICAACACQagBaiACKQM4IAIpA0AQw4CAgAAgAigCqAFBAUcNASACKQOAASACKQMQIAIpA7ABEMGAgIAADAALCxD7gICAACEAEJWAgIAAIQYgARD8gICAACEBIAIpAxAhByACQagBaiAFEPGAgIAAIAIoAqgBQQFGDQEgAikDsAEhBSACIAM3A0AgAiAFNwM4IAIgBEIghkIEhDcDSEGkhsCAAEEDIAJBOGpBAxDhgICAACEFIAIgBzcDwAEgAiABNwO4ASACIAU3A7ABIAIgBjcDqAFBACEIAkADQAJAIAhBIEcNAEEAIQgCQANAIAhBIEYNASACQThqIAhqIAJBqAFqIAhqKQMANwMAIAhBCGohCAwACwsgAEKO/Kv3rd0DIAJBOGpBBBCvgICAABCQgICAAEL/AYNCAlINAiACQdABaiSAgICAAEICDwsgAkE4aiAIakICNwMAIAhBCGohCAwACwsQsYCAgAAAC0KDgICAoAIQ0ICAgAAACwAL1QIDAX8BfgJ/I4CAgIAAQYABayIBJICAgIAAAkAgAEL/AYNCywBSDQAQyYCAgAAgAUHAAGoQxoCAgAACQCABKAJAQQFHDQAgASgCRCABKAJIEMeAgIAACyAAEIqAgIAAIQIgAUEANgIIIAEgADcDACABIAJCIIg+AgwgAUEYaiEDAkADQCABQcAAaiABEOaAgIAAIAFBEGogAUHAAGoQxICAgAAgASgCEEEBRw0BIAEoAjghBCADEOiAgIAAIAFBBDYCQCABIAQ2AkQgAUHAAGogAxC8gICAACABQfQAahCQgYCAACABKAJ0QQFHDQAgAUHAAGogASgCeCABKAJ8ELKAgIAADAALC0GcgcCAAEEfEJGBgIAAEJKBgIAAIQIgASAANwNAIAJB+IDAgABBASABQcAAakEBEOGAgIAAEJSAgIAAGiABQYABaiSAgICAAEICDwsAC60BAQF/I4CAgIAAQSBrIgMkgICAgAACQCAAQv8Bg0LNAFINACADQRBqIAEQqoGAgAAgAygCEEEBRg0AIAMpAxghASADQRBqIAIQqoGAgAAgAygCEEEBRg0AIAMgACABIAMpAxgQgYGAgAACQAJAIAMoAgANAEICIQAMAQsgA0EQaiADKQMIEPGAgIAAIAMoAhBBAXENASADKQMYIQALIANBIGokgICAgAAgAA8LAAv6AQECfyOAgICAAEGAAWsiAiSAgICAAAJAIABC/wGDQsgAUg0AIAIgADcDACACQTBqIAEQqoGAgAAgAigCMEEBRg0AIAIgAikDODcDCCACQTBqEMaAgIAAAkAgAigCMEEBRw0AIAIoAjQgAigCOBDHgICAAAsgAkEwaiACEPWAgIAAIAJBKGogAkHwAGopAwA3AwAgAkEgaiACQegAaikDADcDACACQRhqIAJB4ABq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IAIpAxA3A0AgAiACKQMINwM4IAIgAikDADcDMCACQb+AwIAAQRYQkYGAgAA3A3ggAiAIrUIghkIEhDcDcCACIAA3A2AgAiACQfgAajYCaCACQeAAahCngYCAACEHIAIgBRC7gICAADcDYCAHQaSAwIAAQQEgAkHgAGpBARDhgICAABCUgICAABoLIAZCAXwhBgwACwsgAkGAAWokgICAgABCAg8LAAtCg4CAgJACENCAgIAAAAtCg4CAgOAAENCAgIAAAAsQsYCAgAAAC5sCAQF/I4CAgIAAQTBrIgEkgICAgAAgARDGgICAAAJAIAEoAgBBAUcNACABKAIEIAEoAggQx4CAgAALIAFBAjYCACABIAA2AgQCQAJAIAEQuYCAgABFDQAgAUEkahCQgYCAAAJAIAEoAiRBAUcNACABIAEoAiggASgCLBCygICAAAsgAUEDNgIAIAEgADYCBCABELmAgIAARQ0AIAFBJGoQkIGAgAACQCABKAIkQQFHDQAgASABKAIoIAEoAiwQsoCAgAALIAFBBDYCACABIAA2AgQgARC5gICAACIARQ0BIAFBJGoQkIGAgAAgASgCJEEBRw0BIAEgASgCKCABKAIsELKAgIAADAELQQAhAAsgAUEwaiSAgICAACAAC/cBAQN/I4CAgIAAQSBrIgMkgICAgAACQCAAQv8Bg0IEUg0AIAFC/wGDQs0AUg0AIAJC/wGDQgRSDQAgAEIgiCEAIAJCIIinIQQgAxDGgICAAAJAIAMoAgBBAUcNACADKAIEIAMoAggQx4CAgAALIACnIQUCQAJAAkACQAJAAkAgBEF/ag4DAQIDAAtCg4CAgPAAENCAgIAAAAsgAyABIAUQm4GAgAAgAykDACADKAIIEN2AgIAAEIaAgIAAIQAMAwsgAyABIAUQoYGAgAAMAQsgAyABIAUQ/YCAgAALIAMQwICAgAAhAAsgA0EgaiSAgICAACAADwsACx4AAkAgAEL/AYNCBFENAAALIABCIIinELWBgIAArQueAQIBfwF+I4CAgIAAQTBrIgAkgICAgAAgAEEIahDGgICAAAJAIAAoAghBAUcNACAAKAIMIAAoAhAQx4CAgAALIABBIGpCAxDxgICAAAJAIAAoAiBBAUcNAAALIAApAyghASAAQgQ3AxggACABNwMQIABChICAgCA3AwhBgIfAgABBAyAAQQhqQQMQ4YCAgAAhASAAQTBqJICAgIAAIAELhQECAX8BfiOAgICAAEEQayIAJICAgIAAIAAQxoCAgAACQCAAKAIAQQFHDQAgACgCBCAAKAIIEMeAgIAACyAAQYCAwIAAQQ4Q04CAgAACQAJAIAAoAgANACAAIAApAwgQ1ICAgAAgACgCAEEBRw0BCwALIAApAwghASAAQRBqJICAgIAAIAELtQEBAX8jgICAgABBIGsiAySAgICAAAJAAkAgAEL/AYNCzQBSDQAgAUL/AYNCzQBSDQAgAkL/AYNCzQBSDQBBgMseQYDSHxC7gYCAAEGAyx5BgNIfELyBgIAAQQAQ0YCAgABCAhC1gICAAA0BIAAQvYGAgAAgA0EANgIAIAMgARC/gICAACADQQE2AgAgAyACEL+AgIAAIANBIGokgICAgABCAg8LAAtCg4CAgJCBARDQgICAAAALDgBBASAAIAEQ4oGAgAALDgBBAiAAIAEQ4oGAgAALDgBBACAAQgIQyIGAgAALCAAQ+4CAgAALCAAQyoCAgAALPgIBfwF+I4CAgIAAQRBrIgAkgICAgAAgABDMgICAACAAKQMAIAApAwgQwYGAgAAhASAAQRBqJICAgIAAIAELDQAgAUICIACnQQFxGws+AgF/AX4jgICAgABBEGsiACSAgICAACAAEM+AgIAAIAApAwAgACkDCBDBgYCAACEBIABBEGokgICAgAAgAQt9AgF/AX4jgICAgABBEGsiASSAgICAAAJAIABC/wGDQs0AUg0AIAFBBGoQxoCAgAACQCABKAIEQQFHDQAgASgCCCABKAIMEMeAgIAACxDLgICAACECEM6AgIAAIAAQvYGAgAAgAiAAEMSBgIAAIAFBEGokgICAgABCAg8LAAthAgF/AX4jgICAgABBEGsiAiSAgICAAEHviMCAAEEVEJGBgIAAEJKBgIAAIQMgAiAANwMIIAIgATcDACADQZiJwIAAQQIgAkECEOGAgIAAEJSAgIAAGiACQRBqJICAgIAAC90CAgF/An4jgICAgABBIGsiAiSAgICAAAJAAkACQCAAQv8Bg0LNAFINACABQv8Bg0IEUg0AIAJBCGoQxoCAgAACQCACKAIIQQFHDQAgAigCDCACKAIQEMeAgIAACxDLgICAACEDAkACQCABQv////8PVg0AIAJBCGoQz4CAgAAgAikDECEBIAIpAwhBiAgQzYCAgAAgASAAEJeAgIAAUEUNAxDGgYCAAAwBCxDHgYCAACABQiCIp0kNA0EBIABCABDIgYCAAEEBENGAgIAAQgAgAUKEgICAcIMiASABEIOAgIAAGkGoicCAAEEWEJGBgIAAEJKBgIAAIQQgAiABNwMYIAIgAzcDECACIAA3AwggBEHEicCAAEEDIAJBCGpBAxDhgICAABCUgICAABoLIAJBIGokgICAgABCAg8LAAtCg4CAgOCAARDQgICAAAALQoOAgIDwgAEQ0ICAgAAACxMAQQEQ0YCAgABCABCHgICAABoLMwECfhCmgICAACEAAkAQp4CAgABCIIgiASAAQiCIIgBUDQAgAacgAKdrDwsQsYCAgAAACxUAIAAQ0YCAgAAgASACEIWAgIAAGgunAQIBfwJ+I4CAgIAAQRBrIgAkgICAgAAgABDGgICAAAJAIAAoAgBBAUcNACAAKAIEIAAoAggQx4CAgAALIAAQz4CAgAAgACkDCCEBIAApAwBBiAgQzYCAgAAgARCIgICAABogABDSgICAAAJAIAAoAgANABCNgYCAAAALIAApAwghAhDGgYCAACABEL2BgIAAIAIgARDEgYCAACAAQRBqJICAgIAAQgILoAECAX8CfiOAgICAAEEQayIAJICAgIAAIAAQxoCAgAACQCAAKAIAQQFHDQAgACgCBCAAKAIIEMeAgIAACxDLgICAACEBEM6AgIAAQQAQ0YCAgABCAhCHgICAABpB3InAgABBExCRgYCAABCSgYCAACECIAAgATcDACACQfCJwIAAQQEgAEEBEOGAgIAAEJSAgIAAGiAAQRBqJICAgIAAQgILMQACQCAAQv8Bg0IEUg0AIAFC/wGDQgRSDQAgAEIgiKcgAUIgiKcQx4CAgABCAg8LAAveBAEFfyOAgICAAEHQAGsiAiSAgICAACACQShqIAAQzYGAgAACQCACKAIoQQJGDQAgAkEIakEIaiACQShqQQhqIgMoAgA2AgAgAiACKQIoNwMIIAJBKGogARDNgYCAACACKAIoQQJGDQAgAkEYakEIaiADKAIANgIAIAIgAikCKDcDGCACQShqEMaAgIAAAkAgAigCKEEBRw0AIAIoAiwgAigCMBDHgICAAAsQyYCAgAACQAJAAkAQxYCAgAANABDHgYCAACID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cl9mZWVfcGFpZGZlZQDMABAAAwAAAGR2bl9mZWVfcGFpZGR2bnNmZWVz5AAQAAQAAADoABAABAAAAHBheWxvYWRfdmVyaWZpZWRjb25maXJtYXRpb25zaGVhZGVycHJvb2ZfaGFzaAAAAAwBEAANAAAAGQEQAAYAAAAfARAACgAAAG9wdGlvbmFsX2R2bl90aHJlc2hvbGRvcHRpb25hbF9kdm5zcmVxdWlyZWRfZHZucwwBEAANAAAARAEQABYAAABaARAADQAAAGcBEAANAAAAdWxuX2NvbmZpZ3VzZV9kZWZhdWx0X2NvbmZpcm1hdGlvbnN1c2VfZGVmYXVsdF9vcHRpb25hbF9kdm5zdXNlX2RlZmF1bHRfcmVxdWlyZWRfZHZucwAAAJQBEAAKAAAAngEQABkAAAC3ARAAGQAAANABEAAZAAAAmAMQAAYAAACpAxAAAwAAAGV4ZWN1dG9ybWF4X21lc3NhZ2Vfc2l6ZRwCEAAIAAAAJAIQABAAAACYAxAABgAAAAMDEAAHAAAARW5kcG9pbnRUcmVhc3VyeURlZmF1bHRFeGVjdXRvckNvbmZpZ3NEZWZhdWx0U2VuZFVsbkNvbmZpZ3NEZWZhdWx0UmVjZWl2ZVVsbkNvbmZpZ3NPQXBwRXhlY3V0b3JDb25maWdzT0FwcFNlbmRVbG5Db25maWdzT0FwcFJlY2VpdmVVbG5Db25maWdzQ29uZmlybWF0aW9uc2VuY29kZWRfcGFja2V0bWVzc2FnZWRzdF9laWRyZWNlaXZlcm5vbmNlc2VuZGVyc3JjX2VpZBIDEAAFAAAAFwMQAAYAAAAdAxAABwAAAG5hdGl2ZV9mZWV6cm9fZmVlAAAAPAMQAAoAAABGAxAABwAAAGd1aWRlbmRwb2ludF92ZXJzaW9ubWFqb3JtaW5vcgAAZAMQABAAAAB0AxAABQAAAHkDEAAFAAAAY29uZmlnY29uZmlnX3R5cGVlaWSYAxAABgAAAJ4DEAALAAAAqQMQAAMAAAADAxAABwAAAGADEAAEAAAA/AIQAAcAAAASAxAABQAAAAoDEAAIAAAAFwMQAAYAAAAdAxAABwAAAGFtb3VudHRv/AMQAAYAAAACBBAAAgAAAG5hdGl2ZV9mZWVfcmVjaXBpZW50c3pyb19mZWVfcmVjaXBpZW50cwDuAhAADgAAABQEEAAVAAAAKQQQABIAAABhc3NpZ25fam9iAAAAEgAAAAF0aHJlc2hvbGRvd25lcnNoaXBfdHJhbnNmZXJyZWRuZXdfb3duZXJvbGRfb3duZXIAAIQEEAAJAAAAjQQQAAkAAABvd25lcnNoaXBfdHJhbnNmZXJyaW5ndHRsAAAAhAQQAAkAAACNBBAACQAAAL4EEAADAAAAb3duZXJzaGlwX3Jlbm91bmNlZACNBBAACQAAAE93bmVyUGVuZGluZ093bmVyZXh0ZW5kX3RvAAAJBRAACQAAAGYEEAAJAAAAdHRsX2NvbmZpZ3Nfc2V0aW5zdGFuY2VwZXJzaXN0ZW50AAAAMwUQAAgAAAA7BRAACgAAAHR0bF9jb25maWdzX2Zyb3plbkZyb3plbkluc3RhbmNlUGVyc2lzdGVudACruAEOY29udHJhY3RzcGVjdjAAAAAEAAAAAAAAAAAAAAALVWxuMzAyRXJyb3IAAAAAEwAAAAAAAAAdRGVmYXVsdEV4ZWN1dG9yQ29uZmlnTm90Rm91bmQAAAAAAAABAAAAAAAAAB9EZWZhdWx0UmVjZWl2ZVVsbkNvbmZpZ05vdEZvdW5kAAAAAAIAAAAAAAAAHERlZmF1bHRTZW5kVWxuQ29uZmlnTm90Rm91bmQAAAADAAAAAAAAABVEdXBsaWNhdGVPcHRpb25hbERWTnMAAAAAAAAEAAAAAAAAABVEdXBsaWNhdGVSZXF1aXJlZERWTnMAAAAAAAAFAAAAAAAAAA1JbnZhbGlkQ29uZmlnAAAAAAAABgAAAAAAAAARSW52YWxpZENvbmZpZ1R5cGUAAAAAAAAHAAAAAAAAABRJbnZhbGlkQ29uZmlybWF0aW9ucwAAAAgAAAAAAAAACkludmFsaWRFSUQAAAAAAAkAAAAAAAAAEkludmFsaWRNZXNzYWdlU2l6ZQAAAAAACgAAAAAAAAAXSW52YWxpZE9wdGlvbmFsRFZOQ291bnQAAAAACwAAAAAAAAATSW52YWxpZE9wdGlvbmFsRFZOcwAAAAAMAAAAAAAAABtJbnZhbGlkT3B0aW9uYWxEVk5UaHJlc2hvbGQAAAAADQAAAAAAAAAXSW52YWxpZFJlcXVpcmVkRFZOQ291bnQAAAAADgAAAAAAAAATSW52YWxpZFJlcXVpcmVkRFZOcwAAAAAPAAAAAAAAABBV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ZGRyZXNzZXMgZnJvbSB3aGljaCBhIHRocmVzaG9sZCBudW1iZXIgbXVzdCB2ZXJpZnkuAAAADW9wdGlvbmFsX2R2bnMAAAAAAAPqAAAAEwAAAEZMaXN0IG9mIERWTiBhZGRyZXNzZXMgdGhhdCBtdXN0IEFMTCB2ZXJpZnkgdGhlIG1lc3NhZ2UgKG5vIHRocmVzaG9sZCkuAAAAAAANcmVxdWlyZWRfZHZucwAAAAAAA+oAAAATAAAAAQAAADxPQXBwLXNwZWNpZmljIFVMTiBjb25maWd1cmF0aW9uIHdpdGggZGVmYXVsdCBvdmVycmlkZSBmbGFncy4AAAAAAAAADU9BcHBVbG5Db25maWcAAAAAAAAEAAAARU9BcHAtc3BlY2lmaWMgVUxOIGNvbmZpZ3VyYXRpb24gKHVzZWQgd2hlbiBkZWZhdWx0cyBhcmUgbm90IGFwcGxpZWQpLgAAAAAAAAp1bG5fY29uZmlnAAAAAAfQAAAACVVsbkNvbmZpZwAAAAAAACVXaGV0aGVyIHRvIHVzZSBkZWZhdWx0IGNvbmZpcm1hdGlvbnMuAAAAAAAAGXVzZV9kZWZhdWx0X2NvbmZpcm1hdGlvbnMAAAAAAAABAAAAJVdoZXRoZXIgdG8gdXNlIGRlZmF1bHQgb3B0aW9uYWwgRFZOcy4AAAAAAAAZdXNlX2RlZmF1bHRfb3B0aW9uYWxfZHZucwAAAAAAAAEAAAAlV2hldGhlciB0byB1c2UgZGVmYXVsdCByZXF1aXJlZCBEVk5zLgAAAAAAABl1c2VfZGVmYXVsdF9yZXF1aXJlZF9kdm5zAAAAAAAAAQAAAAEAAABSUGFyYW1ldGVyIGZvciBzZXR0aW5nIGRlZmF1bHQgVUxOIGNvbmZpZ3VyYXRpb24gZm9yIGEgZGVzdGluYXRpb24vc291cmNlIGVuZHBvaW50LgAAAAAAAAAAABhTZXREZWZhdWx0VWxuQ29uZmlnUGFyYW0AAAACAAAAKFRoZSBVTE4gY29uZmlndXJhdGlvbiB0byBzZXQgYXMgZGVmYXVsdC4AAAAGY29uZmlnAAAAAAfQAAAACVVsbkNvbmZpZwAAAAAAAEtUaGUgZGVzdGluYXRpb24gZW5kcG9pbnQgSUQgKGZvciBzZW5kKSBvciBzb3VyY2UgZW5kcG9pbnQgSUQgKGZvciByZWNlaXZlKS4AAAAAA2VpZAAAAAAEAAAAAQAAACxFeGVjdXRvciBjb25maWd1cmF0aW9uIGZvciBtZXNzYWdlIGRlbGl2ZXJ5LgAAAAAAAAAORXhlY3V0b3JDb25maWcAAAAAAAIAAABDQWRkcmVzcyBvZiB0aGUgZXhlY3V0b3IgY29udHJhY3QgcmVzcG9uc2libGUgZm9yIG1lc3NhZ2UgZXhlY3V0aW9uLgAAAAAIZXhlY3V0b3IAAAATAAAAOU1heGltdW0gc2l6ZSBvZiBtZXNzYWdlcyB0aGF0IGNhbiBiZSBleGVjdXRlZCAoaW4gYnl0ZXMpLgAAAAAAABBtYXhfbWVzc2FnZV9zaXplAAAABAAAAAEAAABbT0FwcC1zcGVjaWZpYyBleGVjdXRvciBjb25maWd1cmF0aW9uLgoKSWYgZXhlY3V0b3IgaXMgYE5vbmVgLCB0aGUgZGVmYXVsdCBleGVjdXRvciBpcyB1c2VkLgAAAAAAAAAAEk9BcHBFeGVjdXRvckNvbmZpZwAAAAAAAgAAAGhBZGRyZXNzIG9mIHRoZSBleGVjdXRvciBjb250cmFjdCB0byBiZSB1c2VkIGZvciBtZXNzYWdlIGV4ZWN1dGlvbi4gTm9uZSBtZWFucyB1c2UgZGVmYXVsdCBjb25maWd1cmF0aW9uLgAAAAhleGVjdXRvcgAAA+gAAAATAAAAXE1heGltdW0gc2l6ZSBvZiBtZXNzYWdlcyB0aGF0IGNhbiBiZSBleGVjdXRlZCAoaW4gYnl0ZXMpLiAwIG1lYW5zIHVzZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24uAAAAEG1heF9tZXNzYWdlX3NpemUAAAAEAAAAAQAAAFBQYXJhbWV0ZXIgZm9yIHNldHRpbmcgZGVmYXVsdCBleGVjdXRvciBjb25maWd1cmF0aW9uIGZvciBhIGRlc3RpbmF0aW9uIGVuZHBvaW50LgAAAAAAAAAdU2V0RGVmYXVsdEV4ZWN1dG9yQ29uZmlnUGFyYW0AAAAAAAACAAAALVRoZSBleGVjdXRvciBjb25maWd1cmF0aW9uIHRvIHNldCBhcyBkZWZhdWx0LgAAAAAAAAZjb25maWcAAAAAB9AAAAAORXhlY3V0b3JDb25maWcAAAAAABxUaGUgZGVzdGluYXRpb24gZW5kcG9pbnQgSUQuAAAAB2RzdF9laWQAAAAABAAAAAAAAABIU2V0cyBkZWZhdWx0IGV4ZWN1dG9yIGNvbmZpZ3VyYXRpb25zIGZvciBtdWx0aXBsZSBkZXN0aW5hdGlvbiBlbmRwb2ludHMuAAAAHHNldF9kZWZhdWx0X2V4ZWN1dG9yX2NvbmZpZ3MAAAABAAAAAAAAAAZwYXJhbXMAAAAAA+oAAAfQAAAAHVNldERlZmF1bHRFeGVjdXRvckNvbmZpZ1BhcmFtAAAAAAAAAAAAAAAAAABIU2V0cyBkZWZhdWx0IHNlbmQgVUxOIGNvbmZpZ3VyYXRpb25zIGZvciBtdWx0aXBsZSBkZXN0aW5hdGlvbiBlbmRwb2ludHMuAAAAHHNldF9kZWZhdWx0X3NlbmRfdWxuX2NvbmZpZ3MAAAABAAAAAAAAAAZwYXJhbXMAAAAAA+oAAAfQAAAAGFNldERlZmF1bHRVbG5Db25maWdQYXJhbQAAAAAAAAAAAAAAMFJldHVybnMgdGhlIHRyZWFzdXJ5IGFkZHJlc3MgZm9yIGZlZSBjb2xsZWN0aW9uLgAAAAh0cmVhc3VyeQAAAAAAAAABAAAAEwAAAAAAAABGUmV0dXJucyB0aGUgZGVmYXVsdCBleGVjdXRvciBjb25maWd1cmF0aW9uIGZvciBhIGRlc3RpbmF0aW9uIGVuZHBvaW50LgAAAAAAF2RlZmF1bHRfZXhlY3V0b3JfY29uZmlnAAAAAAEAAAAAAAAAB2RzdF9laWQAAAAABAAAAAEAAAPoAAAH0AAAAA5FeGVjdXRvckNvbmZpZwAAAAAAAAAAAExSZXR1cm5zIHRoZSBPQXBwLXNwZWNpZmljIGV4ZWN1dG9yIGNvbmZpZ3VyYXRpb24gZm9yIGEgZGVzdGluYXRpb24gZW5kcG9pbnQuAAAAFG9hcHBfZXhlY3V0b3JfY29uZmlnAAAAAgAAAAAAAAAGc2VuZGVyAAAAAAATAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAABAAAD6AAAB9AAAAAST0FwcEV4ZWN1dG9yQ29uZmlnAAAAAAAAAAAAUVJldHVybnMgdGhlIGVmZmVjdGl2ZSBleGVjdXRvciBjb25maWd1cmF0aW9uIGJ5IG1lcmdpbmcgT0FwcCBjb25maWcgd2l0aCBkZWZhdWx0LgAAAAAAABllZmZlY3RpdmVfZXhlY3V0b3JfY29uZmlnAAAAAAAAAgAAAAAAAAAGc2VuZGVyAAAAAAATAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAABAAAH0AAAAA5FeGVjdXRvckNvbmZpZwAAAAAAAAAAAEZSZXR1cm5zIHRoZSBkZWZhdWx0IHNlbmQgVUxOIGNvbmZpZ3VyYXRpb24gZm9yIGEgZGVzdGluYXRpb24gZW5kcG9pbnQuAAAAAAAXZGVmYXVsdF9zZW5kX3Vsbl9jb25maWcAAAAAAQAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAQAAA+gAAAfQAAAACVVsbkNvbmZpZwAAAAAAAAAAAABMUmV0dXJucyB0aGUgT0FwcC1zcGVjaWZpYyBzZW5kIFVMTiBjb25maWd1cmF0aW9uIGZvciBhIGRlc3RpbmF0aW9uIGVuZHBvaW50LgAAABRvYXBwX3NlbmRfdWxuX2NvbmZpZwAAAAIAAAAAAAAABnNlbmRlcgAAAAAAEwAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAQAAA+gAAAfQAAAADU9BcHBVbG5Db25maWcAAAAAAAAAAAAAUVJldHVybnMgdGhlIGVmZmVjdGl2ZSBzZW5kIFVMTiBjb25maWd1cmF0aW9uIGJ5IG1lcmdpbmcgT0FwcCBjb25maWcgd2l0aCBkZWZhdWx0LgAAAAAAABllZmZlY3RpdmVfc2VuZF91bG5fY29uZmlnAAAAAAAAAgAAAAAAAAAGc2VuZGVyAAAAAAATAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAABAAAH0AAAAAlVbG5Db25maWcAAAAAAAAAAAAAnlF1b3RlcyB0aGUgdG90YWwgZmVlIGZvciBzZW5kaW5nIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZS4KCkNhbGN1bGF0ZXMgZmVlcyBmcm9tOiBleGVjdXRvciAobWVzc2FnZSBleGVjdXRpb24pLCBEVk5zICh2ZXJpZmljYXRpb24pLCBhbmQgdHJlYXN1cnkgKHByb3RvY29sIGZlZSkuAAAAAAAFcXVvdGUAAAAAAAADAAAAAAAAAAZwYWNrZXQAAAAAB9AAAAAOT3V0Ym91bmRQYWNrZXQAAAAAAAAAAAAHb3B0aW9ucwAAAAAOAAAAAAAAAApwYXlfaW5fenJvAAAAAAABAAAAAQAAB9AAAAAMTWVzc2FnaW5nRmVlAAAAAAAAAJlTZW5kcyBhIGNyb3NzLWNoYWluIG1lc3NhZ2UgYW5kIHJldHVybnMgZmVlIHJlY2lwaWVudHMgZm9yIHBheW1lbnQuCgpBc3NpZ25zIGV4ZWN1dG9yIGFuZCBEVk5zLCBjYWxjdWxhdGVzIGZlZXMsIGFuZCBlbmNvZGVzIHRoZSBwYWNrZXQgZm9yIHRyYW5zbWlzc2lvbi4AAAAAAAAEc2VuZAAAAAMAAAAAAAAABnBhY2tldAAAAAAH0AAAAA5PdXRib3VuZFBhY2tldAAAAAAAAAAAAAdvcHRpb25zAAAAAA4AAAAAAAAACnBheV9pbl96cm8AAAAAAAEAAAABAAAH0AAAAA1GZWVzQW5kUGFja2V0AAAAAAAAAAAAAK9DYWxsZWQgYnkgYSBEVk4gdG8gdmVyaWZ5IGEgbWVzc2FnZSB3aXRoIGEgc3BlY2lmaWMgbnVtYmVyIG9mIGJsb2NrIGNvbmZpcm1hdGlvbnMuCgpTdG9yZXMgdGhlIERWTidzIHZlcmlmaWNhdGlvbiBhdHRlc3RhdGlvbiB3aGljaCB3aWxsIGJlIGNoZWNrZWQgZHVyaW5nIGNvbW1pdF92ZXJpZmljYXRpb24uAAAAAAZ2ZXJpZnkAAAAAAAQAAAAAAAAAA2R2bgAAAAATAAAAAAAAAA1wYWNrZXRfaGVhZGVyAAAAAAAADgAAAAAAAAAMcGF5bG9hZF9oYXNoAAAD7gAAACAAAAAAAAAADWNvbmZpcm1hdGlvbnMAAAAAAAAGAAAAAAAAAAAAAAFXUGVybWlzc29ubGVzcyB0byBjb21taXQgYSB2ZXJpZmllZCBtZXNzYWdlIHRvIHRoZSBlbmRwb2ludCBhZnRlciBzdWZmaWNpZW50IERWTiB2ZXJpZmljYXRpb24uCgpWYWxpZGF0ZXMgdGhlIHBhY2tldCBoZWFkZXIgYW5kIGNoZWNrcyB0aGF0IGVub3VnaCBEVk5zIGhhdmUgdmVyaWZpZWQgdGhlIG1lc3NhZ2UKKGFsbCByZXF1aXJlZCBEVk5zICsgb3B0aW9uYWwgRFZOIHRocmVzaG9sZCkuIE9uY2UgdmVyaWZpZWQsIGNsZWFucyB1cCBEVk4gY29uZmlybWF0aW9uCnN0b3JhZ2UgYW5kIGNhbGxzIHRoZSBlbmRwb2ludCB0byBtYXJrIHRoZSBtZXNzYWdlIGFzIHZlcmlmaWVkIGFuZCBleGVjdXRhYmxlLgAAAAATY29tbWl0X3ZlcmlmaWNhdGlvbgAAAAACAAAAAAAAAA1wYWNrZXRfaGVhZGVyAAAAAAAADgAAAAAAAAAMcGF5bG9hZF9oYXNoAAAD7gAAACAAAAAAAAAAAAAAAJhTZXRzIGRlZmF1bHQgcmVjZWl2ZSBVTE4gY29uZmlndXJhdGlvbnMgZm9yIG11bHRpcGxlIHNvdXJjZSBlbmRwb2ludHMuCgpWYWxpZGF0ZXMgZWFjaCBjb25maWcgYW5kIHN0b3JlcyBpdCBhcyB0aGUgZGVmYXVsdCBmb3IgdGhlIHNwZWNpZmllZCBzb3VyY2UgRUlELgAAAB9zZXRfZGVmYXVsdF9yZWNlaXZlX3Vsbl9jb25maWdzAAAAAAEAAAAAAAAABnBhcmFtcwAAAAAD6gAAB9AAAAAYU2V0RGVmYXVsdFVsbkNvbmZpZ1BhcmFtAAAAAAAAAAAAAABVUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJsb2NrIGNvbmZpcm1hdGlvbnMgYSBEVk4gaGFzIHN1Ym1pdHRlZCBmb3IgYSBzcGVjaWZpYyBtZXNzYWdlLgAAAAAAAA1jb25maXJtYXRpb25zAAAAAAAAAwAAAAAAAAADZHZuAAAAABMAAAAAAAAAC2hlYWRlcl9oYXNoAAAAA+4AAAAgAAAAAAAAAAxwYXlsb2FkX2hhc2gAAAPuAAAAIAAAAAEAAAPoAAAABgAAAAAAAABSQ2hlY2tzIGlmIGEgbWVzc2FnZSBoYXMgYmVlbiBzdWZmaWNpZW50bHkgdmVyaWZpZWQgYnkgRFZOcyBhbmQgaXMgcmVhZHkgdG8gY29tbWl0LgAAAAAACnZlcmlmaWFibGUAAAAAAAIAAAAAAAAADXBhY2tldF9oZWFkZXIAAAAAAAAOAAAAAAAAAAxwYXlsb2FkX2hhc2gAAAPuAAAAIAAAAAEAAAABAAAAAAAAAERSZXR1cm5zIHRoZSBkZWZhdWx0IHJlY2VpdmUgVUxOIGNvbmZpZ3VyYXRpb24gZm9yIGEgc291cmNlIGVuZHBvaW50LgAAABpkZWZhdWx0X3JlY2VpdmVfdWxuX2NvbmZpZwAAAAAAAQAAAAAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAA+gAAAfQAAAACVVsbkNvbmZpZwAAAAAAAAAAAABTUmV0dXJucyB0aGUgT0FwcC1zcGVjaWZpYyByZWNlaXZlIFVMTiBjb25maWd1cmF0aW9uIG92ZXJyaWRlIGZvciBhIHNvdXJjZSBlbmRwb2ludC4AAAAAF29hcHBfcmVjZWl2ZV91bG5fY29uZmlnAAAAAAIAAAAAAAAACHJlY2VpdmVyAAAAEwAAAAAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAA+gAAAfQAAAADU9BcHBVbG5Db25maWcAAAAAAAAAAAAAVVJldHVybnMgdGhlIGVmZmVjdGl2ZSByZWNlaXZlIFVMTiBjb25maWd1cmF0aW9uIGJ5IG1lcmdpbmcgT0FwcCBjb25maWcgd2l0aCBkZWZhdWx0cy4AAAAAAAAcZWZmZWN0aXZlX3JlY2VpdmVfdWxuX2NvbmZpZwAAAAIAAAAAAAAACHJlY2VpdmVyAAAAEwAAAAAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAB9AAAAAJVWxuQ29uZmlnAAAAAAAAAAAAANxTZXRzIE9BcHAtc3BlY2lmaWMgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXJzIGZvciB0aGUgbWVzc2FnZSBsaWJyYXJ5LgoKQ2FsbGVkIGJ5IHRoZSBlbmRwb2ludCBvbiBiZWhhbGYgb2YgdGhlIE9BcHAgdG8gY29uZmlndXJlIGV4ZWN1dG9yIGFuZCBVTE4gc2V0dGluZ3MuClN1cHBvcnRzIHRocmVlIGNvbmZpZyB0eXBlczogRVhFQ1VUT1IsIFNFTkRfVUxOLCBhbmQgUkVDRUlWRV9VTE4uAAAACnNldF9jb25maWcAAAAAAAIAAAAAAAAABG9hcHAAAAATAAAAAAAAAAZwYXJhbXMAAAAAA+oAAAfQAAAADlNldENvbmZpZ1BhcmFtAAAAAAAAAAAAAAAAADZSZXR1cm5zIHRoZSBYRFItZW5jb2RlZCBlZmZlY3RpdmUgY29uZmlndXJhdGlvbiBieXRlcy4AAAAAAApnZXRfY29uZmlnAAAAAAADAAAAAAAAAANlaWQAAAAABAAAAAAAAAAEb2FwcAAAABMAAAAAAAAAC2NvbmZpZ190eXBlAAAAAAQAAAABAAAADgAAAAAAAABYUmV0dXJucyB0cnVlIGlmIHRoZSBtZXNzYWdlIGxpYnJhcnkgaGFzIGZ1bGwgZGVmYXVsdCBjb25maWd1cmF0aW9ucyBmb3IgdGhlIGVuZHBvaW50IElELgAAABBpc19zdXBwb3J0ZWRfZWlkAAAAAQAAAAAAAAADZWlkAAAAAAQAAAABAAAAAQAAAAAAAAArUmV0dXJucyB0aGUgdmVyc2lvbiBvZiB0aGUgbWVzc2FnZSBsaWJyYXJ5LgAAAAAHdmVyc2lvbgAAAAAAAAAAAQAAB9AAAAARTWVzc2FnZUxpYlZlcnNpb24AAAAAAAAAAAAAKFJldHVybnMgdGhlIHR5cGUgb2YgdGhlIG1lc3NhZ2UgbGlicmFyeS4AAAAQbWVzc2FnZV9saWJfdHlwZQAAAAAAAAABAAAH0AAAAA5NZXNzYWdlTGliVHlwZQAAAAAAAAAAAAAAAAANX19jb25zdHJ1Y3RvcgAAAAAAAAMAAAAAAAAABW93bmVyAAAAAAAAEwAAAAAAAAAIZW5kcG9pbnQAAAATAAAAAAAAAAh0cmVhc3VyeQAAABMAAAAAAAAAAAAAADBSZXR1cm5zIHRoZSBMYXllclplcm8gZW5kcG9pbnQgY29udHJhY3QgYWRkcmVzcy4AAAAIZW5kcG9pbnQAAAAAAAAAAQAAABMAAAAAAAAAAAAAAAphdXRob3JpemVyAAAAAAAAAAAAAQAAABMAAAAAAAAAPlJldHVybnMgdGhlIGN1cnJlbnQgb3duZXIgYWRkcmVzcywgb3IgTm9uZSBpZiBubyBvd25lciBpcyBzZXQuAAAAAAAFb3duZXIAAAAAAAAAAAAAAQAAA+gAAAATAAAAAAAAAFlSZXR1cm5zIHRoZSBwZW5kaW5nIG93bmVyIGFkZHJlc3MgZm9yIDItc3RlcCB0cmFuc2Zlciwgb3IgTm9uZSBpZiBubyB0cmFuc2ZlciBpcyBwZW5kaW5nLgAAAAAAAA1wZW5kaW5nX293bmVyAAAAAAAAAAAAAAEAAAPoAAAAEwAAAAAAAAErVHJhbnNmZXJzIG93bmVyc2hpcCBpbW1lZGlhdGVseSB0byBhIG5ldyBhZGRyZXNzLgoKVXNlIHdpdGggY2F1dGlvbiAtIGlmIHlvdSB0cmFuc2ZlciB0byBhIHdyb25nIGFkZHJlc3MsIG93bmVyc2hpcCBpcyBsb3N0IGZvcmV2ZXIuCkNvbnNpZGVyIHVzaW5nIGBwcm9wb3NlX293bmVyc2hpcF90cmFuc2ZlcmAgaW5zdGVhZC4KCiMgUGFuaWNzCi0gYE93bmVyTm90U2V0YCBpZiBubyBvd25lciBpcyBjdXJyZW50bHkgc2V0Ci0gYFRyYW5zZmVySW5Qcm9ncmVzc2AgaWYgYSAyLXN0ZXAgdHJhbnNmZXIgaXMgaW4gcHJvZ3Jlc3MAAAAAEnRyYW5zZmVyX293bmVyc2hpcAAAAAAAAQAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAAAAAACXFByb3Bvc2VzIGFuIG93bmVyc2hpcCB0cmFuc2ZlciB0byBhIG5ldyBhZGRyZXNzLgoKVGhlIG5ldyBvd25lciBtdXN0IGNhbGwgYGFjY2VwdF9vd25lcnNoaXAoKWAgd2l0aGluIGB0dGxgIGxlZGdlcnMKdG8gY29tcGxldGUgdGhlIHRyYW5zZmVyLiBUaGUgcGVuZGluZyB0cmFuc2ZlciB3aWxsIGF1dG9tYXRpY2FsbHkgZXhwaXJlIGFmdGVyLgoKIyBBcmd1bWVudHMKLSBgbmV3X293bmVyYCAtIFRoZSBwcm9wb3NlZCBuZXcgb3duZXIKLSBgdHRsYCAtIE51bWJlciBvZiBsZWRnZXJzIHRoZSBuZXcgb3duZXIgaGFzIHRvIGFjY2VwdC4KVXNlIGAwYCB0byBjYW5jZWwgYSBwZW5kaW5nIHRyYW5zZmVyIChuZXdfb3duZXIgbXVzdCBtYXRjaCBwZW5kaW5nKS4KCiMgUGFuaWNzCi0gYE93bmVyTm90U2V0YCBpZiBubyBvd25lciBpcyBjdXJyZW50bHkgc2V0Ci0gYE5vUGVuZGluZ1RyYW5zZmVyYCB3aGVuIGNhbmNlbGxpbmcgYW5kIG5vIHBlbmRpbmcgdHJhbnNmZXIgZXhpc3RzCi0gYEludmFsaWRUdGxgIGlmIHR0bCBleGNlZWRzIG1heCBUVEwKLSBgSW52YWxpZFBlbmRpbmdPd25lcmAgd2hlbiBjYW5jZWxsaW5nIHdpdGggd3JvbmcgbmV3X293bmVyIGFkZHJlc3MAAAAacHJvcG9zZV9vd25lcnNoaXBfdHJhbnNmZXIAAAAAAAIAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAA3R0bAAAAAAEAAAAAAAAAAAAAAC5QWNjZXB0cyBhIHBlbmRpbmcgMi1zdGVwIG93bmVyc2hpcCB0cmFuc2Zlci4KCk11c3QgYmUgY2FsbGVkIGJ5IHRoZSBwZW5kaW5nIG93bmVyIGJlZm9yZSB0aGUgVFRMIGV4cGlyZXMuCgojIFBhbmljcwotIGBOb1BlbmRpbmdUcmFuc2ZlcmAgaWYgdGhlcmUgaXMgbm8gcGVuZGluZyB0cmFuc2ZlciAob3IgaXQgZXhwaXJlZCkAAAAAAAAQYWNjZXB0X293bmVyc2hpcAAAAAAAAAAAAAAAAAAAAKRQZXJtYW5lbnRseSByZW5vdW5jZXMgb3duZXJzaGlwLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgVHJhbnNmZXJJblByb2dyZXNzYCBpZiBhIDItc3RlcCB0cmFuc2ZlciBpcyBpbiBwcm9ncmVzcyAoY2FuY2VsIGl0IGZpcnN0KQAAABJyZW5vdW5jZV9vd25lcnNoaXAAAAAAAAAAAAAAAAAAAAAAAKVFeHRlbmRzIHRoZSBpbnN0YW5jZSBUVEwuCgojIEFyZ3VtZW50cwoKKiBgdGhyZXNob2xkYCAtIFRoZSB0aHJlc2hvbGQgdG8gZXh0ZW5kIHRoZSBUVEwgKGlmIGN1cnJlbnQgVFRMIGlzIGJlbG93IHRoaXMsIGV4dGVuZCkuCiogYGV4dGVuZF90b2AgLSBUaGUgVFRMIHRvIGV4dGVuZCB0by4AAAAAAAATZXh0ZW5kX2luc3RhbmNlX3R0bAAAAAACAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAlleHRlbmRfdG8AAAAAAAAEAAAAAAAAAAAAAAGPU2V0cyBUVEwgY29uZmlncyBmb3IgaW5zdGFuY2UgYW5kIHBlcnNpc3RlbnQgc3RvcmFnZS4KCi0gYE5vbmVgIHZhbHVlcyByZW1vdmUgdGhlIGNvcnJlc3BvbmRpbmcgY29uZmlnIChkaXNhYmxlcyBhdXRvLWV4dGVuc2lvbiBmb3IgdGhhdCB0eXBlKQotIFZhbGlkYXRlcyB0aGF0IGB0aHJlc2hvbGQgPD0gZXh0ZW5kX3RvIDw9IE1BWF9UVExgCgojIEFyZ3VtZW50cwotIGBpbnN0YW5jZWAgLSBUVEwgY29uZmlnIGZvciBpbnN0YW5jZSBzdG9yYWdlCi0gYHBlcnNpc3RlbnRgIC0gVFRMIGNvbmZpZyBmb3IgcGVyc2lzdGVudCBzdG9yYWdlCgojIFBhbmljcwotIGBUdGxDb25maWdGcm96ZW5gIGlmIGNvbmZpZ3MgYXJlIGZyb3plbgotIGBJbnZhbGlkVHRsQ29uZmlnYCBpZiB2YWxpZGF0aW9uIGZhaWxzAAAAAA9zZXRfdHRsX2NvbmZpZ3MAAAAAAgAAAAAAAAAIaW5zdGFuY2UAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAACnBlcnNpc3RlbnQAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAAAAAASFJldHVybnMgdGhlIGN1cnJlbnQgVFRMIGNvbmZpZ3MgYXMgKGluc3RhbmNlX2NvbmZpZywgcGVyc2lzdGVudF9jb25maWcpLgAAAAt0dGxfY29uZmlncwAAAAAAAAAAAQAAA+0AAAACAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAOFQZXJtYW5lbnRseSBmcmVlemVzIFRUTCBjb25maWdzLCBwcmV2ZW50aW5nIGFueSBmdXR1cmUgbW9kaWZpY2F0aW9ucy4KClRoaXMgaXMgaXJyZXZlcnNpYmxlIGFuZCBwcm92aWRlcyBpbW11dGFiaWxpdHkgZ3VhcmFudGVlcyB0byB1c2Vycy4KRW1pdHMgYFR0bENvbmZpZ3NGcm96ZW5gIGV2ZW50LgoKIyBQYW5pY3MKLSBgVHRsQ29uZmlnQWxyZWFkeUZyb3plbmAgaWYgYWxyZWFkeSBmcm96ZW4AAAAAAAASZnJlZXplX3R0bF9jb25maWdzAAAAAAAAAAAAAAAAAAAAAAAnUmV0dXJucyB3aGV0aGVyIFRUTCBjb25maWdzIGFyZSBmcm96ZW4uAAAAABVpc190dGxfY29uZmlnc19mcm96ZW4AAAAAAAAAAAAAAQAAAAEAAAACAAAAAAAAAAAA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YlVuYXZhaWxhYmxlAAAAAAAABQAAAAAAAAAVSW5zdWZmaWNpZW50TmF0aXZlRmVlAAAAAAAABgAAAAAAAAASSW5zdWZmaWNpZW50WnJvRmVlAAAAAAAHAAAAAAAAABBJbnZhbGlkRmVlQW1vdW50AAAACAAAAAAAAAANSW52YWxpZEV4cGlyeQAAAAAAAAkAAAAAAAAADEludmFsaWRJbmRleAAAAAoAAAAAAAAADEludmFsaWROb25jZQAAAAsAAAAAAAAAEkludmFsaWRQYXlsb2FkSGFzaAAAAAAADAAAAAAAAAAVSW52YWxpZFJlY2VpdmVMaWJyYXJ5AAAAAAAADQAAAAAAAAART25seU5vbkRlZmF1bHRMaWIAAAAAAAAOAAAAAAAAAA5Pbmx5UmVjZWl2ZUxpYgAAAAAADwAAAAAAAAART25seVJlZ2lzdGVyZWRMaWIAAAAAAAAQAAAAAAAAAAtPbmx5U2VuZExpYgAAAAARAAAAAAAAABRQYXRoTm90SW5pdGlhbGl6YWJsZQAAABIAAAAAAAAAEVBhdGhOb3RWZXJpZmlhYmxlAAAAAAAAEwAAAAAAAAATUGF5bG9hZEhhc2hOb3RGb3VuZAAAAAAUAAAAAAAAAAlTYW1lVmFsdWUAAAAAAAAVAAAAAAAAAAxVbmF1dGhvcml6ZWQAAAAWAAAAAAAAAA5VbnN1cHBvcnRlZEVpZAAAAAAAFwAAAAAAAAAKWmVyb1pyb0ZlZQAAAAAAGAAAAAAAAAAOWnJvVW5hdmFpbGFibGUAAAAAABkAAAABAAAALVBhcmFtZXRlcnMgZm9yIHNlbmRpbmcgYSBjcm9zcy1jaGFpbiBtZXNzYWdlLgAAAAAAAAAAAAAPTWVzc2FnaW5nUGFyYW1zAAAAAAUAAAArRGVzdGluYXRpb24gZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpLgAAAAAHZHN0X2VpZAAAAAAEAAAAHFRoZSBtZXNzYWdlIHBheWxvYWQgdG8gc2VuZC4AAAAHbWVzc2FnZQAAAAAOAAAAIUVuY29kZWQgZXhlY3V0b3IgYW5kIERWTiBvcHRpb25zLgAAAAAAAAdvcHRpb25zAAAAAA4AAAA5V2hldGhlciB0byBwYXkgZmVlcyBpbiBaUk8gdG9rZW4gaW5zdGVhZCBvZiBuYXRpdmUgdG9rZW4uAAAAAAAACnBheV9pbl96cm8AAAAAAAEAAAA1UmVjZWl2ZXIgYWRkcmVzcyBvbiB0aGUgZGVzdGluYXRpb24gY2hhaW4gKDMyIGJ5dGVzKS4AAAAAAAAIcmVjZWl2ZXIAAAPuAAAAIAAAAAEAAABNU291cmNlIG1lc3NhZ2UgaW5mb3JtYXRpb24gaWRlbnRpZnlpbmcgd2hlcmUgYSBjcm9zcy1jaGFpbiBtZXNzYWdlIGNhbWUgZnJvbS4AAAAAAAAAAAAABk9yaWdpbgAAAAAAAwAAABdOb25jZSBmb3IgdGhpcyBwYXRod2F5LgAAAAAFbm9uY2UAAAAAAAAGAAAALlNlbmRlciBhZGRyZXNzIG9uIHRoZSBzb3VyY2UgY2hhaW4gKDMyIGJ5dGVzKS4AAAAAAAZzZW5kZXIAAAAAA+4AAAAgAAAAJlNvdXJjZSBlbmRwb2ludCBJRCAoY2hhaW4gaWRlbnRpZmllcikuAAAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAAChGZWUgc3RydWN0dXJlIGZvciBjcm9zcy1jaGFpbiBtZXNzYWdpbmcuAAAAAAAAAAxNZXNzYWdpbmdGZWUAAAACAAAAH0ZlZSBwYWlkIGluIG5hdGl2ZSB0b2tlbiAoWExNKS4AAAAACm5hdGl2ZV9mZWUAAAAAAAsAAAAoRmVlIHBhaWQgaW4gWlJPIHRva2VuIChMYXllclplcm8gdG9rZW4pLgAAAAd6cm9fZmVlAAAAAAsAAAABAAAAQlJlY2VpcHQgcmV0dXJuZWQgYWZ0ZXIgc3VjY2Vzc2Z1bGx5IHNlbmRpbmcgYSBjcm9zcy1jaGFpbiBtZXNzYWdlLgAAAAAAAAAAABBNZXNzYWdpbmdSZWNlaXB0AAAAAwAAAClUaGUgZmVlcyBjaGFyZ2VkIGZvciBzZW5kaW5nIHRoZSBtZXNzYWdlLgAAAAAAAANmZWUAAAAH0AAAAAxNZXNzYWdpbmdGZWUAAAArR2xvYmFsbHkgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBtZXNzYWdlLgAAAAAEZ3VpZAAAA+4AAAAgAAAAJFRoZSBvdXRib3VuZCBub25jZSBmb3IgdGhpcyBwYXRod2F5LgAAAAVub25jZQAAAAAAAAYAAAACAAAAOFR5cGUgb2YgbWVzc2FnZSBsaWJyYXJ5IGluZGljYXRpbmcgc3VwcG9ydGVkIG9wZXJhdGlvbnMuAAAAAAAAAA5NZXNzYWdlTGliVHlwZQAAAAAAAwAAAAAAAAAfU3VwcG9ydHMgb25seSBzZW5kaW5nIG1lc3NhZ2VzLgAAAAAEU2VuZAAAAAAAAAAhU3VwcG9ydHMgb25seSByZWNlaXZpbmcgbWVzc2FnZXMuAAAAAAAAB1JlY2VpdmUAAAAAAAAAAC1TdXBwb3J0cyBib3RoIHNlbmRpbmcgYW5kIHJlY2VpdmluZyBtZXNzYWdlcy4AAAAAAAAOU2VuZEFuZFJlY2VpdmUAAAAAAAEAAAC3VmVyc2lvbiBpbmZvcm1hdGlvbiBmb3IgYSBtZXNzYWdlIGxpYnJhcnkuCgpOb3RlOiBgbWlub3JgIGFuZCBgZW5kcG9pbnRfdmVyc2lvbmAgdXNlIGB1MzJgIGluc3RlYWQgb2YgYHU4YCBiZWNhdXNlIFN0ZWxsYXIgZG9lcyBub3QKc3VwcG9ydCBgdThgIHR5cGVzIGluIGNvbnRyYWN0IGludGVyZmFjZSBmdW5jdGlvbnMuAAAAAAAAAAARTWVzc2FnZUxpYlZlcnNpb24AAAAAAAADAAAAM0VuZHBvaW50IHZlcnNpb24gKHNob3VsZCBub3QgZXhjZWVkIHU4OjpNQVggPSAyNTUpLgAAAAAQZW5kcG9pbnRfdmVyc2lvbgAAAAQAAAAVTWFqb3IgdmVyc2lvbiBudW1iZXIuAAAAAAAABW1ham9yAAAAAAAABgAAADdNaW5vciB2ZXJzaW9uIG51bWJlciAoc2hvdWxkIG5vdCBleGNlZWQgdTg6Ok1BWCA9IDI1NSkuAAAAAAVtaW5vcgAAAAAAAAQAAAABAAAANlRpbWVvdXQgY29uZmlndXJhdGlvbiBmb3IgcmVjZWl2ZSBsaWJyYXJ5IHRyYW5zaXRpb25zLgAAAAAAAAAAAAdUaW1lb3V0AAAAAAIAAAAoVW5peCB0aW1lc3RhbXAgd2hlbiB0aGUgdGltZW91dCBleHBpcmVzLgAAAAZleHBpcnkAAAAAAAYAAAApVGhlIG5ldyBsaWJyYXJ5IGFkZHJlc3MgdG8gdHJhbnNpdGlvbiB0by4AAAAAAAADbGliAAAAABMAAAABAAAANVBhcmFtZXRlcnMgZm9yIHNldHRpbmcgbWVzc2FnZSBsaWJyYXJ5IGNvbmZpZ3VyYXRpb24uAAAAAAAAAAAAAA5TZXRDb25maWdQYXJhbQAAAAAAAwAAAB9YRFItZW5jb2RlZCBjb25maWd1cmF0aW9uIGRhdGEuAAAAAAZjb25maWcAAAAAAA4AAAAwVGhlIHR5cGUgb2YgY29uZmlndXJhdGlvbiAoZS5nLiwgZXhlY3V0b3IsIFVMTikuAAAAC2NvbmZpZ190eXBlAAAAAAQAAAAnVGhlIGVuZHBvaW50IElEIHRoaXMgY29uZmlnIGFwcGxpZXMgdG8uAAAAAANlaWQAAAAABAAAAAEAAAAxUmVzb2x2ZWQgbGlicmFyeSBpbmZvcm1hdGlvbiB3aXRoIGRlZmF1bHQgc3RhdHVzLgAAAAAAAAAAAAAPUmVzb2x2ZWRMaWJyYXJ5AAAAAAIAAABEV2hldGhlciB0aGlzIGlzIHRoZSBkZWZhdWx0IGxpYnJhcnkgKHRydWUpIG9yIE9BcHAtc3BlY2lmaWMgKGZhbHNlKS4AAAAKaXNfZGVmYXVsdAAAAAAAAQAAAB1UaGUgcmVzb2x2ZWQgbGlicmFyeSBhZGRyZXNzLgAAAAAAAANsaWIAAAAAEwAAAAEAAABIT3V0Ym91bmQgcGFja2V0IGNvbnRhaW5pbmcgYWxsIGluZm9ybWF0aW9uIGZvciBjcm9zcy1jaGFpbiB0cmFuc21pc3Npb24uAAAAAAAAAA5PdXRib3VuZFBhY2tldAAAAAAABwAAABhEZXN0aW5hdGlvbiBlbmRwb2ludCBJRC4AAAAHZHN0X2VpZAAAAAAEAAAALEdsb2JhbGx5IHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIG1lc3NhZ2UuAAAABGd1aWQAAAPuAAAAIAAAABRUaGUgbWVzc2FnZSBwYXlsb2FkLgAAAAdtZXNzYWdlAAAAAA4AAAAgT3V0Ym91bmQgbm9uY2UgZm9yIHRoaXMgcGF0aHdheS4AAAAFbm9uY2UAAAAAAAAGAAAAMVJlY2VpdmVyIGFkZHJlc3Mgb24gZGVzdGluYXRpb24gY2hhaW4gKDMyIGJ5dGVzKS4AAAAAAAAIcmVjZWl2ZXIAAAPuAAAAIAAAAB9TZW5kZXIgYWRkcmVzcyBvbiBzb3VyY2UgY2hhaW4uAAAAAAZzZW5kZXIAAAAAABMAAAATU291cmNlIGVuZHBvaW50IElELgAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAACtBIGZlZSByZWNpcGllbnQgd2l0aCB0aGUgYW1vdW50IHRvIGJlIHBhaWQuAAAAAAAAAAAMRmVlUmVjaXBpZW50AAAAAgAAABVBbW91bnQgb2YgZmVlIHRvIHBheS4AAAAAAAAGYW1vdW50AAAAAAALAAAAH1RoZSBhZGRyZXNzIHRvIHNlbmQgdGhlIGZlZSB0by4AAAAAAnRvAAAAAAATAAAAAQAAADxSZXN1bHQgb2Ygc2VuZCBvcGVyYXRpb24gY29udGFpbmluZyBmZWVzIGFuZCBlbmNvZGVkIHBhY2tldC4AAAAAAAAADUZlZXNBbmRQYWNrZXQAAAAAAAADAAAAKlRoZSBlbmNvZGVkIHBhY2tldCByZWFkeSBmb3IgdHJhbnNtaXNzaW9uLgAAAAAADmVuY29kZWRfcGFja2V0AAAAAAAOAAAAP0xpc3Qgb2YgbmF0aXZlIHRva2VuIGZlZSByZWNpcGllbnRzIChleGVjdXRvciwgRFZOcywgdHJlYXN1cnkpLgAAAAAVbmF0aXZlX2ZlZV9yZWNpcGllbnRzAAAAAAAD6gAAB9AAAAAMRmVlUmVjaXBpZW50AAAALExpc3Qgb2YgWlJPIHRva2VuIGZlZSByZWNpcGllbnRzICh0cmVhc3VyeSkuAAAAEnpyb19mZWVfcmVjaXBpZW50cwAAAAAD6gAAB9AAAAAMRmVlUmVjaXBpZW50AAAABAAAAB1QYWNrZXRDb2RlY1YxRXJyb3I6IDExMDAtMTEwOQAAAAAAAAAAAAASUGFja2V0Q29kZWNWMUVycm9yAAAAAAACAAAAAAAAABNJbnZhbGlkUGFja2V0SGVhZGVyAAAABEwAAAAAAAAAFEludmFsaWRQYWNrZXRWZXJzaW9uAAAETQAAAAQAAAAdV29ya2VyT3B0aW9uc0Vycm9yOiAxMTEwLTExMTkAAAAAAAAAAAAAEldvcmtlck9wdGlvbnNFcnJvcgAAAAAACQAAAAAAAAASSW52YWxpZEJ5dGVzTGVuZ3RoAAAAAARWAAAAAAAAABlJbnZhbGlkTGVnYWN5T3B0aW9uc1R5cGUxAAAAAAAEVwAAAAAAAAAZSW52YWxpZExlZ2FjeU9wdGlvbnNUeXBlMgAAAAAABFgAAAAAAAAAEUludmFsaWRPcHRpb25UeXBlAAAAAAAEWQAAAAAAAAAOSW52YWxpZE9wdGlvbnMAAAAABFoAAAAAAAAAD0ludmFsaWRXb3JrZXJJZAAAAARbAAAAAAAAAB1MZWdhY3lPcHRpb25zVHlwZTFHYXNPdmVyZmxvdwAAAAAABFwAAAAAAAAAIExlZ2FjeU9wdGlvbnNUeXBlMkFtb3VudE92ZXJmbG93AAAEXQAAAAAAAAAdTGVnYWN5T3B0aW9uc1R5cGUyR2FzT3ZlcmZsb3cAAAAAAAReAAAABAAAABxCdWZmZXJSZWFkZXJFcnJvcjogMTAwMC0xMDA5AAAAAAAAABFCdWZmZXJSZWFkZXJFcnJvcgAAAAAAAAIAAAAAAAAADUludmFsaWRMZW5ndGgAAAAAAAPoAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPpAAAABAAAABxCdWZmZXJXcml0ZXJFcnJvcjogMTAxMC0xMDE5AAAAAAAAABFCdWZmZXJXcml0ZXJFcnJvcgAAAAAAAAEAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA/IAAAAEAAAAH1R0bENvbmZpZ3VyYWJsZUVycm9yOiAxMDIwLTEwMjkAAAAAAAAAABRUdGxDb25maWd1cmFibGVFcnJvcgAAAAMAAAAAAAAAEEludmFsaWRUdGxDb25maWcAAAP8AAAAAAAAAA9UdGxDb25maWdGcm96ZW4AAAAD/QAAAAAAAAAWVHRsQ29uZmlnQWxyZWFkeUZyb3plbgAAAAAD/gAAAAQAAAAXT3duYWJsZUVycm9yOiAxMDMwLTEwMzkAAAAAAAAAAAxPd25hYmxlRXJyb3IAAAAGAAAAAAAAABNJbnZhbGlkUGVuZGluZ093bmVyAAAABAYAAAAAAAAACkludmFsaWRUdGwAAAAABAcAAAAAAAAAEU5vUGVuZGluZ1RyYW5zZmVyAAAAAAAECAAAAAAAAAAPT3duZXJBbHJlYWR5U2V0AAAABAkAAAAAAAAAC093bmVyTm90U2V0AAAABAoAAAAAAAAAElRyYW5zZmVySW5Qcm9ncmVzcwAAAAAECwAAAAQAAAAYQnl0ZXNFeHRFcnJvcjogMTA0MC0xMDQ5AAAAAAAAAA1CeXRlc0V4dEVycm9yAAAAAAAAAQAAAAAAAAAOTGVuZ3RoTWlzbWF0Y2gAAAAABBAAAAAEAAAAG1VwZ3JhZGVhYmxlRXJyb3I6IDEwNTAtMTA1OQAAAAAAAAAAEFVwZ3JhZGVhYmxlRXJyb3IAAAADAAAAAAAAABRJbnZhbGlkTWlncmF0aW9uRGF0YQAABBoAAAAAAAAAE01pZ3JhdGlvbk5vdEFsbG93ZWQAAAAEGwAAAAAAAAAOVXBncmFkZXNGcm96ZW4AAAAABBwAAAAEAAAAGE11bHRpc2lnRXJyb3I6IDEwNjAtMTA2OQAAAAAAAAANTXVsdGlzaWdFcnJvcgAAAAAAAAgAAAAAAAAAEkFscmVhZHlJbml0aWFsaXplZAAAAAAEJAAAAAAAAAANSW52YWxpZFNpZ25lcgAAAAAABCUAAAAAAAAADlNpZ25hdHVyZUVycm9yAAAAAAQmAAAAAAAAABNTaWduZXJBbHJlYWR5RXhpc3RzAAAABCcAAAAAAAAADlNpZ25lck5vdEZvdW5kAAAAAAQoAAAAAAAAAB1Ub3RhbFNpZ25lcnNMZXNzVGhhblRocmVzaG9sZAAAAAAABCkAAAAAAAAAD1Vuc29ydGVkU2lnbmVycwAAAAQqAAAAAAAAAA1aZXJvVGhyZXNob2xkAAAAAAAEKwAAAAUAAAAwRXZlbnQgZW1pdHRlZCB3aGVuIGEgc2lnbmVyIGlzIGFkZGVkIG9yIHJlbW92ZWQuAAAAAAAAAAlTaWduZXJTZXQAAAAAAAABAAAACnNpZ25lcl9zZXQAAAAAAAIAAAAAAAAABnNpZ25lcgAAAAAD7gAAABQAAAABAAAAAAAAAAZhY3RpdmUAAAAAAAEAAAAAAAAAAgAAAAUAAAA2RXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzaWduYXR1cmUgdGhyZXNob2xkIGlzIGNoYW5nZWQuAAAAAAAAAAAADFRocmVzaG9sZFNldAAAAAEAAAANdGhyZXNob2xkX3NldAAAAAAAAAEAAAAAAAAACXRocmVzaG9sZAAAAAAAAAQAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA9NdWx0aXNpZ1N0b3JhZ2UAAAAAAgAAAAAAAAAAAAAAB1NpZ25lcnMAAAAAAAAAAAAAAAAJVGhyZXNob2xkAAAAAAAABQAAAFdFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHRyYW5zZmVycmVkIChib3RoIHNpbmdsZS1zdGVwIGFuZCB0d28tc3RlcCBjb21wbGV0aW9uKS4AAAAAAAAAABRPd25lcnNoaXBUcmFuc2ZlcnJlZAAAAAEAAAAVb3duZXJzaGlwX3RyYW5zZmVycmVkAAAAAAAAAgAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAgAAAAUAAAA7RXZlbnQgZW1pdHRlZCB3aGVuIGEgMi1zdGVwIG93bmVyc2hpcCB0cmFuc2ZlciBpcyBwcm9wb3NlZC4AAAAAAAAAABVPd25lcnNoaXBUcmFuc2ZlcnJpbmcAAAAAAAABAAAAFm93bmVyc2hpcF90cmFuc2ZlcnJpbmcAAAAAAAMAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAAAAAADdHRsAAAAAAQAAAAAAAAAAgAAAAUAAAAqRXZlbnQgZW1pdHRlZCB3aGVuIG93bmVyc2hpcCBpcyByZW5vdW5jZWQuAAAAAAAAAAAAEk93bmVyc2hpcFJlbm91bmNlZAAAAAAAAQAAABNvd25lcnNoaXBfcmVub3VuY2VkAAAAAAEAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA5Pd25hYmxlU3RvcmFnZQAAAAAAAgAAAAAAAAAAAAAABU93bmVyAAAAAAAAAAAAAAAAAAAMUGVuZGluZ093bmVyAAAAAQAAAElUVEwgY29uZmlndXJhdGlvbjogdGhyZXNob2xkICh3aGVuIHRvIGV4dGVuZCkgYW5kIGV4dGVuZF90byAodGFyZ2V0IFRUTCkuAAAAAAAAAAAAAAlUdGxDb25maWcAAAAAAAACAAAAKFRhcmdldCBUVEwgYWZ0ZXIgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAJZXh0ZW5kX3RvAAAAAAAABAAAADNUVEwgdGhyZXNob2xkIHRoYXQgdHJpZ2dlcnMgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAACXRocmVzaG9sZAAAAAAAAAQAAAAFAAAAJ0V2ZW50IGVtaXR0ZWQgd2hlbiBUVEwgY29uZmlncyBhcmUgc2V0LgAAAAAAAAAADVR0bENvbmZpZ3NTZXQAAAAAAAABAAAAD3R0bF9jb25maWdzX3NldAAAAAACAAAAAAAAAAhpbnN0YW5jZQAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAAAAAACnBlcnNpc3RlbnQAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAACAAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAAAAAAAAQVHRsQ29uZmlnc0Zyb3plbgAAAAEAAAASdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAABBUdGxDb25maWdTdG9yYWdlAAAAAwAAAAAAAAAAAAAABkZyb3plbgAAAAAAAAAAAAAAAAAISW5zdGFuY2UAAAAAAAAAAAAAAApQZXJzaXN0ZW50AAAAAAACAAAAAAAAAAAAAAASVXBncmFkZWFibGVTdG9yYWdlAAAAAAACAAAAAAAAAAAAAAAGRnJvemVuAAAAAAAAAAAAAAAAAAlNaWdyYXRpbmcAAAAAHhFjb250cmFjdGVudm1ldGF2MAAAAAAAAAAZAAAAAABvDmNvbnRyYWN0bWV0YXYwAAAAAAAAAAVyc3ZlcgAAAAAAAAYxLjkwLjAAAAAAAAAAAAAIcnNzZGt2ZXIAAAAvMjUuMC4xIzk0MTQ0ODA3OWVjY2Y5NTYyN2QyZmZlYTEzYmEyNjhlMzA1YTkwNzcAAFMOY29udHJhY3RtZXRhdjAAAAAAAAAABmNsaXZlcgAAAAAALzI1LjAuMCNhNjQ5MjVlOTM5MWMzZDNiM2VmOGU1M2RjNjBjMjNkYjllNmE4MmU0AA==";
11
+ export declare const WASM_BASE64 = "AGFzbQEAAAAB4QElYAJ+fgF+YAABfmADfn5+AX5gAX4BfmAEfn5+fgF+YAV/f35+fgBgAn9/AX5gA39+fgBgAABgAn9/AGABfwF+YAJ+fgF/YAJ/fgBgAX8Bf2ADfn5+AGAAAX9gAX8AYAJ+fwBgAX4AYAJ+fwF+YAN/fn8AYAN/f38AYAR/f39/AX5gBX5/f39/AGABfgF/YAN+f38AYAR/f39/AX9gAn9+AX9gBH9+fn4AYAJ+fwF/YAJ/fwF/YAN/fn4Bf2AHf35+f35+fwBgAn5+AGAEfn5/fwF+YAN+f38BfmADf39/AX8CjwItAW0BNAAAAW0BMQAAAWIBNAABAWwBMQAAAWwBXwACAWIBXwADAWwBMgAAAWwBNwAEAWEBMAADAXYBMQAAAXYBMwADAXYBXwABAW0BXwABAW0BMAACAWIBMAADAWIBOAADAWQBXwACAWIBZQAAAWIBNgAAAWMBMQADAXgBMQAAAXgBNwABAXYBNgAAAWkBXwADAWkBMAADAWIBMQAEAWIBMwAAAXYBZwAAAWkBOAADAWkBNwADAWkBNgAAAWIBagAAAWIBMgAEAW0BOQACAW0BYQAEAXgBMAAAAWIBZgACAWIBYgADAXgBMwABAXgBOAABAWwBMAAAAWwBOAAAAWkBYgADAXgBNQADAWkBYQADA70BuwEFAwYHCAkKCwwJDA0JCgkKCQwKDgkJBw8IChAQCAEBEBELEggQChATFAoJFQwHCQkKCQoCBxYVCQkMCRcQEhERGBAQFQwMDAwMCQ0GGQ0KAQMUCBobHBUMDR0KDAoHHh4fGwgKAwYDAwEBAwkAFAAUAwkAFAAUAgwgAhwKAAQMAAMCAAMJABQAAA0CAwEBAgkJEgEBAQABAyEACA8HAQEACQAMCgEQCQEBEAgMIh4GFQwTDCMMDBUJFSQkBAUBcAEBAQUDAQARBiEEfwFBgIDAAAt/AEHeiMAAC38AQcqLwAALfwBB0IvAAAsHvAYqBm1lbW9yeQIAHHNldF9kZWZhdWx0X2V4ZWN1dG9yX2NvbmZpZ3MAkQEcc2V0X2RlZmF1bHRfc2VuZF91bG5fY29uZmlncwCUAQh0cmVhc3VyeQCVARdkZWZhdWx0X2V4ZWN1dG9yX2NvbmZpZwCXARRvYXBwX2V4ZWN1dG9yX2NvbmZpZwCZARllZmZlY3RpdmVfZXhlY3V0b3JfY29uZmlnAJsBF2RlZmF1bHRfc2VuZF91bG5fY29uZmlnAJ0BFG9hcHBfc2VuZF91bG5fY29uZmlnAJ8BGWVmZmVjdGl2ZV9zZW5kX3Vsbl9jb25maWcAoQEFcXVvdGUAowEEc2VuZACmAQZ2ZXJpZnkAqgETY29tbWl0X3ZlcmlmaWNhdGlvbgCsAR9zZXRfZGVmYXVsdF9yZWNlaXZlX3Vsbl9jb25maWdzAK0BDWNvbmZpcm1hdGlvbnMArgEKdmVyaWZpYWJsZQCvARpkZWZhdWx0X3JlY2VpdmVfdWxuX2NvbmZpZwCwARdvYXBwX3JlY2VpdmVfdWxuX2NvbmZpZwCyARxlZmZlY3RpdmVfcmVjZWl2ZV91bG5fY29uZmlnALQBCnNldF9jb25maWcAtQEKZ2V0X2NvbmZpZwC3ARBpc19zdXBwb3J0ZWRfZWlkALgBB3ZlcnNpb24AuQEQbWVzc2FnZV9saWJfdHlwZQC6AQ1fX2NvbnN0cnVjdG9yALsBCGVuZHBvaW50AL8BCmF1dGhvcml6ZXIAwAEFb3duZXIAwQENcGVuZGluZ19vd25lcgDDARJ0cmFuc2Zlcl9vd25lcnNoaXAAxAEacHJvcG9zZV9vd25lcnNoaXBfdHJhbnNmZXIAxgEQYWNjZXB0X293bmVyc2hpcADKARJyZW5vdW5jZV9vd25lcnNoaXAAywETZXh0ZW5kX2luc3RhbmNlX3R0bADMAQ9zZXRfdHRsX2NvbmZpZ3MAzgELdHRsX2NvbmZpZ3MA0QESZnJlZXplX3R0bF9jb25maWdzANQBFWlzX3R0bF9jb25maWdzX2Zyb3plbgDVAQFfAwEKX19kYXRhX2VuZAMCC19faGVhcF9iYXNlAwMKv+MBuwHCAwIDfwl+I4CAgIAAQYABayIFJICAgIAAAkACQCABKAIEIgYpAwAgASgCICIHrUIghkIEhCIIEICAgIAAIglCAVINACAGKQMAIAgQgYCAgAAiCkL/AYNCyABSDQELEIKAgIAAIQggASgCCCkDACELIAEoAgwpAwAhDCABKAIQNQIAIQ0gASgCFCkDACEOIAEoAhgpAwAhDyABKAIcKQMAEK6AgIAAIRAgBSAKIAggCUIBURs3AzggBSAQNwMwIAUgDzcDKCAFIA43AyAgBSANQiCGQgSENwMYIAUgDDcDECAFIAs3AwhBACEGAkADQAJAIAZBOEcNAEEAIQYCQANAIAZBOEYNASAFQcAAaiAGaiAFQQhqIAZqKQMANwMAIAZBCGohBgwACwsgBUHAAGogBCAFQcAAakEHEK+AgIAAELCAgIAAAkAgAyAFKQNIIgqFQn+FIAMgAyAKfCACIAUpA0B8IgogAlStfCIChYNCf1cNACAAIAo3AwAgACACNwMIIAdBAWoiBg0DCxCxgICAAAwDCyAFQcAAaiAGakICNwMAIAZBCGohBgwACwsgASAGNgIgIAVBgAFqJICAgIAADwsAC0EBAX8jgICAgABBEGsiASSAgICAACABIAAQ8oCAgAACQCABKAIAQQFHDQAACyABKQMIIQAgAUEQaiSAgICAACAACxoAIACtQiCGQgSEIAGtQiCGQgSEEJuAgIAAC2cBAX8jgICAgABBIGsiAySAgICAACADIAFCjtTqtZDXsgEgAhCQgICAABDYgYCAAAJAIAMoAgBBAUcNABCxgICAAAALIAMpAxAhAiAAIAMpAxg3AwggACACNwMAIANBIGokgICAgAALCQAQ14GAgAAAC3kCAX8BfiOAgICAAEEwayICJICAgIAAAkACQAJAIAEQs4CAgAAiA0IBELSAgIAADQAgAEECOgAiDAELIAJBCGogA0IBEIOAgIAAELWAgIAAIAItACpBAkYNASAAIAJBCGpBKBDngYCAABoLIAJBMGokgICAgAAPCwALvQUCAX8DfiOAgICAAEEwayIBJICAgIAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIADgkAAQIDBAUGBwgACyABQRBqQdSEwIAAQQgQ2ICAgAAgASgCEA0LIAFBEGogASkDGBDZgICAAAwJCyABQRBqQdyEwIAAQQgQ2ICAgAAgASgCEA0KIAFBEGogASkDGBDZgICAAAwICyABQRBqQeSEwIAAQRYQ2ICAgAAgASgCEA0JIAFBEGogASkDGCAANQIEQiCGQgSEENqAgIAADAcLIAFBEGpB+oTAgABBFRDYgICAACABKAIQDQggAUEQaiABKQMYIAA1AgRCIIZCBIQQ2oCAgAAMBgsgAUEQakGPhcCAAEEYENiAgIAAIAEoAhANByABQRBqIAEpAxggADUCBEIghkIEhBDagICAAAwFCyABQaeFwIAAQRMQ2ICAgAAgASgCAA0GIAEgASkDCDcDECABIAApAwg3AxggASAANQIEQiCGQgSENwMgIAEgAUEQahDbgICAAAwDCyABQbqFwIAAQRIQ2ICAgAAgASgCAA0FIAEgASkDCDcDECABIAApAwg3AxggASAANQIEQiCGQgSENwMgIAEgAUEQahDbgICAAAwCCyABQcyFwIAAQRUQ2ICAgAAgASgCAA0EIAEgASkDCDcDECABIAApAwg3AxggASAANQIEQiCGQgSENwMgIAEgAUEQahDbgICAAAwBCyABQRBqQeGFwIAAQQ0Q2ICAgAAgASgCEA0DIAEpAxghAiAAKQMIIQMgACkDECEEIAEgACkDGDcDKCABIAQ3AyAgASADNwMYIAEgAjcDECABQRBqQQQQr4CAgAAhAgwECyABKQMIIQIgASkDACEDDAELIAEpAxghAiABKQMQIQMLIANQDQELAAsgAUEwaiSAgICAACACCw8AIAAgARCogICAAEIBUQuWAwEFfyOAgICAAEHwAGsiAiSAgICAAEEAIQMCQANAIANBIEYNASACQQhqIANqQgI3AwAgA0EIaiEDDAALC0ECIQMCQCABQv8Bg0LMAFINACABQeyDwIAAQQQgAkEIakEEEOiAgIAAIAJBKGogAikDCBC3gICAACACKAIoQQFGDQAgAkHQAGpBGGogAkHIAGopAwA3AwAgAkHQAGpBEGogAkEoakEYaikDADcDACACQdgAaiACQShqQRBqKQMANwMAIAIgAikDMDcDUEECIQNBASACLQAQIgRBAEdBAXQgBEEBRhsiBEECRg0AQQIhA0EBIAItABgiBUEAR0EBdCAFQQFGGyIFQQJGDQBBAiEDQQEgAi0AICIGQQBHQQF0IAZBAUYbIgZBAkYNACAAIAIpA1A3AwAgACAGOgAhIAAgBDoAICAAQRhqIAJB0ABqQRhqKQMANwMAIABBEGogAkHQAGpBEGopAwA3AwAgAEEIaiACQdAAakEIaikDADcDACAFIQMLIAAgAzoAIiACQfAAaiSAgICAAAuwAQIBfwJ+I4CAgIAAQTBrIgIkgICAgABCACEDAkACQCABELOAgIAAIgRCARC0gICAAEUNACACQQhqIARCARCDgICAABC3gICAACACKAIIQQFGDQEgACACKQMQNwMIIABBIGogAkEIakEgaikDADcDACAAQRhqIAJBCGpBGGopAwA3AwAgAEEQaiACQQhqQRBqKQMANwMAQgEhAwsgACADNwMAIAJBMGokgICAgAAPCwAL6AECAn8DfiOAgICAAEEwayICJICAgIAAQQAhAwJAA0AgA0EgRg0BIAIgA2pCAjcDACADQQhqIQMMAAsLQgEhBAJAIAFC/wGDQswAUg0AIAFB9ILAgABBBCACQQQQ6ICAgAAgAkEgaiACKQMAEPGAgIAAIAIoAiANACACKQMIIgFC/wGDQgRSDQAgAikDECIFQv8Bg0LLAFINACACKQMYIgZC/wGDQssAUg0AIAIpAyghBCAAIAFCIIinNgIgIAAgBTcDGCAAIAY3AxAgACAENwMIQgAhBAsgACAENwMAIAJBMGokgICAgAALEgAgABCzgICAAEIBELSAgIAACxsAIAAQs4CAgAAgARC6gICAAEIBEISAgIAAGgtDAgF/AX4jgICAgABBEGsiASSAgICAACABIAAQ14CAgAACQCABKAIAQQFHDQAACyABKQMIIQIgAUEQaiSAgICAACACCxsAIAAQs4CAgAAgARC8gICAAEIBEISAgIAAGgtDAgF/AX4jgICAgABBEGsiASSAgICAACABIAAQ3ICAgAACQCABKAIAQQFHDQAACyABKQMIIQIgAUEQaiSAgICAACACC00BAn5CACECAkACQCABELOAgIAAIgNCAhC0gICAAEUNACADQgIQg4CAgAAiAkL/AYNCzQBSDQEgACACNwMIQgEhAgsgACACNwMADwsACxUAIAAQs4CAgAAgAUICEISAgIAAGgsQACAAELyAgIAAEIWAgIAAC00BAX8jgICAgABBIGsiAySAgICAACADIAE3AxggAyAANwMQIAMgAjcDCCADQQg2AgAgAxCzgICAAEIBEIaAgIAAGiADQSBqJICAgIAAC0gBAn5CACECAkACQCABKQMAIgNCAlENACADp0EBcQ0BIABBCGogAUEIakEoEOeBgIAAGkIBIQILIAAgAjcDAA8LELGAgIAAAAtnAQF+AkACQAJAIAEpAwAiAkIChSABKQMIhFBFDQBCACECDAELIAKnQQFxDQEgACABKQMYNwMYIAAgASkDEDcDECAAIAEpAyA3AyBCASECCyAAIAI3AwAgAEIANwMIDwsQsYCAgAAACzcBAX5CACEDAkACQCABQgJRDQAgAadBAXENASAAIAI3AwhCASEDCyAAIAM3AwAPCxCxgICAAAALTQIBfwF+EMWAgIAAQQAhAAJAQQAQxoCAgAAiAUICELSAgIAARQ0AQQEhAAJAAkAgAUICEIOAgIAAp0H/AXEOAgECAAsAC0EAIQALIAALSAEBfyOAgICAAEEQayIAJICAgIAAIABBBGoQ0oGAgAACQCAAKAIEQQFHDQAgACgCCCAAKAIMEM2BgIAACyAAQRBqJICAgIAAC8IBAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkACQAJAAkACQCAAQf8BcQ4DAAECAAsgAUGyi8CAAEEGENiAgIAAIAEoAgANAyABIAEpAwgQ2YCAgAAMAgsgAUG4i8CAAEEIENiAgIAAIAEoAgANAiABIAEpAwgQ2YCAgAAMAQsgAUHAi8CAAEEKENiAgIAAIAEoAgANASABIAEpAwgQ2YCAgAALIAEpAwghAiABKQMAUA0BCwALIAFBEGokgICAgAAgAgtpAgF/An4jgICAgABBEGsiASSAgICAACABQQRqEMiAgIAAAkAgASgCBEEBRw0AIAE1AgwhAiABNQIIIQMgABCzgICAAEIBIANCIIZCBIQgAkIghkIEhBCHgICAABoLIAFBEGokgICAgAALDAAgAEECEOSBgIAACw8AEMqAgIAAEIiAgIAAGgtHAgF/AX4jgICAgABBEGsiACSAgICAABDFgICAACAAEMyAgIAAIAApAwghASAAKQMAQYsIEM2AgIAAIABBEGokgICAgAAgAQtsAgF/AX4jgICAgABBEGsiACSAgICAACAAEMyAgIAAIAApAwghASAAKQMAQYsIEM2AgIAAAkAgARDKgICAABDOgICAAA0AQoOAgIDggAEQz4CAgAAACyABEIiAgIAAGiAAQRBqJICAgIAAIAELEAAQxYCAgAAgABDTgICAAAspAAJAIACnQQFxRQ0ADwsgAUH6d2qtQiCGQoOAgIDggAF8EM+AgIAAAAsNACAAIAEQo4CAgABQCwsAIAAQq4CAgAAaC0IBAX8jgICAgABBEGsiACSAgICAACAAENGAgIAAAkAgACkDAFANAEKDgICAwIEBEM+AgIAAAAsgAEEQaiSAgICAAAtTAQJ+EMWAgIAAQgAhAQJAAkBBARDSgICAACICQgAQtICAgABFDQAgAkIAEIOAgIAAIgFC/wGDQs0AUg0BIAAgATcDCEIBIQELIAAgATcDAA8LAAuSAQIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAAkACQCAAQQFxRQ0AIAFBxYrAgABBDBDYgICAACABKAIADQIgASABKQMIENmAgIAADAELIAFBwIrAgABBBRDYgICAACABKAIADQEgASABKQMIENmAgIAACyABKQMIIQIgASkDAFANAQsACyABQRBqJICAgIAAIAILTQECfkIAIQECQAJAQQAQ0oCAgAAiAkICELSAgIAARQ0AIAJCAhCDgICAACIBQv8Bg0LNAFINASAAIAE3AwhCASEBCyAAIAE3AwAPCwALQwEBfyOAgICAAEEQayICJICAgIAAIAIgACABENWAgIAAAkAgAigCAEEBRw0AAAsgAikDCCEAIAJBEGokgICAgAAgAAtXAQF/I4CAgIAAQRBrIgMkgICAgAAgAyABNwMAIAMgAq1CIIZCBIQ3AwhBtITAgABBAiADQQIQ4oCAgAAhASAAQgA3AwAgACABNwMIIANBEGokgICAgAALWgIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAAkAgAC0AIkECRw0AQgIhAgwBCyABIAAQ14CAgAAgASgCAEEBcQ0BIAEpAwghAgsgAUEQaiSAgICAACACDwsAC4QBAgF/AX4jgICAgABBIGsiAiSAgICAACACIAEQ3ICAgABCASEDAkAgAigCAA0AIAIgAikDCDcDACACIAExACE3AxggAiABMQAiNwMQIAIgATEAIDcDCCAAQeyDwIAAQQQgAkEEEOKAgIAANwMIQgAhAwsgACADNwMAIAJBIGokgICAgAALUQIBfwF+I4CAgIAAQRBrIgMkgICAgAAgAyABIAIQ3IGAgABCASEEAkAgAygCAA0AIAAgAykDCDcDCEIAIQQLIAAgBDcDACADQRBqJICAgIAAC0QBAX8jgICAgABBEGsiAiSAgICAACACIAE3AwggAkEIakEBEK+AgIAAIQEgAEIANwMAIAAgATcDCCACQRBqJICAgIAAC0gBAX8jgICAgABBEGsiAySAgICAACADIAI3AwggAyABNwMAIANBAhCvgICAACECIABCADcDACAAIAI3AwggA0EQaiSAgICAAAtdAgF/AX4jgICAgABBIGsiAiSAgICAACACIAEpAxA3AxggAiABKQMINwMQIAIgASkDADcDCCACQQhqQQMQr4CAgAAhAyAAQgA3AwAgACADNwMIIAJBIGokgICAgAALjQECAX8BfiOAgICAAEEgayICJICAgIAAIAIgASkDABDygICAAEIBIQMCQCACKAIADQAgAiACKQMINwMAIAIgASkDCDcDGCACIAEpAxA3AxAgAiABNQIYQiCGQgSENwMIIABB9ILAgABBBCACQQQQ4oCAgAA3AwhCACEDCyAAIAM3AwAgAkEgaiSAgICAAAtDAgF/AX4jgICAgABBEGsiASSAgICAACABIAAQ3oCAgAACQCABKAIAQQFHDQAACyABKQMIIQIgAUEQaiSAgICAACACC2YCAX8BfiOAgICAAEEQayICJICAgIAAIAIgASkDCEICIAEoAgAbNwMAIAIgATUCEEIghkIEhDcDCEG0hMCAAEECIAJBAhDigICAACEDIABCADcDACAAIAM3AwggAkEQaiSAgICAAAtaAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkACQCAAKAIADQBCAiECDAELIAEgAEEIahDcgICAACABKAIAQQFxDQEgASkDCCECCyABQRBqJICAgIAAIAIPCwALaAEBfyOAgICAAEEgayIDJICAgIAAIANBEGogACABEOGAgIAAAkAgAygCEEEBRw0AAAsgAykDGCEBIAMgAjcDCCADIAE3AwBBhIjAgABBAiADQQIQ4oCAgAAhASADQSBqJICAgIAAIAELWwACQAJAIAFCgICAgICAgMAAfEL//////////wBWDQAgASABhSACIAFCP4eFhEIAUg0AIAFCCIZCC4QhAQwBCyACIAEQnoCAgAAhAQsgAEIANwMAIAAgATcDCAsuAAJAIAEgA0YNAAALIACtQiCGQgSEIAKtQiCGQgSEIAGtQiCGQgSEEKGAgIAAC2EAAkAgASgCAEEBRw0AIAAgASkDCDcDACAAQRhqIAFBIGopAwA3AwAgAEEQaiABQRhqKQMANwMAIABBCGogAUEQaikDADcDAA8LIAJBf2qtQiCGQoOAgIAQfBDPgICAAAALaQIBfwF+AkAgASgCCCICIAEoAgxJDQAgAEICNwMADwsgASkDACACrUIghkIEhBCJgICAACEDAkAgAkEBaiICRQ0AIAAgAzcDCCABIAI2AgggACADQv8Bg0LNAFKtNwMADwsQsYCAgAAAC4sBAQJ/I4CAgIAAQTBrIgIkgICAgAACQAJAIAEoAggiAyABKAIMSQ0AIABCADcDCCAAQgI3AwAMAQsgAiABKQMAIAOtQiCGQgSEEImAgIAAEOaAgIAAAkAgA0EBaiIDRQ0AIAEgAzYCCCAAIAJBMBDngYCAABoMAQsQsYCAgAAACyACQTBqJICAgIAAC9EBAgJ/An4jgICAgABBMGsiAiSAgICAAEEAIQMCQANAIANBEEYNASACIANqQgI3AwAgA0EIaiEDDAALC0IAIQRCASEFAkAgAUL/AYNCzABSDQAgAUGEiMCAAEECIAJBAhDogICAACACQRBqIAIpAwAQ2IGAgAAgAigCEEEBRg0AIAIpAwgiAUL/AYNCzQBSDQAgAikDKCEEIAAgAikDIDcDECAAIAE3AyAgACAENwMYQgAhBUIAIQQLIAAgBTcDACAAIAQ3AwggAkEwaiSAgICAAAvlAwUCfwF+AX8BfgN/I4CAgIAAQYABayICJICAgIAAAkACQCABKAIIIgMgASgCDEkNACAAQgI3AwAMAQsgASkDACADrUIghkIEhBCJgICAACEEQQAhBQJAA0AgBUEQRg0BIAJBKGogBWpCAjcDACAFQQhqIQUMAAsLQgEhBgJAAkACQCAEQv8Bg0LMAFINACAEQYyEwIAAQQIgAkEoakECEOiAgIAAIAJBOGogAikDKBC3gICAACACKAI4QQFHDQELDAELIAJB4ABqQRhqIgcgAkHYAGopAwA3AwAgAkHgAGpBEGoiCCACQThqQRhqKQMANwMAIAJB4ABqQQhqIgkgAkE4akEQaikDADcDACACIAIpA0A3A2AgAikDMCIEQv8Bg0IEUg0AIAJBCGpBGGogBykDADcDACACQQhqQRBqIAgpAwA3AwAgAkEIakEIaiAJKQMANwMAIAIgAikDYDcDCCAEQiCIpyEFQgAhBgsCQCADQQFqIgNFDQAgACAGNwMAIAEgAzYCCCAAIAIpAwg3AwggACAFNgIoIABBEGogAkEQaikDADcDACAAQRhqIAJBCGpBEGopAwA3AwAgAEEgaiACQQhqQRhqKQMANwMADAELELGAgIAAAAsgAkGAAWokgICAgAALMQACQCACIARGDQAACyAAIAGtQiCGQgSEIAOtQiCGQgSEIAKtQiCGQgSEEKKAgIAAGgstAQF+IAApAwgiARDqgICAACAAKQMQIAAoAhgiABDrgICAACABIAAQ7ICAgAALQQACQAJAIAAQ7YCAgAANACAAEIqAgIAAQoCAgICAEFoNAQ8LQoOAgIDQABDPgICAAAALQoOAgIDgARDPgICAAAALfgACQAJAAkACQAJAIAAQ7YCAgAANACAAEIqAgIAAQoCAgICAEFoNASAAEIqAgIAAIQAgAQ0CIABC/////w9YDQMMBAtCg4CAgMAAEM+AgIAAAAtCg4CAgLABEM+AgIAAAAsgASAAQiCIp0sNAQsPC0KDgICA0AEQz4CAgAAACy0AAkACQCAAEIqAgIAAQv////8PVg0AIAFFDQELDwtCg4CAgJACEM+AgIAAAAuvAQMBfwJ+AX8jgICAgABBMGsiASSAgICAABCMgICAACECIAAQioCAgAAhAyABQQA2AgggASAANwMAIAEgA0IgiD4CDAN/IAFBIGogARDkgICAACABQRBqIAEpAyAgASkDKBDDgICAAAJAAkAgASgCECIEQQFHDQAgAiABKQMYIgAQgICAgABCAVINAQsgAUEwaiSAgICAACAEQQFxDwsgAiAAQgEQjYCAgAAhAgwACws/AQJ+EIuAgIAAIQEQi4CAgAAhAiAAQQE6ACIgAEGBAjsBICAAQQA2AhggACACNwMQIAAgATcDCCAAQgA3AwALtwEBAX4CQAJAAkACQCAALQAgQQFHDQAgACkDAEIAUg0BCyAAKQMIIQECQAJAIAAtACENACABEOqAgIAADAELIAEQioCAgABC/////w9WDQILAkAgAC0AIg0AIAApAxAgACgCGBDrgICAAAwDCwJAIAAoAhgNACAAKQMQEIqAgIAAQoCAgIAQVA0DC0KDgICAwAEQz4CAgAAAC0KDgICAgAEQz4CAgAAAC0KDgICA8AEQz4CAgAAACwtGAQF/IAAgAiABIAEtACIbIgMoAhg2AhggACADKQMQNwMQIAAgAiABIAEtACEbKQMINwMIIAAgAiABIAEtACAbKQMANwMAC10CAX8BfgJAAkAgAadB/wFxIgJBwABGDQACQCACQQZGDQBCASEDQoOQgICAASEBDAILIAFCCIghAUIAIQMMAQtCACEDIAEQmICAgAAhAQsgACADNwMAIAAgATcDCAs7AAJAAkAgAUL/////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D4MgAUIYiEKAgPwHg4QgAUIoiEKA/gODIAFCOIiEhIQ3AwggAyACQjiGIAJCgP4Dg0IohoQgAkKAgPwHg0IYhiACQoCAgPgPg0IIhoSEIAJCCIhCgICA+A+DIAJCGIhCgID8B4OEIAJCKIhCgP4DgyACQjiIhISENwMAIAApAwAhASAAIAEgARCPgICAAEKAgICAcINCBIQgA0EQENmBgIAANwMAIANBEGokgICAgAAgAAvCAQEEfyOAgICAAEHAAGsiAiSAgICAACACQSBqQRhqIgNCADcDACACQSBqQRBqIgRCADcDACACQSBqQQhqIgVCADcDACACQgA3AyAgASACQSBqQSAQ+YCAgAAgAkEYaiADKQMANwMAIAJBEGogBCkDADcDACACQQhqIAUpAwA3AwAgAiACKQMgNwMAIAApAwAhASAAIAEgARCPgICAAEKAgICAcINCBIQgAkEgENmBgIAANwMAIAJBwABqJICAgIAAIAALCQAQsYCAgAAAC6sCAgJ/AX4jgICAgABBIGsiASSAgICAACABEIKAgIAANwMIIAFBCGpBARCLgYCAACECIAEgACkDACIDQjiGIANCgP4Dg0IohoQgA0KAgPwHg0IYhiADQoCAgPgPg0IIhoSEIANCCIhCgICA+A+DIANCGIhCgID8B4OEIANCKIhCgP4DgyADQjiIhISENwMQIAIpAwAhAyACIAMgAxCPgICAAEKAgICAcINCBIQgAUEQakEIENmBgIAANwMAIAIgACgCKBDagYCAACECIAFBEGogACkDCBCEgYCAAAJAIAEpAxBCAlINAEKDgICAoP4AEM+AgIAAAAsgAiABKQMYEI6BgIAAIAAoAiwQ2oGAgAAgACkDEBCOgYCAACkDACEDIAFBIGokgICAgAAgAwuoAwQBfwN+AX8BfiOAgICAAEEwayIBJICAgIAAAkACQAJAIABC/wGDQssAUg0AEMmAgIAAEMWAgIAAIAAQioCAgABCIIghAkIAIQMCQANAIAMgAlENASAAIANCIIZCBIQQiYCAgAAhBEEAIQUCQANAIAVBEEYNASABIAVqQgI3AwAgBUEIaiEFDAALCwJAAkAgBEL/AYNCzABSDQAgBEHEhMCAAEECIAFBAhDogICAACABQRBqIAEpAwAQ84CAgAAgASgCEEEBRg0AIAEpAwgiBEL/AYNCBFENAQsgA6dBf0YaDAULIANC/////w9RDQQgASgCICIFRQ0DIAEpAxghBiABQQI2AhAgASAEQiCIpzYCFCABQRBqELOAgIAAIAYgBRDUgICAAEIBEISAgIAAGiADQgF8IQMgAUEQahDHgICAAAwACwtB1YDAgABBHBCSgYCAABCTgYCAACEDIAEgADcDECADQfiAwIAAQQEgAUEQakEBEOKAgIAAEJSAgIAAGiABQTBqJICAgIAAQgIPCwALQoOAgIDAAhDPgICAAAALELGAgIAAAAtFAgF/AX4jgICAgABBEGsiAiSAgICAACACIAAgARDcgYCAAAJAIAIoAgBBAUcNAAALIAIpAwghAyACQRBqJICAgIAAIAMLYwMBfwF+AX8jgICAgABBEGsiASSAgICAACABIAA3AwBCAiECQQEhAwJAA0AgA0UNASADQX9qIQMgACECDAALCyABIAI3AwggAUEIakEBEK+AgIAAIQAgAUEQaiSAgICAACAAC5ICAwF/AX4CfyOAgICAAEHwAGsiASSAgICAAAJAIABC/wGDQssAUg0AEMmAgIAAEMWAgIAAIAAQioCAgAAhAiABQQA2AgggASAANwMAIAEgAkIgiD4CDCABQRhqIQMCQANAIAFBwABqIAEQ54CAgAAgAUEQaiABQcAAahDBgICAACABKAIQQQFHDQEgASgCOCEEIAMQ6YCAgAAgAUEDNgJAIAEgBDYCRCABQcAAaiADELuAgIAAIAFBwABqEMeAgIAADAALC0GAgcCAAEEcEJKBgIAAEJOBgIAAIQIgASAANwNAIAJB+IDAgABBASABQcAAakEBEOKAgIAAEJSAgIAAGiABQfAAaiSAgICAAEICDwsACwgAEJaBgIAAC1YCAX8BfiOAgICAAEEwayIAJICAgIAAEMWAgIAAIABBATYCECAAIABBEGoQvYCAgAACQCAAKAIADQAQj4GAgAAACyAAKQMIIQEgAEEwaiSAgICAACABC3wBAX8jgICAgABBMGsiASSAgICAAAJAIABC/wGDQgRSDQAgAUEIaiAAQiCIpxCYgYCAAAJAAkAgASgCCA0AQgIhAAwBCyABQSBqIAEpAxAgASgCGBDVgICAACABKAIgQQFxDQEgASkDKCEACyABQTBqJICAgIAAIAAPCwALrAECAX8BfiOAgICAAEHAAGsiAiSAgICAABDFgICAACACQQI2AgggAiABNgIMAkACQAJAIAJBCGoQs4CAgAAiA0IBELSAgIAARQ0AIAJBKGogA0IBEIOAgIAAEPOAgIAAIAIoAihBAUcNAQALIABCADcDAAwBCyACKQMwIQMgACACKAI4NgIQIAAgAzcDCCAAQgE3AwAgAkEIahDHgICAAAsgAkHAAGokgICAgAALgwEBAX8jgICAgABBMGsiAiSAgICAAAJAIABC/wGDQs0AUg0AIAFC/wGDQgRSDQAgAkEIaiAAIAFCIIinEJqBgIAAQgIhAAJAIAIpAwhCAlENACACQSBqIAJBCGoQ3oCAgAAgAigCIEEBcQ0BIAIpAyghAAsgAkEwaiSAgICAACAADwsAC8wBAQF/I4CAgIAAQcAAayIDJICAgIAAEMWAgIAAIAMgAjYCDCADIAE3AxAgA0EFNgIIAkACQAJAIANBCGoQs4CAgAAiAUIBELSAgIAADQAgAEICNwMADAELIANBKGogAUIBEIOAgIAAEPSAgIAAIAMpAyhCAlENASAAIAMpAyg3AwAgAEEQaiADQShqQRBqKQMANwMAIABBCGogA0EoakEIaikDADcDACAAKQMAQgJRDQAgA0EIahDHgICAAAsgA0HAAGokgICAgAAPCwALYAEBfyOAgICAAEEQayICJICAgIAAAkAgAEL/AYNCzQBSDQAgAUL/AYNCBFINACACIAAgAUIgiKcQnIGAgAAgAikDACACKAIIENSAgIAAIQAgAkEQaiSAgICAACAADwsAC6YBAgJ/AX4jgICAgABBIGsiAySAgICAABDFgICAACADQQhqIAIQmIGAgAACQCADKAIIRQ0AIAMoAhghBCADKQMQIQUgA0EIaiABIAIQmoGAgAACQCADKQMIIgFCAlENACADKQMQIAUgAadBAXEbIQUgAygCGCICIAQgAhshBAsgACAFNwMAIAAgBDYCCCADQSBqJICAgIAADwtCg4CAgBAQz4CAgAAAC08BAX8jgICAgABBMGsiASSAgICAAAJAIABC/wGDQgRRDQAACyABQQhqIABCIIinEJ6BgIAAIAFBCGoQ34CAgAAhACABQTBqJICAgIAAIAALUQEBfyOAgICAAEEgayICJICAgIAAEMWAgIAAIAJBAzYCACACIAE2AgQgACACELaAgIAAAkAgACkDAFANACACEMeAgIAACyACQSBqJICAgIAAC14BAX8jgICAgABBMGsiAiSAgICAAAJAIABC/wGDQs0AUg0AIAFC/wGDQgRSDQAgAkEIaiAAIAFCIIinEKCBgIAAIAJBCGoQ1oCAgAAhACACQTBqJICAgIAAIAAPCwALWgEBfyOAgICAAEEgayIDJICAgIAAEMWAgIAAIAMgAjYCBCADIAE3AwggA0EGNgIAIAAgAxCygICAAAJAIAAtACJBAkYNACADEMeAgIAACyADQSBqJICAgIAAC1gBAX8jgICAgABBIGsiAiSAgICAAAJAIABC/wGDQs0AUg0AIAFC/wGDQgRSDQAgAiAAIAFCIIinEKKBgIAAIAIQvICAgAAhACACQSBqJICAgIAAIAAPCwALqgEBAX8jgICAgABBoAFrIgMkgICAgAAQxYCAgAAgA0H4AGogAhCegYCAACADQQhqIANB+ABqQQMQ44CAgAAgA0HQAGogASACEKCBgIAAIANB+ABqEO6AgIAAIANBKGogA0H4AGogA0HQAGogAy0AckECRhtBKBDngYCAABogACADQShqIANBCGoQ8ICAgAAgACkDCCAAKAIYEOyAgIAAIANBoAFqJICAgIAAC5wJAgV/A34jgICAgABBkAJrIgMkgICAgAAgA0EwaiAAEKSBgIAAAkAgAygCMEEBRg0AIAMgA0E4akEwEOeBgIAAIQMgAUL/AYNCyABSDQAgAyABNwNoQQEgAqdB/wFxIgRBAEdBAXQgBEEBRhsiBUECRg0AEMWAgIAAIANBMGogAyADQegAahCDgYCAACADKQMwIQIgAyADKQM4NwNwIAMgAykDQDcDeCADIAMpA0g3A4ABIAMoAiwhBiADKQMgEI+AgIAAIQEgA0HQAWogAykDCCIAIAYQnIGAgAACQCADKALYASABQiCIp0kNACADQQhqIQcgAykD0AEhCBCVgICAACEJIAMgAjcDgAIgAyABQoCAgIBwg0IEhDcD+AEgAyAANwPoASADIAk3A+ABIAMgBq1CIIZCBIQ3A/ABQQAhBAJAAkADQAJAIARBKEcNAEEAIQQCQANAIARBKEYNASADQTBqIARqIANB4AFqIARqKQMANwMAIARBCGohBAwACwsgA0EwaiAIIANBMGpBBRCvgICAABCwgICAACADKQM4IQIgAykDMCEIIAMgBjYCjAEgA0HgAWogACAGEKKBgIAAIAMQlYCAgAA3A5ABIAMgAykD4AE3A5gBIAMpA+gBIgEQioCAgAAhACADQQA2AqgBIAMgATcDoAEgAyAAQiCIPgKsASADKQPwASIJEIqAgIAAIQEgA0EANgJQIAMgBzYCPCABQiCIIQogAyADQZgBajYCTCADIANBgAFqNgJIIAMgA0H4AGo2AkQgAyADQYwBajYCQCADIANBkAFqNgI4IAMgA0HwAGo2AjQgAyADQY8CajYCMEIAIQBCACEBAkADQCADQdABaiADQaABahDkgICAACADQcABaiADKQPQASADKQPYARDDgICAACADKALAAUEBRw0BIANB0AFqIANBMGogACABIAMpA8gBEK2AgIAAIAMpA9gBIQEgAykD0AEhAAwACwsgAyAKPgK8ASADQQA2ArgBIAMgCTcDsAECQANAIANB0AFqIANBsAFqEOSAgIAAIANBwAFqIAMpA9ABIAMpA9gBEMOAgIAAIAMoAsABQQFHDQEgA0HQAWogA0EwaiAAIAEgAykDyAEQrYCAgAAgAykD2AEhASADKQPQASEADAALCyACIAGFQn+FIAIgAiABfCAIIAB8IgAgCFStfCIBhYNCAFMNAiADQTBqEJaBgIAAIAMpAwggAygCLCAAIAEgBRClgYCAACADKQM4IQIgAykDMCEIAkAgBUEBcQ0AIAAgCHwhCUIAIQggASAChUJ/hSABIAEgAnwgCSAAVK18IgKFg0IAUw0DIAkhACACIQFCACECCyADQTBqIAAgARDhgICAACADKAIwDQUgAykDOCEBIANBMGogCCACEOGAgIAAIAMoAjBBAUcNAwwFCyADQTBqIARqQgI3AwAgBEEIaiEEDAALCxCxgICAAAALIAMgAykDODcD6AEgAyABNwPgAUHQhsCAAEECIANB4AFqQQIQ4oCAgAAhASADQZACaiSAgICAACABDwtCg4CAgKABEM+AgIAAAAsAC9cCAgJ/Bn4jgICAgABB0ABrIgIkgICAgABBACEDAkADQCADQThGDQEgAkEIaiADakICNwMAIANBCGohAwwACwtCASEEAkAgAUL/AYNCzABSDQAgAUHEh8CAAEEHIAJBCGpBBxDogICAACACKQMIIgFC/wGDQgRSDQAgAkHAAGogAikDEBCrgYCAACACKAJADQAgAikDGCIF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gIAAQSBrIgIkgICAgAAgAiABNwMIIAIgADcDAEEAIQMDfgJAIANBEEcNAEEAIQMCQANAIANBEEYNASACQRBqIANqIAIgA2opAwA3AwAgA0EIaiEDDAALCyACQRBqQQIQr4CAgAAhASACQSBqJICAgIAAIAEPCyACQRBqIANqQgI3AwAgA0EIaiEDDAALC58CAgF/AX4jgICAgABBIGsiBCSAgICAAAJAIABC/wGDQs0AUg0AIAFC/wGDQsgAUg0AIAQgAhCrgYCAACAEKAIAQQFGDQAgBCkDCCECIAQgAxDxgICAACAEKAIAQQFGDQAgBCkDCCEDEMWAgIAAIAAQiICAgAAaIAEQk4CAgAAhBSAEIAI3AxggBCAFNwMQIAQgADcDCCAEQQg2AgAgBBCzgICAACADEK6AgIAAQgEQhICAgAAaIAQQx4CAgABB/IHAgABBEBCSgYCAACAAEKmBgIAAIQAgAxCugICAACEDIAQgAjcDECAEIAE3AwggBCADNwMAIABBrILAgABBAyAEQQMQ4oCAgAAQlICAgAAaIARBIGokgICAgABCAg8LAAsjAAJAIAFC/wGDQsgAUQ0AIABCATcDAA8LIAAgARDdgYCAAAugBgMBfwV+AX8jgICAgABB0AFrIgIkgICAgAACQCAAQv8Bg0LIAFINACACIAA3AwggAkE4aiABEKuBgIAAIAIoAjhBAUYNACACIAIpA0A3AxAQxYCAgAAgAkE4aiACQQhqEPaAgIAAIAIpA0ghASACKQNAIQMgAjUCUCEEIAIpAzghBSACQTBqIAJB+ABqKQMANwMAIAJBKGogAkHwAGopAwA3AwAgAkEgaiACQegAaikDADcDACACIAIpA2A3AxggAiAAEJOAgIAANwOAAQJAIAJBzwFqIAJBGGogAkGAAWogAkEQahCAgYCAAEUNACACKQMgIgAQioCAgAAhBiACQQA2ApABIAIgADcDiAEgAiAGQiCIPgKUASACKQMoIgAQioCAgABCIIghBgJAA0AgAkE4aiACQYgBahDkgICAACACQagBaiACKQM4IAIpA0AQw4CAgAAgAigCqAFBAUcNASACKQOAASACKQMQIAIpA7ABEMCAgIAADAALCyACIAY+AqQBIAJBADYCoAEgAiAANwOYAQJAA0AgAkE4aiACQZgBahDkgICAACACQagBaiACKQM4IAIpA0AQw4CAgAAgAigCqAFBAUcNASACKQOAASACKQMQIAIpA7ABEMCAgIAADAALCxD8gICAACEAEJWAgIAAIQYgARD9gICAACEBIAIpAxAhByACQagBaiAFEPKAgIAAIAIoAqgBQQFGDQEgAikDsAEhBSACIAM3A0AgAiAFNwM4IAIgBEIghkIEhDcDSEGkhsCAAEEDIAJBOGpBAxDigICAACEFIAIgBzcDwAEgAiABNwO4ASACIAU3A7ABIAIgBjcDqAFBACEIAkADQAJAIAhBIEcNAEEAIQgCQANAIAhBIEYNASACQThqIAhqIAJBqAFqIAhqKQMANwMAIAhBCGohCAwACwsgAEKO/Kv3rd0DIAJBOGpBBBCvgICAABCQgICAAEL/AYNCAlINAiACQdABaiSAgICAAEICDwsgAkE4aiAIakICNwMAIAhBCGohCAwACwsQsYCAgAAAC0KDgICAsAIQz4CAgAAACwALkgIDAX8BfgJ/I4CAgIAAQfAAayIBJICAgIAAAkAgAEL/AYNCywBSDQAQyYCAgAAQxYCAgAAgABCKgICAACECIAFBADYCCCABIAA3AwAgASACQiCIPgIMIAFBGGohAwJAA0AgAUHAAGogARDngICAACABQRBqIAFBwABqEMGAgIAAIAEoAhBBAUcNASABKAI4IQQgAxDpgICAACABQQQ2AkAgASAENgJEIAFBwABqIAMQu4CAgAAgAUHAAGoQx4CAgAAMAAsLQZyBwIAAQR8QkoGAgAAQk4GAgAAhAiABIAA3A0AgAkH4gMCAAEEBIAFBwABqQQEQ4oCAgAAQlICAgAAaIAFB8ABqJICAgIAAQgIPCwALrQEBAX8jgICAgABBIGsiAySAgICAAAJAIABC/wGDQs0AUg0AIANBEGogARCrgYCAACADKAIQQQFGDQAgAykDGCEBIANBEGogAhCrgYCAACADKAIQQQFGDQAgAyAAIAEgAykDGBCCgYCAAAJAAkAgAygCAA0AQgIhAAwBCyADQRBqIAMpAwgQ8oCAgAAgAygCEEEBcQ0BIAMpAxghAAsgA0EgaiSAgICAACAADwsAC9gBAQJ/I4CAgIAAQYABayICJICAgIAAAkAgAEL/AYNCyABSDQAgAiAANwMAIAJBMGogARCrgYCAACACKAIwQQFGDQAgAiACKQM4NwMIEMWAgIAAIAJBMGogAhD2gICAACACQShqIAJB8ABqKQMANwMAIAJBIGogAkHoAGopAwA3AwAgAkEYaiACQeAAaikDADcDACACIAIpA1g3AxAgAiAAEJOAgIAANwMwIAJB/wBqIAJBEGogAkEwaiACQQhqEICBgIAAIQMgAkGAAWokgICAgAAgA60PCwALTwEBfyOAgICAAEEwayIBJICAgIAAAkAgAEL/AYNCBFENAAALIAFBCGogAEIgiKcQsYGAgAAgAUEIahDfgICAACEAIAFBMGokgICAgAAgAAtRAQF/I4CAgIAAQSBrIgIkgICAgAAQxYCAgAAgAkEENgIAIAIgATYCBCAAIAIQtoCAgAACQCAAKQMAUA0AIAIQx4CAgAALIAJBIGokgICAgAALXgEBfyOAgICAAEEwayICJICAgIAAAkAgAEL/AYNCzQBSDQAgAUL/AYNCBFINACACQQhqIAAgAUIgiKcQs4GAgAAgAkEIahDWgICAACEAIAJBMGokgICAgAAgAA8LAAtaAQF/I4CAgIAAQSBrIgMkgICAgAAQxYCAgAAgAyACNgIEIAMgATcDCCADQQc2AgAgACADELKAgIAAAkAgAC0AIkECRg0AIAMQx4CAgAALIANBIGokgICAgAALWAEBfyOAgICAAEEgayICJICAgIAAAkAgAEL/AYNCzQBSDQAgAUL/AYNCBFINACACIAAgAUIgiKcQ/oCAgAAgAhC8gICAACEAIAJBIGokgICAgAAgAA8LAAvMCQYBfwF+An8CfgF/An4jgICAgABBgAFrIgIkgICAgAACQAJAAkACQCAAQv8Bg0LNAFINACABQv8Bg0LLAFINABDFgICAABD8gICAABCIgICAABogARCKgICAAEIgiCEDIAJB4ABqQQhqIQQgAkEoakEIaiEFQgAhBgJAA0AgBiADUQ0BIAEgBkIghkIEhBCJgICAACEHQQAhCAJAA0AgCEEYRg0BIAJBKGogCGpCAjcDACAIQQhqIQgMAAsLAkACQCAHQv8Bg0LMAFINACAHQayHwIAAQQMgAkEoakEDEOiAgIAAIAIpAygiB0L/AYNCyABSDQAgAikDMCIJQv8Bg0IEUg0AIAIpAzgiCkL/AYNCBFENAQsgBkL/////D1EaDAYLIAZC/////w9RDQUgCkIgiKciCBC2gYCAAEUNAwJAAkACQAJAAkAgCUIgiKdBf2oOAwECAwALQoOAgIDwABDPgICAAAALIAJBKGogBxCOgICAABD0gICAACACKQMoIgdCAlENByAEIAUpAwA3AwAgBEEIaiAFQQhqKQMANwMAIAIgBzcDYCACIAg2AiwgAiAANwMwIAJBBTYCKCACQShqELOAgIAAIAJB4ABqEN2AgIAAQgEQhICAgAAaIAJBKGoQx4CAgAAgAiAINgJIIAIgADcDQCACIAIoAnA2AjggAiACKQNoNwMwIAIgBzcDKCACQY6AwIAAQRMQkoGAgAA3A3ggAiAIrUIghkIEhDcDECACIAA3AwAgAiACQfgAajYCCCACEKiBgIAAIQcgAiACQShqEN2AgIAANwMAIAdBpIDAgABBASACQQEQ4oCAgAAQlICAgAAaDAILIAIgBxD1gICAACACEO+AgIAAIAIgCDYCLCACIAA3AzAgAkEGNgIoIAJBKGogAhC5gICAACACQShqEMeAgIAAIAJBKGogACAIEKKBgIAAIAIgCDYCWCACIAA3AyggAiACLQAiOgBSIAIgAi8BIDsBUCACIAIoAhg2AkggAiACKQMQNwNAIAIgAikDCDcDOCACIAIpAwA3AzAgAkGsgMCAAEETEJKBgIAANwN4IAIgCK1CIIZCBIQ3A3AgAiAANwNgIAIgAkH4AGo2AmggAkHgAGoQqIGAgAAhByACIAUQuoCAgAA3A2AgB0GkgMCAAEEBIAJB4ABqQQEQ4oCAgAAQlICAgAAaDAELIAIgBxD1gICAACACEO+AgIAAIAIgCDYCLCACIAA3AzAgAkEHNgIoIAJBKGogAhC5gICAACACQShqEMeAgIAAIAJBKGogACAIEP6AgIAAIAIgCDYCWCACIAA3AyggAiACLQAiOgBSIAIgAi8BIDsBUCACIAIoAhg2AkggAiACKQMQNwNAIAIgAikDCDcDOCACIAIpAwA3AzAgAkG/gMCAAEEWEJKBgIAANwN4IAIgCK1CIIZCBIQ3A3AgAiAANwNgIAIgAkH4AGo2AmggAkHgAGoQqIGAgAAhByACIAUQuoCAgAA3A2AgB0GkgMCAAEEBIAJB4ABqQQEQ4oCAgAAQlICAgAAaCyAGQgF8IQYMAAsLIAJBgAFqJICAgIAAQgIPCwALQoOAgICgAhDPgICAAAALQoOAgIDgABDPgICAAAALELGAgIAAAAuZAQEBfyOAgICAAEEgayIBJICAgIAAEMWAgIAAIAFBAjYCACABIAA2AgQCQAJAIAEQuICAgABFDQAgARDHgICAACABQQM2AgAgASAANgIEIAEQuICAgABFDQAgARDHgICAACABQQQ2AgAgASAANgIEIAEQuICAgAAiAEUNASABEMeAgIAADAELQQAhAAsgAUEgaiSAgICAACAAC9ABAQJ/I4CAgIAAQSBrIgMkgICAgAACQCAAQv8Bg0IEUg0AIAFC/wGDQs0AUg0AIAJC/wGDQgRSDQAgAEIgiKchBBDFgICAAAJAAkACQAJAAkACQCACQiCIp0F/ag4DAQIDAAtCg4CAgPAAEM+AgIAAAAsgAyABIAQQnIGAgAAgAykDACADKAIIENSAgIAAEIWAgIAAIQAMAwsgAyABIAQQooGAgAAMAQsgAyABIAQQ/oCAgAALIAMQv4CAgAAhAAsgA0EgaiSAgICAACAADwsACx4AAkAgAEL/AYNCBFENAAALIABCIIinELaBgIAArQt8AgF/AX4jgICAgABBMGsiACSAgICAABDFgICAACAAQSBqQgMQ8oCAgAACQCAAKAIgQQFHDQAACyAAKQMoIQEgAEIENwMYIAAgATcDECAAQoSAgIAgNwMIQYCHwIAAQQMgAEEIakEDEOKAgIAAIQEgAEEwaiSAgICAACABC2YCAX8BfiOAgICAAEEQayIAJICAgIAAEMWAgIAAIABBgIDAgABBDhDYgICAAAJAAkAgACgCAA0AIAAgACkDCBDZgICAACAAKAIAQQFHDQELAAsgACkDCCEBIABBEGokgICAgAAgAQu1AQEBfyOAgICAAEEgayIDJICAgIAAAkACQCAAQv8Bg0LNAFINACABQv8Bg0LNAFINACACQv8Bg0LNAFINAEGAyx5BgNIfELyBgIAAQYDLHkGA0h8QvYGAgABBABDSgICAAEICELSAgIAADQEgABC+gYCAACADQQA2AgAgAyABEL6AgIAAIANBATYCACADIAIQvoCAgAAgA0EgaiSAgICAAEICDwsAC0KDgICAoIEBEM+AgIAAAAsOAEEBIAAgARDlgYCAAAsOAEECIAAgARDlgYCAAAsOAEEAIABCAhDJgYCAAAsIABD8gICAAAsIABDKgICAAAs+AgF/AX4jgICAgABBEGsiACSAgICAACAAEMyAgIAAIAApAwAgACkDCBDCgYCAACEBIABBEGokgICAgAAgAQsNACABQgIgAKdBAXEbCz4CAX8BfiOAgICAAEEQayIAJICAgIAAIAAQ0YCAgAAgACkDACAAKQMIEMKBgIAAIQEgAEEQaiSAgICAACABCzwBAX4CQCAAQv8Bg0LNAFENAAALEMWAgIAAEMuAgIAAIQEQ0ICAgAAgABC+gYCAACABIAAQxYGAgABCAgthAgF/AX4jgICAgABBEGsiAiSAgICAAEHviMCAAEEVEJKBgIAAEJOBgIAAIQMgAiAANwMIIAIgATcDACADQZiJwIAAQQIgAkECEOKAgIAAEJSAgIAAGiACQRBqJICAgIAAC/wCAgF/An4jgICAgABBIGsiAiSAgICAAAJAAkACQCAAQv8Bg0LNAFINACABQv8Bg0IEUg0AEMWAgIAAEMuAgIAAIQMCQAJAIAFC/////w9WDQAgAkEIahDRgICAACACKQMQIQEgAikDCEGJCBDNgICAACABIAAQzoCAgABFDQMQx4GAgABB3InAgABBHBCSgYCAABCTgYCAACEAIAIgAzcDECACIAE3AwggAEGUisCAAEECIAJBCGpBAhDigICAABCUgICAABoMAQsQyIGAgAAgAUIgiKdJDQNBASAAQgAQyYGAgABBARDSgICAAEIAIAFChICAgHCDIgEgARCHgICAABpBqInAgABBFhCSgYCAABCTgYCAACEEIAIgATcDGCACIAM3AxAgAiAANwMIIARBxInAgABBAyACQQhqQQMQ4oCAgAAQlICAgAAaCyACQSBqJICAgIAAQgIPCwALQoOAgIDwgAEQz4CAgAAAC0KDgICAgIEBEM+AgIAAAAsTAEEBENKAgIAAQgAQhoCAgAAaCzMBAn4QpoCAgAAhAAJAEKeAgIAAQiCIIgEgAEIgiCIAVA0AIAGnIACnaw8LELGAgIAAAAsVACAAENKAgIAAIAEgAhCEgICAABoLiAECAX8CfiOAgICAAEEQayIAJICAgIAAEMWAgIAAIAAQ0YCAgAAgACkDCCEBIAApAwBBiQgQzYCAgAAgARCIgICAABogABDTgICAAAJAIAAoAgANABCPgYCAAAALIAApAwghAhDHgYCAACABEL6BgIAAIAIgARDFgYCAACAAQRBqJICAgIAAQgILhAECAX8CfiOAgICAAEEQayIAJICAgIAAEMWAgIAAEMuAgIAAIQEQ0ICAgABBABDSgICAAEICEIaAgIAAGkGkisCAAEETEJKBgIAAEJOBgIAAIQIgACABNwMIIAJBuIrAgABBASAAQQhqQQEQ4oCAgAAQlICAgAAaIABBEGokgICAgABCAgsxAAJAIABC/wGDQgRSDQAgAUL/AYNCBFINACAAQiCIpyABQiCIpxDNgYCAAEICDwsACxsAIACtQiCGQgSEIAGtQiCGQgSEEKmAgIAAGgu8BAEFfyOAgICAAEHQAGsiAiSAgICAACACQShqIAAQz4GAgAACQCACKAIoQQJGDQAgAkEIakEIaiACQShqQQhqIgMoAgA2AgAgAiACKQIoNwMIIAJBKGogARDPgYCAACACKAIoQQJGDQAgAkEYakEIaiADKAIANgIAIAIgAikCKDcDGBDJgICAABDFgICAAAJAAkACQBDEgICAAA0AEMiBgIAAIgNBgPuAAyADQYD7gANJGyEEIAIgAkEYajYCLCACIAJBCGo2AihBACEDA0AgA0EIRg0DAkAgAkEoaiADaigCACIFKAIAQQFxRQ0AIAUoAggiBiAESw0DIAUoAgQgBksNAwsgA0EEaiEDDAALC0KDgICA0P8AEM+AgIAAAAtCg4CAgMD/ABDPgICAAAALAkACQCACKAIIQQFHDQAgAigCDCACKAIQELyBgIAADAELQQEQxoCAgABCAhCGgICAABoLAkACQCACKAIYQQFHDQAgAigCHCACKAIgEL2BgIAADAELQQIQxoCAgABCAhCGgICAABoLIAJBKGpBCGogAkEIakEIaigCADYCACACQTxqIAJBGGpBCGooAgA2AgAgAiACKQMINwMoIAIgAikDGDcCNEHsisCAAEEPEJKBgIAAEJOBgIAAIQAgAkEoahDQgYCAACEBIAIgAkE0ahDQgYCAADcDSCACIAE3A0AgAEGQi8CAAEECIAJBwABqQQIQ4oCAgAAQlICAgAAaIAJB0ABqJICAgIAAQgIPCwALaAEBfyOAgICAAEEQayICJICAgIAAAkACQCABQgJRDQAgAkEEaiABEOKBgIAAAkAgAigCBEUNACAAQQI2AgAMAgsgACACKQIINwIEIABBATYCAAwBCyAAQQA2AgALIAJBEGokgICAgAALQwIBfwF+I4CAgIAAQRBrIgEkgICAgAAgASAAENOBgIAAAkAgASgCAEEBRw0AAAsgASkDCCECIAFBEGokgICAgAAgAgugAQICfwF+I4CAgIAAQcAAayIAJICAgIAAEMWAgIAAIABBCGoQ0oGAgAAgAEEUaiIBEMiAgIAAIABBMGogAEEIahDTgYCAAAJAAkAgACgCMA0AIAApAzghAiAAQTBqIAEQ04GAgAAgACgCMEEBRw0BCwALIAAgACkDODcDKCAAIAI3AyAgAEEgakECEK+AgIAAIQIgAEHAAGokgICAgAAgAgsMACAAQQEQ5IGAgAALMAACQCABKAIAQQFHDQAgACABKAIEIAEoAggQ44GAgAAPCyAAQgA3AwAgAEICNwMIC4gBAQF/I4CAgIAAQRBrIgAkgICAgAAQyYCAgAAQxYCAgAACQBDEgICAAEUNAEKDgICA4P8AEM+AgIAAAAtBABDGgICAAEIBQgIQhICAgAAaQaCLwIAAQRIQkoGAgAAQk4GAgABBBEEAIABBCGpBABDigICAABCUgICAABogAEEQaiSAgICAAEICCwkAEMSAgIAArQsJABDXgYCAAAALAwAAC30CAX8BfgJAAkACQAJAIAGnQf8BcSICQcUARg0AIAJBC0cNAiAAIAFCP4c3AxggACABQgiHNwMQDAELIAEQnICAgAAhAyABEJ2AgIAAIQEgACADNwMYIAAgATcDEAtCACEBDAELIABCg5CAgIABNwMIQgEhAQsgACABNwMACx4AIAAgASACrUIghkIEhCADrUIghkIEhBCggICAAAt3AgF/AX4jgICAgABBEGsiAiSAgICAACACIAFBGHQgAUGA/gNxQQh0ciABQQh2QYD+A3EgAUEYdnJyNgIMIAApAwAhAyAAIAMgAxCPgICAAEKAgICAcINCBIQgAkEMakEEENmBgIAANwMAIAJBEGokgICAgAAgAAsaACAArUIghkIEhCABrUIghkIEhBCagICAAAvbAQIBfgR/AkACQCACQQlLDQBCACEDIAIhBCABIQUDQAJAIAQNACADQgiGQg6EIQMMAwtBASEGAkAgBS0AACIHQd8ARg0AAkAgB0FQakH/AXFBCkkNAAJAIAdBv39qQf8BcUEaSQ0AIAdBn39qQf8BcUEZSw0EIAdBRWohBgwCCyAHQUtqIQYMAQsgB0FSaiEGCyADQgaGIAatQv8Bg4QhAyAEQX9qIQQgBUEBaiEFDAALCyABrUIghkIEhCACrUIghkIEhBCfgICAACEDCyAAQgA3AwAgACADNwMICzYBAX5CASECAkAgARCPgICAAEKAgICAcINCgICAgIAEUg0AIAAgATcDCEIAIQILIAAgAjcDAAslACAAIAGtQiCGQgSEIAAQj4CAgABCgICAgHCDQgSEEKSAgIAACzYBAX5CASECAkAgARCPgICAAEKAgICAcINCgICAgMAAUg0AIAAgATcDCEIAIQILIAAgAjcDAAscACAAIAGtQiCGQgSEIAKtQiCGQgSEEKSAgIAAC9kBAgN/AX4jgICAgABBEGsiAiSAgICAAEEBIQMCQCABEI+AgIAAQoCAgIBwg0KAgICAgAJSDQAgAkEIakIANwMAIAJCADcDACAAQQFqIQRBACEDAkADQCABEI+AgIAAQoCAgIAQVA0BIAEQpYCAgAAhBSABQQEQ3oGAgAAhAQJAIANBEEYNACACIANqIAVCIIg8AAAgA0EBaiEDDAELC0EQENaBgIAAAAsgBCACKQMANwAAIARBCGogAkEIaikDADcAAEEAIQMLIAAgAzoAACACQRBqJICAgIAAC60BAgJ/AX4jgICAgABBEGsiAiSAgICAAEEAIQMCQANAIANBEEYNASACIANqQgI3AwAgA0EIaiEDDAALC0EBIQMCQCABQv8Bg0LMAFINACABQdyKwIAAQQIgAkECEOiAgIAAIAIpAwAiAUL/AYNCBFINACACKQMIIgRC/wGDQgRSDQAgACABQiCIpzYCCCAAIARCIIg+AgRBACEDCyAAIAM2AgAgAkEQaiSAgICAAAtgAgF/AX4jgICAgABBEGsiAySAgICAACADIAGtQiCGQgSENwMIIAMgAq1CIIZCBIQ3AwBB3IrAgABBAiADQQIQ4oCAgAAhBCAAQgA3AwAgACAENwMIIANBEGokgICAgAALdwICfwF+I4CAgIAAQRBrIgIkgICAgABBACEDAkACQCABEMaAgIAAIgRCAhC0gICAAEUNACACQQRqIARCAhCDgICAABDigYCAAEEBIQMgAigCBEEBRg0BIAAgAikCCDcCBAsgACADNgIAIAJBEGokgICAgAAPCwALVgIBfwF+I4CAgIAAQRBrIgMkgICAgAAgABDGgICAACEEIAMgASACEOOBgIAAAkAgAygCAEEBRw0AAAsgBCADKQMIQgIQhICAgAAaIANBEGokgICAgAALuQcBDH8jgICAgABBEGshAwJAAkAgAkEQTw0AIAAhBAwBCwJAIAAgAEEAIABrQQNxIgVqIgZPDQAgBUF/aiEHIAAhBCABIQgCQCAFRQ0AIAUhCSAAIQQgASEIA0AgBCAILQAAOgAAIAhBAWohCCAEQQFqIQQgCUF/aiIJDQALCyAHQQdJDQADQCAEIAgtAAA6AAAgBEEBaiAIQQFqLQAAOgAAIARBAmogCEECai0AADoAACAEQQNqIAhBA2otAAA6AAAgBEEEaiAIQQRqLQAAOgAAIARBBWogCEEFai0AADoAACAEQQZqIAhBBmotAAA6AAAgBEEHaiAIQQdqLQAAOgAAIAhBCGohCCAEQQhqIgQgBkcNAAsLIAYgAiAFayIJQXxxIgdqIQQCQAJAIAEgBWoiCEEDcSIBDQAgBiAETw0BIAghAQNAIAYgASgCADYCACABQQRqIQEgBkEEaiIGIARJDQAMAgsLQQAhAiADQQA2AgwgA0EMaiABciEFAkBBBCABayIKQQFxRQ0AIAUgCC0AADoAAEEBIQILAkAgCkECcUUNACAFIAJqIAggAmovAQA7AQALIAggAWshAiABQQN0IQsgAygCDCEFAkACQCAGQQRqIARJDQAgBiEMDAELQQAgC2tBGHEhDQNAIAYgBSALdiACQQRqIgIoAgAiBSANdHI2AgAgBkEIaiEKIAZBBGoiDCEGIAogBEkNAAsLQQAhBiADQQA6AAggA0EAOgAGAkACQCABQQFHDQAgA0EIaiENQQAhAUEAIQpBACEODAELIAJBBWotAAAhCiADIAJBBGotAAAiAToACCAKQQh0IQpBAiEOIANBBmohDQsCQCAIQQFxRQ0AIA0gAkEEaiAOai0AADoAACADLQAGQRB0IQYgAy0ACCEBCyAMIAogBnIgAUH/AXFyQQAgC2tBGHF0IAUgC3ZyNgIACyAJQQNxIQIgCCAHaiEBCwJAIAQgBCACaiIGTw0AIAJBf2ohCQJAIAJBB3EiCEUNAANAIAQgAS0AADoAACABQQFqIQEgBEEBaiEEIAhBf2oiCA0ACwsgCUEHSQ0AA0AgBCABLQAAOgAAIARBAWogAUEBai0AADoAACAEQQJqIAFBAmotAAA6AAAgBEEDaiABQQNqLQAAOgAAIARBBGogAUEEai0AADoAACAEQQVqIAFBBWotAAA6AAAgBEEGaiABQQZqLQAAOgAAIARBB2ogAUEHai0AADoAACABQQhqIQEgBEEIaiIEIAZHDQALCyAACw4AIAAgASACEOaBgIAACwvUCwEAQYCAwAALygtTZW5kQW5kUmVjZWl2ZWV4ZWN1dG9yX2NvbmZpZ19zZXQAAACYAxAABgAAAHNlbmRfdWxuX2NvbmZpZ19zZXRyZWNlaXZlX3Vsbl9jb25maWdfc2V0ZGVmYXVsdF9leGVjdXRvcl9jb25maWdzX3NldHBhcmFtcwBxABAABgAAAGRlZmF1bHRfc2VuZF91bG5fY29uZmlnc19zZXRkZWZhdWx0X3JlY2VpdmVfdWxuX2NvbmZpZ3Nfc2V0ZXhlY3V0b3JfZmVlX3BhaWRmZWUAzAAQAAMAAABkdm5fZmVlX3BhaWRkdm5zZmVlc+QAEAAEAAAA6AAQAAQAAABwYXlsb2FkX3ZlcmlmaWVkY29uZmlybWF0aW9uc2hlYWRlcnByb29mX2hhc2gAAAAMARAADQAAABkBEAAGAAAAHwEQAAoAAABvcHRpb25hbF9kdm5fdGhyZXNob2xkb3B0aW9uYWxfZHZuc3JlcXVpcmVkX2R2bnMMARAADQAAAEQBEAAWAAAAWgEQAA0AAABnARAADQAAAHVsbl9jb25maWd1c2VfZGVmYXVsdF9jb25maXJtYXRpb25zdXNlX2RlZmF1bHRfb3B0aW9uYWxfZHZuc3VzZV9kZWZhdWx0X3JlcXVpcmVkX2R2bnMAAACUARAACgAAAJ4BEAAZAAAAtwEQABkAAADQARAAGQAAAJgDEAAGAAAAqQMQAAMAAABleGVjdXRvcm1heF9tZXNzYWdlX3NpemUcAhAACAAAACQCEAAQAAAAmAMQAAYAAAADAxAABwAAAEVuZHBvaW50VHJlYXN1cnlEZWZhdWx0RXhlY3V0b3JDb25maWdzRGVmYXVsdFNlbmRVbG5Db25maWdzRGVmYXVsdFJlY2VpdmVVbG5Db25maWdzT0FwcEV4ZWN1dG9yQ29uZmlnc09BcHBTZW5kVWxuQ29uZmlnc09BcHBSZWNlaXZlVWxuQ29uZmlnc0NvbmZpcm1hdGlvbnNlbmNvZGVkX3BhY2tldG1lc3NhZ2Vkc3RfZWlkcmVjZWl2ZXJub25jZXNlbmRlcnNyY19laWQSAxAABQAAABcDEAAGAAAAHQMQAAcAAABuYXRpdmVfZmVlenJvX2ZlZQAAADwDEAAKAAAARgMQAAcAAABndWlkZW5kcG9pbnRfdmVyc2lvbm1ham9ybWlub3IAAGQDEAAQAAAAdAMQAAUAAAB5AxAABQAAAGNvbmZpZ2NvbmZpZ190eXBlZWlkmAMQAAYAAACeAxAACwAAAKkDEAADAAAAAwMQAAcAAABgAxAABAAAAPwCEAAHAAAAEgMQAAUAAAAKAxAACAAAABcDEAAGAAAAHQMQAAcAAABhbW91bnR0b/wDEAAGAAAAAgQQAAIAAABuYXRpdmVfZmVlX3JlY2lwaWVudHN6cm9fZmVlX3JlY2lwaWVudHMA7gIQAA4AAAAUBBAAFQAAACkEEAASAAAAYXNzaWduX2pvYgAAABIAAAABdGhyZXNob2xkb3duZXJzaGlwX3RyYW5zZmVycmVkbmV3X293bmVyb2xkX293bmVyAACEBBAACQAAAI0EEAAJAAAAb3duZXJzaGlwX3RyYW5zZmVycmluZ3R0bAAAAIQEEAAJAAAAjQQQAAkAAAC+BBAAAwAAAG93bmVyc2hpcF90cmFuc2Zlcl9jYW5jZWxsZWRjYW5jZWxsZWRfcGVuZGluZ19vd25lcm93bmVy+AQQABcAAAAPBRAABQAAAG93bmVyc2hpcF9yZW5vdW5jZWQAjQQQAAkAAABPd25lclBlbmRpbmdPd25lcmV4dGVuZF90bwAAUQUQAAkAAABmBBAACQAAAHR0bF9jb25maWdzX3NldGluc3RhbmNlcGVyc2lzdGVudAAAAHsFEAAIAAAAgwUQAAoAAAB0dGxfY29uZmlnc19mcm96ZW5Gcm96ZW5JbnN0YW5jZVBlcnNpc3RlbnQA/80BDmNvbnRyYWN0c3BlY3YwAAAABAAAAAAAAAAAAAAAC1VsbjMwMkVycm9yAAAAABQAAABGRGVmYXVsdCBleGVjdXRvciBjb25maWd1cmF0aW9uIGlzIG5vdCBzZXQgZm9yIHRoZSBkZXN0aW5hdGlvbiBlbmRwb2ludAAAAAAAHURlZmF1bHRFeGVjdXRvckNvbmZpZ05vdEZvdW5kAAAAAAAAAQAAAEREZWZhdWx0IHJlY2VpdmUgVUxOIGNvbmZpZ3VyYXRpb24gaXMgbm90IHNldCBmb3IgdGhlIHNvdXJjZSBlbmRwb2ludAAAAB9EZWZhdWx0UmVjZWl2ZVVsbkNvbmZpZ05vdEZvdW5kAAAAAAIAAABGRGVmYXVsdCBzZW5kIFVMTiBjb25maWd1cmF0aW9uIGlzIG5vdCBzZXQgZm9yIHRoZSBkZXN0aW5hdGlvbiBlbmRwb2ludAAAAAAAHERlZmF1bHRTZW5kVWxuQ29uZmlnTm90Rm91bmQAAAADAAAAL09wdGlvbmFsIERWTnMgbGlzdCBjb250YWlucyBkdXBsaWNhdGUgYWRkcmVzc2VzAAAAABVEdXBsaWNhdGVPcHRpb25hbERWTnMAAAAAAAAEAAAAL1JlcXVpcmVkIERWTnMgbGlzdCBjb250YWlucyBkdXBsaWNhdGUgYWRkcmVzc2VzAAAAABVEdXBsaWNhdGVSZXF1aXJlZERWTnMAAAAAAAAFAAAAOENvbmZpZ3VyYXRpb24gYnl0ZXMgZmFpbGVkIHRvIHBhcnNlIGFzIGV4cGVjdGVkIFhEUiB0eXBlAAAADUludmFsaWRDb25maWcAAAAAAAAGAAAAPENvbmZpZyB0eXBlIGlzIG5vdCBvbmUgb2YgRVhFQ1VUT1IsIFNFTkRfVUxOLCBvciBSRUNFSVZFX1VMTgAAABFJbnZhbGlkQ29uZmlnVHlwZQAAAAAAAAcAAAA7Q29uZmlybWF0aW9ucyBtdXN0IGJlIHplcm8gd2hlbiB1c2luZyBkZWZhdWx0IGNvbmZpcm1hdGlvbnMAAAAAFEludmFsaWRDb25maXJtYXRpb25zAAAACAAAAEBQYWNrZXQgaGVhZGVyIGRlc3RpbmF0aW9uIEVJRCBkb2VzIG5vdCBtYXRjaCB0aGlzIGVuZHBvaW50J3MgRUlEAAAACkludmFsaWRFSUQAAAAAAAkAAAAyTWVzc2FnZSBzaXplIGV4Y2VlZHMgZXhlY3V0b3IncyBjb25maWd1cmVkIG1heGltdW0AAAAAABJJbnZhbGlkTWVzc2FnZVNpemUAAAAAAAoAAAAxT3B0aW9uYWwgRFZOcyBjb3VudCBleGNlZWRzIG1heGltdW0gYWxsb3dlZCAoMTI3KQAAAAAAABdJbnZhbGlkT3B0aW9uYWxEVk5Db3VudAAAAAALAAAAPE9wdGlvbmFsIERWTnMgbXVzdCBiZSBlbXB0eSB3aGVuIHVzaW5nIGRlZmF1bHQgb3B0aW9uYWwgRFZOcwAAABNJbnZhbGlkT3B0aW9uYWxEVk5zAAAAAAwAAABNT3B0aW9uYWwgRFZOIHRocmVzaG9sZCBpcyBpbnZhbGlkIChtdXN0IGJlIDAgd2l0aCBubyBEVk5zLCBvciAxIHRvIERWTiBjb3VudCkAAAAAAAAbSW52YWxpZE9wdGlvbmFsRFZOVGhyZXNob2xkAAAAAA0AAAAxUmVxdWlyZWQgRFZOcyBjb3VudCBleGNlZWRzIG1heGltdW0gYWxsb3dlZCAoMTI3KQAAAAAAABdJbnZhbGlkUmVxdWlyZWREVk5Db3VudAAAAAAOAAAAPFJlcXVpcmVkIERWTnMgbXVzdCBiZSBlbXB0eSB3aGVuIHVzaW5nIGRlZmF1bHQgcmVxdWlyZWQgRFZOcwAAABNJbnZhbGlkUmVxdWlyZWREVk5zAAAAAA8AAABJU2VuZGVyIGFkZHJlc3MgbXVzdCBiZSBhIGNvbnRyYWN0IChDLWFkZHJlc3MpLCBub3QgYW4gYWNjb3VudCAoRy1hZGRyZXNzKQAAAAAAABRJbnZhbGlkU2VuZGVyQWRkcmVzcwAAABAAAABSQ29uZmlndXJhdGlvbiBtdXN0IGhhdmUgYXQgbGVhc3Qgb25lIERWTiAocmVxdWlyZWQgb3Igb3B0aW9uYWwgd2l0aCB0aHJlc2hvbGQgPiAwKQAAAAAAEFVsbkF0TGVhc3RPbmVEVk4AAAARAAAAPUVuZHBvaW50IElEIGlzIG5vdCBzdXBwb3J0ZWQgKG1pc3NpbmcgZGVmYXVsdCBjb25maWd1cmF0aW9ucykAAAAAAAAOVW5zdXBwb3J0ZWRFaWQAAAAAABIAAAAwTWVzc2FnZSBoYXMgbm90IGJlZW4gdmVyaWZpZWQgYnkgZW5vdWdoIERWTnMgeWV0AAAACVZlcmlmeWluZwAAAAAAABMAAAAoRXhlY3V0b3IgbWF4IG1lc3NhZ2Ugc2l6ZSBjYW5ub3QgYmUgemVybwAAAA9aZXJvTWVzc2FnZVNpemUAAAAAFAAAAAUAAAAAAAAAAAAAABFFeGVjdXRvckNvbmZpZ1NldAAAAAAAAAEAAAATZXhlY3V0b3JfY29uZmlnX3NldAAAAAADAAAAAAAAAAZzZW5kZXIAAAAAABMAAAABAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAABAAAAAAAAAAZjb25maWcAAAAAB9AAAAAST0FwcEV4ZWN1dG9yQ29uZmlnAAAAAAAAAAAAAgAAAAUAAAAAAAAAAAAAABBTZW5kVWxuQ29uZmlnU2V0AAAAAQAAABNzZW5kX3Vsbl9jb25maWdfc2V0AAAAAAMAAAAAAAAABnNlbmRlcgAAAAAAEwAAAAEAAAAAAAAAB2RzdF9laWQAAAAABAAAAAEAAAAAAAAABmNvbmZpZwAAAAAH0AAAAA1PQXBwVWxuQ29uZmlnAAAAAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAATUmVjZWl2ZVVsbkNvbmZpZ1NldAAAAAABAAAAFnJlY2VpdmVfdWxuX2NvbmZpZ19zZXQAAAAAAAMAAAAAAAAACHJlY2VpdmVyAAAAEwAAAAEAAAAAAAAAB3NyY19laWQAAAAABAAAAAEAAAAAAAAABmNvbmZpZwAAAAAH0AAAAA1PQXBwVWxuQ29uZmlnAAAAAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAZRGVmYXVsdEV4ZWN1dG9yQ29uZmlnc1NldAAAAAAAAAEAAAAcZGVmYXVsdF9leGVjdXRvcl9jb25maWdzX3NldAAAAAEAAAAAAAAABnBhcmFtcwAAAAAD6gAAB9AAAAAdU2V0RGVmYXVsdEV4ZWN1dG9yQ29uZmlnUGFyYW0AAAAAAAAAAAAAAgAAAAUAAAAAAAAAAAAAABhEZWZhdWx0U2VuZFVsbkNvbmZpZ3NTZXQAAAABAAAAHGRlZmF1bHRfc2VuZF91bG5fY29uZmlnc19zZXQAAAABAAAAAAAAAAZwYXJhbXMAAAAAA+oAAAfQAAAAGFNldERlZmF1bHRVbG5Db25maWdQYXJhbQAAAAAAAAACAAAABQAAAAAAAAAAAAAAG0RlZmF1bHRSZWNlaXZlVWxuQ29uZmlnc1NldAAAAAABAAAAH2RlZmF1bHRfcmVjZWl2ZV91bG5fY29uZmlnc19zZXQAAAAAAQAAAAAAAAAGcGFyYW1zAAAAAAPqAAAH0AAAABhTZXREZWZhdWx0VWxuQ29uZmlnUGFyYW0AAAAAAAAAAgAAAAUAAAAAAAAAAAAAAA9FeGVjdXRvckZlZVBhaWQAAAAAAQAAABFleGVjdXRvcl9mZWVfcGFpZAAAAAAAAAMAAAAAAAAACGV4ZWN1dG9yAAAAEwAAAAEAAAAAAAAABGd1aWQAAAPuAAAAIAAAAAEAAAAAAAAAA2ZlZQAAAAfQAAAADEZlZVJlY2lwaWVudAAAAAAAAAACAAAABQAAAAAAAAAAAAAACkRWTkZlZVBhaWQAAAAAAAEAAAAMZHZuX2ZlZV9wYWlkAAAAAwAAAAAAAAAEZ3VpZAAAA+4AAAAgAAAAAQAAAAAAAAAEZHZucwAAA+oAAAATAAAAAAAAAAAAAAAEZmVlcwAAA+oAAAfQAAAADEZlZVJlY2lwaWVudAAAAAAAAAACAAAABQAAAAAAAAAAAAAAD1BheWxvYWRWZXJpZmllZAAAAAABAAAAEHBheWxvYWRfdmVyaWZpZWQAAAAEAAAAAAAAAANkdm4AAAAAEwAAAAEAAAAAAAAABmhlYWRlcgAAAAAADgAAAAAAAAAAAAAADWNvbmZpcm1hdGlvbnMAAAAAAAAGAAAAAAAAAAAAAAAKcHJvb2ZfaGFzaAAAAAAD7gAAACAAAAAAAAAAAgAAAAEAAAA4VWx0cmEgTGlnaHQgTm9kZSBjb25maWd1cmF0aW9uIGZvciBtZXNzYWdlIHZlcmlmaWNhdGlvbi4AAAAAAAAACVVsbkNvbmZpZwAAAAAAAAQAAABKTnVtYmVyIG9mIGJsb2NrIGNvbmZpcm1hdGlvbnMgcmVxdWlyZWQgYmVmb3JlIG1lc3NhZ2UgdmVyaWZpY2F0aW9uIGJlZ2lucy4AAAAAAA1jb25maXJtYXRpb25zAAAAAAAABgAAADNNaW5pbXVtIG51bWJlciBvZiBvcHRpb25hbCBEVk5zIHJlcXVpcmVkIHRvIHZlcmlmeS4AAAAAFm9wdGlvbmFsX2R2bl90aHJlc2hvbGQAAAAAAAQAAABATGlzdCBvZiBEVk4gYWRkcmVzc2VzIGZyb20gd2hpY2ggYSB0aHJlc2hvbGQgbnVtYmVyIG11c3QgdmVyaWZ5LgAAAA1vcHRpb25hbF9kdm5zAAAAAAAD6gAAABMAAABGTGlzdCBvZiBEVk4gYWRkcmVzc2VzIHRoYXQgbXVzdCBBTEwgdmVyaWZ5IHRoZSBtZXNzYWdlIChubyB0aHJlc2hvbGQpLgAAAAAADXJlcXVpcmVkX2R2bnMAAAAAAAPqAAAAEwAAAAEAAAA8T0FwcC1zcGVjaWZpYyBVTE4gY29uZmlndXJhdGlvbiB3aXRoIGRlZmF1bHQgb3ZlcnJpZGUgZmxhZ3MuAAAAAAAAAA1PQXBwVWxuQ29uZmlnAAAAAAAABAAAAEVPQXBwLXNwZWNpZmljIFVMTiBjb25maWd1cmF0aW9uICh1c2VkIHdoZW4gZGVmYXVsdHMgYXJlIG5vdCBhcHBsaWVkKS4AAAAAAAAKdWxuX2NvbmZpZwAAAAAH0AAAAAlVbG5Db25maWcAAAAAAAAlV2hldGhlciB0byB1c2UgZGVmYXVsdCBjb25maXJtYXRpb25zLgAAAAAAABl1c2VfZGVmYXVsdF9jb25maXJtYXRpb25zAAAAAAAAAQAAACVXaGV0aGVyIHRvIHVzZSBkZWZhdWx0IG9wdGlvbmFsIERWTnMuAAAAAAAAGXVzZV9kZWZhdWx0X29wdGlvbmFsX2R2bnMAAAAAAAABAAAAJVdoZXRoZXIgdG8gdXNlIGRlZmF1bHQgcmVxdWlyZWQgRFZOcy4AAAAAAAAZdXNlX2RlZmF1bHRfcmVxdWlyZWRfZHZucwAAAAAAAAEAAAABAAAAUlBhcmFtZXRlciBmb3Igc2V0dGluZyBkZWZhdWx0IFVMTiBjb25maWd1cmF0aW9uIGZvciBhIGRlc3RpbmF0aW9uL3NvdXJjZSBlbmRwb2ludC4AAAAAAAAAAAAYU2V0RGVmYXVsdFVsbkNvbmZpZ1BhcmFtAAAAAgAAAChUaGUgVUxOIGNvbmZpZ3VyYXRpb24gdG8gc2V0IGFzIGRlZmF1bHQuAAAABmNvbmZpZwAAAAAH0AAAAAlVbG5Db25maWcAAAAAAABLVGhlIGRlc3RpbmF0aW9uIGVuZHBvaW50IElEIChmb3Igc2VuZCkgb3Igc291cmNlIGVuZHBvaW50IElEIChmb3IgcmVjZWl2ZSkuAAAAAANlaWQAAAAABAAAAAEAAAAsRXhlY3V0b3IgY29uZmlndXJhdGlvbiBmb3IgbWVzc2FnZSBkZWxpdmVyeS4AAAAAAAAADkV4ZWN1dG9yQ29uZmlnAAAAAAACAAAAQ0FkZHJlc3Mgb2YgdGhlIGV4ZWN1dG9yIGNvbnRyYWN0IHJlc3BvbnNpYmxlIGZvciBtZXNzYWdlIGV4ZWN1dGlvbi4AAAAACGV4ZWN1dG9yAAAAEwAAADlNYXhpbXVtIHNpemUgb2YgbWVzc2FnZXMgdGhhdCBjYW4gYmUgZXhlY3V0ZWQgKGluIGJ5dGVzKS4AAAAAAAAQbWF4X21lc3NhZ2Vfc2l6ZQAAAAQAAAABAAAAW09BcHAtc3BlY2lmaWMgZXhlY3V0b3IgY29uZmlndXJhdGlvbi4KCklmIGV4ZWN1dG9yIGlzIGBOb25lYCwgdGhlIGRlZmF1bHQgZXhlY3V0b3IgaXMgdXNlZC4AAAAAAAAAABJPQXBwRXhlY3V0b3JDb25maWcAAAAAAAIAAABoQWRkcmVzcyBvZiB0aGUgZXhlY3V0b3IgY29udHJhY3QgdG8gYmUgdXNlZCBmb3IgbWVzc2FnZSBleGVjdXRpb24uIE5vbmUgbWVhbnMgdXNlIGRlZmF1bHQgY29uZmlndXJhdGlvbi4AAAAIZXhlY3V0b3IAAAPoAAAAEwAAAFxNYXhpbXVtIHNpemUgb2YgbWVzc2FnZXMgdGhhdCBjYW4gYmUgZXhlY3V0ZWQgKGluIGJ5dGVzKS4gMCBtZWFucyB1c2UgZGVmYXVsdCBjb25maWd1cmF0aW9uLgAAABBtYXhfbWVzc2FnZV9zaXplAAAABAAAAAEAAABQUGFyYW1ldGVyIGZvciBzZXR0aW5nIGRlZmF1bHQgZXhlY3V0b3IgY29uZmlndXJhdGlvbiBmb3IgYSBkZXN0aW5hdGlvbiBlbmRwb2ludC4AAAAAAAAAHVNldERlZmF1bHRFeGVjdXRvckNvbmZpZ1BhcmFtAAAAAAAAAgAAAC1UaGUgZXhlY3V0b3IgY29uZmlndXJhdGlvbiB0byBzZXQgYXMgZGVmYXVsdC4AAAAAAAAGY29uZmlnAAAAAAfQAAAADkV4ZWN1dG9yQ29uZmlnAAAAAAAcVGhlIGRlc3RpbmF0aW9uIGVuZHBvaW50IElELgAAAAdkc3RfZWlkAAAAAAQAAAAAAAAASFNldHMgZGVmYXVsdCBleGVjdXRvciBjb25maWd1cmF0aW9ucyBmb3IgbXVsdGlwbGUgZGVzdGluYXRpb24gZW5kcG9pbnRzLgAAABxzZXRfZGVmYXVsdF9leGVjdXRvcl9jb25maWdzAAAAAQAAAAAAAAAGcGFyYW1zAAAAAAPqAAAH0AAAAB1TZXREZWZhdWx0RXhlY3V0b3JDb25maWdQYXJhbQAAAAAAAAAAAAAAAAAASFNldHMgZGVmYXVsdCBzZW5kIFVMTiBjb25maWd1cmF0aW9ucyBmb3IgbXVsdGlwbGUgZGVzdGluYXRpb24gZW5kcG9pbnRzLgAAABxzZXRfZGVmYXVsdF9zZW5kX3Vsbl9jb25maWdzAAAAAQAAAAAAAAAGcGFyYW1zAAAAAAPqAAAH0AAAABhTZXREZWZhdWx0VWxuQ29uZmlnUGFyYW0AAAAAAAAAAAAAADBSZXR1cm5zIHRoZSB0cmVhc3VyeSBhZGRyZXNzIGZvciBmZWUgY29sbGVjdGlvbi4AAAAIdHJlYXN1cnkAAAAAAAAAAQAAABMAAAAAAAAARlJldHVybnMgdGhlIGRlZmF1bHQgZXhlY3V0b3IgY29uZmlndXJhdGlvbiBmb3IgYSBkZXN0aW5hdGlvbiBlbmRwb2ludC4AAAAAABdkZWZhdWx0X2V4ZWN1dG9yX2NvbmZpZwAAAAABAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAABAAAD6AAAB9AAAAAORXhlY3V0b3JDb25maWcAAAAAAAAAAABMUmV0dXJucyB0aGUgT0FwcC1zcGVjaWZpYyBleGVjdXRvciBjb25maWd1cmF0aW9uIGZvciBhIGRlc3RpbmF0aW9uIGVuZHBvaW50LgAAABRvYXBwX2V4ZWN1dG9yX2NvbmZpZwAAAAIAAAAAAAAABnNlbmRlcgAAAAAAEwAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAQAAA+gAAAfQAAAAEk9BcHBFeGVjdXRvckNvbmZpZwAAAAAAAAAAAFFSZXR1cm5zIHRoZSBlZmZlY3RpdmUgZXhlY3V0b3IgY29uZmlndXJhdGlvbiBieSBtZXJnaW5nIE9BcHAgY29uZmlnIHdpdGggZGVmYXVsdC4AAAAAAAAZZWZmZWN0aXZlX2V4ZWN1dG9yX2NvbmZpZwAAAAAAAAIAAAAAAAAABnNlbmRlcgAAAAAAEwAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAQAAB9AAAAAORXhlY3V0b3JDb25maWcAAAAAAAAAAABGUmV0dXJucyB0aGUgZGVmYXVsdCBzZW5kIFVMTiBjb25maWd1cmF0aW9uIGZvciBhIGRlc3RpbmF0aW9uIGVuZHBvaW50LgAAAAAAF2RlZmF1bHRfc2VuZF91bG5fY29uZmlnAAAAAAEAAAAAAAAAB2RzdF9laWQAAAAABAAAAAEAAAPoAAAH0AAAAAlVbG5Db25maWcAAAAAAAAAAAAATFJldHVybnMgdGhlIE9BcHAtc3BlY2lmaWMgc2VuZCBVTE4gY29uZmlndXJhdGlvbiBmb3IgYSBkZXN0aW5hdGlvbiBlbmRwb2ludC4AAAAUb2FwcF9zZW5kX3Vsbl9jb25maWcAAAACAAAAAAAAAAZzZW5kZXIAAAAAABMAAAAAAAAAB2RzdF9laWQAAAAABAAAAAEAAAPoAAAH0AAAAA1PQXBwVWxuQ29uZmlnAAAAAAAAAAAAAFFSZXR1cm5zIHRoZSBlZmZlY3RpdmUgc2VuZCBVTE4gY29uZmlndXJhdGlvbiBieSBtZXJnaW5nIE9BcHAgY29uZmlnIHdpdGggZGVmYXVsdC4AAAAAAAAZZWZmZWN0aXZlX3NlbmRfdWxuX2NvbmZpZwAAAAAAAAIAAAAAAAAABnNlbmRlcgAAAAAAEwAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAQAAB9AAAAAJVWxuQ29uZmlnAAAAAAAAAAAAAJ5RdW90ZXMgdGhlIHRvdGFsIGZlZSBmb3Igc2VuZGluZyBhIGNyb3NzLWNoYWluIG1lc3NhZ2UuCgpDYWxjdWxhdGVzIGZlZXMgZnJvbTogZXhlY3V0b3IgKG1lc3NhZ2UgZXhlY3V0aW9uKSwgRFZOcyAodmVyaWZpY2F0aW9uKSwgYW5kIHRyZWFzdXJ5IChwcm90b2NvbCBmZWUpLgAAAAAABXF1b3RlAAAAAAAAAwAAAAAAAAAGcGFja2V0AAAAAAfQAAAADk91dGJvdW5kUGFja2V0AAAAAAAAAAAAB29wdGlvbnMAAAAADgAAAAAAAAAKcGF5X2luX3pybwAAAAAAAQAAAAEAAAfQAAAADE1lc3NhZ2luZ0ZlZQAAAAAAAACZU2VuZHMgYSBjcm9zcy1jaGFpbiBtZXNzYWdlIGFuZCByZXR1cm5zIGZlZSByZWNpcGllbnRzIGZvciBwYXltZW50LgoKQXNzaWducyBleGVjdXRvciBhbmQgRFZOcywgY2FsY3VsYXRlcyBmZWVzLCBhbmQgZW5jb2RlcyB0aGUgcGFja2V0IGZvciB0cmFuc21pc3Npb24uAAAAAAAABHNlbmQAAAADAAAAAAAAAAZwYWNrZXQAAAAAB9AAAAAOT3V0Ym91bmRQYWNrZXQAAAAAAAAAAAAHb3B0aW9ucwAAAAAOAAAAAAAAAApwYXlfaW5fenJvAAAAAAABAAAAAQAAB9AAAAANRmVlc0FuZFBhY2tldAAAAAAAAAAAAACvQ2FsbGVkIGJ5IGEgRFZOIHRvIHZlcmlmeSBhIG1lc3NhZ2Ugd2l0aCBhIHNwZWNpZmljIG51bWJlciBvZiBibG9jayBjb25maXJtYXRpb25zLgoKU3RvcmVzIHRoZSBEVk4ncyB2ZXJpZmljYXRpb24gYXR0ZXN0YXRpb24gd2hpY2ggd2lsbCBiZSBjaGVja2VkIGR1cmluZyBjb21taXRfdmVyaWZpY2F0aW9uLgAAAAAGdmVyaWZ5AAAAAAAEAAAAAAAAAANkdm4AAAAAEwAAAAAAAAANcGFja2V0X2hlYWRlcgAAAAAAAA4AAAAAAAAADHBheWxvYWRfaGFzaAAAA+4AAAAgAAAAAAAAAA1jb25maXJtYXRpb25zAAAAAAAABgAAAAAAAAAAAAABYVBlcm1pc3Npb25sZXNzIGZ1bmN0aW9uIHRvIGNvbW1pdCBhIHZlcmlmaWVkIG1lc3NhZ2UgdG8gdGhlIGVuZHBvaW50IGFmdGVyIHN1ZmZpY2llbnQgRFZOIHZlcmlmaWNhdGlvbi4KClZhbGlkYXRlcyB0aGUgcGFja2V0IGhlYWRlciBhbmQgY2hlY2tzIHRoYXQgZW5vdWdoIERWTnMgaGF2ZSB2ZXJpZmllZCB0aGUgbWVzc2FnZQooYWxsIHJlcXVpcmVkIERWTnMgKyBvcHRpb25hbCBEVk4gdGhyZXNob2xkKS4gT25jZSB2ZXJpZmllZCwgY2xlYW5zIHVwIERWTiBjb25maXJtYXRpb24Kc3RvcmFnZSBhbmQgY2FsbHMgdGhlIGVuZHBvaW50IHRvIG1hcmsgdGhlIG1lc3NhZ2UgYXMgdmVyaWZpZWQgYW5kIGV4ZWN1dGFibGUuAAAAAAAAE2NvbW1pdF92ZXJpZmljYXRpb24AAAAAAgAAAAAAAAANcGFja2V0X2hlYWRlcgAAAAAAAA4AAAAAAAAADHBheWxvYWRfaGFzaAAAA+4AAAAgAAAAAAAAAAAAAACYU2V0cyBkZWZhdWx0IHJlY2VpdmUgVUxOIGNvbmZpZ3VyYXRpb25zIGZvciBtdWx0aXBsZSBzb3VyY2UgZW5kcG9pbnRzLgoKVmFsaWRhdGVzIGVhY2ggY29uZmlnIGFuZCBzdG9yZXMgaXQgYXMgdGhlIGRlZmF1bHQgZm9yIHRoZSBzcGVjaWZpZWQgc291cmNlIEVJRC4AAAAfc2V0X2RlZmF1bHRfcmVjZWl2ZV91bG5fY29uZmlncwAAAAABAAAAAAAAAAZwYXJhbXMAAAAAA+oAAAfQAAAAGFNldERlZmF1bHRVbG5Db25maWdQYXJhbQAAAAAAAAAAAAAAVVJldHVybnMgdGhlIG51bWJlciBvZiBibG9jayBjb25maXJtYXRpb25zIGEgRFZOIGhhcyBzdWJtaXR0ZWQgZm9yIGEgc3BlY2lmaWMgbWVzc2FnZS4AAAAAAAANY29uZmlybWF0aW9ucwAAAAAAAAMAAAAAAAAAA2R2bgAAAAATAAAAAAAAAAtoZWFkZXJfaGFzaAAAAAPuAAAAIAAAAAAAAAAMcGF5bG9hZF9oYXNoAAAD7gAAACAAAAABAAAD6AAAAAYAAAAAAAAAUkNoZWNrcyBpZiBhIG1lc3NhZ2UgaGFzIGJlZW4gc3VmZmljaWVudGx5IHZlcmlmaWVkIGJ5IERWTnMgYW5kIGlzIHJlYWR5IHRvIGNvbW1pdC4AAAAAAAp2ZXJpZmlhYmxlAAAAAAACAAAAAAAAAA1wYWNrZXRfaGVhZGVyAAAAAAAADgAAAAAAAAAMcGF5bG9hZF9oYXNoAAAD7gAAACAAAAABAAAAAQAAAAAAAABEUmV0dXJucyB0aGUgZGVmYXVsdCByZWNlaXZlIFVMTiBjb25maWd1cmF0aW9uIGZvciBhIHNvdXJjZSBlbmRwb2ludC4AAAAaZGVmYXVsdF9yZWNlaXZlX3Vsbl9jb25maWcAAAAAAAEAAAAAAAAAB3NyY19laWQAAAAABAAAAAEAAAPoAAAH0AAAAAlVbG5Db25maWcAAAAAAAAAAAAAU1JldHVybnMgdGhlIE9BcHAtc3BlY2lmaWMgcmVjZWl2ZSBVTE4gY29uZmlndXJhdGlvbiBvdmVycmlkZSBmb3IgYSBzb3VyY2UgZW5kcG9pbnQuAAAAABdvYXBwX3JlY2VpdmVfdWxuX2NvbmZpZwAAAAACAAAAAAAAAAhyZWNlaXZlcgAAABMAAAAAAAAAB3NyY19laWQAAAAABAAAAAEAAAPoAAAH0AAAAA1PQXBwVWxuQ29uZmlnAAAAAAAAAAAAAFVSZXR1cm5zIHRoZSBlZmZlY3RpdmUgcmVjZWl2ZSBVTE4gY29uZmlndXJhdGlvbiBieSBtZXJnaW5nIE9BcHAgY29uZmlnIHdpdGggZGVmYXVsdHMuAAAAAAAAHGVmZmVjdGl2ZV9yZWNlaXZlX3Vsbl9jb25maWcAAAACAAAAAAAAAAhyZWNlaXZlcgAAABMAAAAAAAAAB3NyY19laWQAAAAABAAAAAEAAAfQAAAACVVsbkNvbmZpZwAAAAAAAAAAAADcU2V0cyBPQXBwLXNwZWNpZmljIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVycyBmb3IgdGhlIG1lc3NhZ2UgbGlicmFyeS4KCkNhbGxlZCBieSB0aGUgZW5kcG9pbnQgb24gYmVoYWxmIG9mIHRoZSBPQXBwIHRvIGNvbmZpZ3VyZSBleGVjdXRvciBhbmQgVUxOIHNldHRpbmdzLgpTdXBwb3J0cyB0aHJlZSBjb25maWcgdHlwZXM6IEVYRUNVVE9SLCBTRU5EX1VMTiwgYW5kIFJFQ0VJVkVfVUxOLgAAAApzZXRfY29uZmlnAAAAAAACAAAAAAAAAARvYXBwAAAAEwAAAAAAAAAGcGFyYW1zAAAAAAPqAAAH0AAAAA5TZXRDb25maWdQYXJhbQAAAAAAAAAAAAAAAAA2UmV0dXJucyB0aGUgWERSLWVuY29kZWQgZWZmZWN0aXZlIGNvbmZpZ3VyYXRpb24gYnl0ZXMuAAAAAAAKZ2V0X2NvbmZpZwAAAAAAAwAAAAAAAAADZWlkAAAAAAQAAAAAAAAABG9hcHAAAAATAAAAAAAAAAtjb25maWdfdHlwZQAAAAAEAAAAAQAAAA4AAAAAAAAAWFJldHVybnMgdHJ1ZSBpZiB0aGUgbWVzc2FnZSBsaWJyYXJ5IGhhcyBmdWxsIGRlZmF1bHQgY29uZmlndXJhdGlvbnMgZm9yIHRoZSBlbmRwb2ludCBJRC4AAAAQaXNfc3VwcG9ydGVkX2VpZAAAAAEAAAAAAAAAA2VpZAAAAAAEAAAAAQAAAAEAAAAAAAAAK1JldHVybnMgdGhlIHZlcnNpb24gb2YgdGhlIG1lc3NhZ2UgbGlicmFyeS4AAAAAB3ZlcnNpb24AAAAAAAAAAAEAAAfQAAAAEU1lc3NhZ2VMaWJWZXJzaW9uAAAAAAAAAAAAAChSZXR1cm5zIHRoZSB0eXBlIG9mIHRoZSBtZXNzYWdlIGxpYnJhcnkuAAAAEG1lc3NhZ2VfbGliX3R5cGUAAAAAAAAAAQAAB9AAAAAOTWVzc2FnZUxpYlR5cGUAAAAAAAAAAAAAAAAADV9fY29uc3RydWN0b3IAAAAAAAADAAAAAAAAAAVvd25lcgAAAAAAABMAAAAAAAAACGVuZHBvaW50AAAAEwAAAAAAAAAIdHJlYXN1cnkAAAATAAAAAAAAAAAAAAAwUmV0dXJucyB0aGUgTGF5ZXJaZXJvIGVuZHBvaW50IGNvbnRyYWN0IGFkZHJlc3MuAAAACGVuZHBvaW50AAAAAAAAAAEAAAATAAAAAAAAAAAAAAAKYXV0aG9yaXplcgAAAAAAAAAAAAEAAAATAAAAAAAAAD5SZXR1cm5zIHRoZSBjdXJyZW50IG93bmVyIGFkZHJlc3MsIG9yIE5vbmUgaWYgbm8gb3duZXIgaXMgc2V0LgAAAAAABW93bmVyAAAAAAAAAAAAAAEAAAPoAAAAEwAAAAAAAABZUmV0dXJucyB0aGUgcGVuZGluZyBvd25lciBhZGRyZXNzIGZvciAyLXN0ZXAgdHJhbnNmZXIsIG9yIE5vbmUgaWYgbm8gdHJhbnNmZXIgaXMgcGVuZGluZy4AAAAAAAANcGVuZGluZ19vd25lcgAAAAAAAAAAAAABAAAD6AAAABMAAAAAAAABK1RyYW5zZmVycyBvd25lcnNoaXAgaW1tZWRpYXRlbHkgdG8gYSBuZXcgYWRkcmVzcy4KClVzZSB3aXRoIGNhdXRpb24gLSBpZiB5b3UgdHJhbnNmZXIgdG8gYSB3cm9uZyBhZGRyZXNzLCBvd25lcnNoaXAgaXMgbG9zdCBmb3JldmVyLgpDb25zaWRlciB1c2luZyBgcHJvcG9zZV9vd25lcnNoaXBfdHJhbnNmZXJgIGluc3RlYWQuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBUcmFuc2ZlckluUHJvZ3Jlc3NgIGlmIGEgMi1zdGVwIHRyYW5zZmVyIGlzIGluIHByb2dyZXNzAAAAABJ0cmFuc2Zlcl9vd25lcnNoaXAAAAAAAAEAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAAAAAlxQcm9wb3NlcyBhbiBvd25lcnNoaXAgdHJhbnNmZXIgdG8gYSBuZXcgYWRkcmVzcy4KClRoZSBuZXcgb3duZXIgbXVzdCBjYWxsIGBhY2NlcHRfb3duZXJzaGlwKClgIHdpdGhpbiBgdHRsYCBsZWRnZXJzCnRvIGNvbXBsZXRlIHRoZSB0cmFuc2Zlci4gVGhlIHBlbmRpbmcgdHJhbnNmZXIgd2lsbCBhdXRvbWF0aWNhbGx5IGV4cGlyZSBhZnRlci4KCiMgQXJndW1lbnRzCi0gYG5ld19vd25lcmAgLSBUaGUgcHJvcG9zZWQgbmV3IG93bmVyCi0gYHR0bGAgLSBOdW1iZXIgb2YgbGVkZ2VycyB0aGUgbmV3IG93bmVyIGhhcyB0byBhY2NlcHQuClVzZSBgMGAgdG8gY2FuY2VsIGEgcGVuZGluZyB0cmFuc2ZlciAobmV3X293bmVyIG11c3QgbWF0Y2ggcGVuZGluZykuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBOb1BlbmRpbmdUcmFuc2ZlcmAgd2hlbiBjYW5jZWxsaW5nIGFuZCBubyBwZW5kaW5nIHRyYW5zZmVyIGV4aXN0cwotIGBJbnZhbGlkVHRsYCBpZiB0dGwgZXhjZWVkcyBtYXggVFRMCi0gYEludmFsaWRQZW5kaW5nT3duZXJgIHdoZW4gY2FuY2VsbGluZyB3aXRoIHdyb25nIG5ld19vd25lciBhZGRyZXNzAAAAGnByb3Bvc2Vfb3duZXJzaGlwX3RyYW5zZmVyAAAAAAACAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAN0dGwAAAAABAAAAAAAAAAAAAAAuUFjY2VwdHMgYSBwZW5kaW5nIDItc3RlcCBvd25lcnNoaXAgdHJhbnNmZXIuCgpNdXN0IGJlIGNhbGxlZCBieSB0aGUgcGVuZGluZyBvd25lciBiZWZvcmUgdGhlIFRUTCBleHBpcmVzLgoKIyBQYW5pY3MKLSBgTm9QZW5kaW5nVHJhbnNmZXJgIGlmIHRoZXJlIGlzIG5vIHBlbmRpbmcgdHJhbnNmZXIgKG9yIGl0IGV4cGlyZWQpAAAAAAAAEGFjY2VwdF9vd25lcnNoaXAAAAAAAAAAAAAAAAAAAACkUGVybWFuZW50bHkgcmVub3VuY2VzIG93bmVyc2hpcC4KCiMgUGFuaWNzCi0gYE93bmVyTm90U2V0YCBpZiBubyBvd25lciBpcyBjdXJyZW50bHkgc2V0Ci0gYFRyYW5zZmVySW5Qcm9ncmVzc2AgaWYgYSAyLXN0ZXAgdHJhbnNmZXIgaXMgaW4gcHJvZ3Jlc3MgKGNhbmNlbCBpdCBmaXJzdCkAAAAScmVub3VuY2Vfb3duZXJzaGlwAAAAAAAAAAAAAAAAAAAAAAClRXh0ZW5kcyB0aGUgaW5zdGFuY2UgVFRMLgoKIyBBcmd1bWVudHMKCiogYHRocmVzaG9sZGAgLSBUaGUgdGhyZXNob2xkIHRvIGV4dGVuZCB0aGUgVFRMIChpZiBjdXJyZW50IFRUTCBpcyBiZWxvdyB0aGlzLCBleHRlbmQpLgoqIGBleHRlbmRfdG9gIC0gVGhlIFRUTCB0byBleHRlbmQgdG8uAAAAAAAAE2V4dGVuZF9pbnN0YW5jZV90dGwAAAAAAgAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAAJZXh0ZW5kX3RvAAAAAAAABAAAAAAAAAAAAAABj1NldHMgVFRMIGNvbmZpZ3MgZm9yIGluc3RhbmNlIGFuZCBwZXJzaXN0ZW50IHN0b3JhZ2UuCgotIGBOb25lYCB2YWx1ZXMgcmVtb3ZlIHRoZSBjb3JyZXNwb25kaW5nIGNvbmZpZyAoZGlzYWJsZXMgYXV0by1leHRlbnNpb24gZm9yIHRoYXQgdHlwZSkKLSBWYWxpZGF0ZXMgdGhhdCBgdGhyZXNob2xkIDw9IGV4dGVuZF90byA8PSBNQVhfVFRMYAoKIyBBcmd1bWVudHMKLSBgaW5zdGFuY2VgIC0gVFRMIGNvbmZpZyBmb3IgaW5zdGFuY2Ugc3RvcmFnZQotIGBwZXJzaXN0ZW50YCAtIFRUTCBjb25maWcgZm9yIHBlcnNpc3RlbnQgc3RvcmFnZQoKIyBQYW5pY3MKLSBgVHRsQ29uZmlnRnJvemVuYCBpZiBjb25maWdzIGFyZSBmcm96ZW4KLSBgSW52YWxpZFR0bENvbmZpZ2AgaWYgdmFsaWRhdGlvbiBmYWlscwAAAAAPc2V0X3R0bF9jb25maWdzAAAAAAIAAAAAAAAACGluc3RhbmNlAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAApwZXJzaXN0ZW50AAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAAAAAEhSZXR1cm5zIHRoZSBjdXJyZW50IFRUTCBjb25maWdzIGFzIChpbnN0YW5jZV9jb25maWcsIHBlcnNpc3RlbnRfY29uZmlnKS4AAAALdHRsX2NvbmZpZ3MAAAAAAAAAAAEAAAPtAAAAAgAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAADhUGVybWFuZW50bHkgZnJlZXplcyBUVEwgY29uZmlncywgcHJldmVudGluZyBhbnkgZnV0dXJlIG1vZGlmaWNhdGlvbnMuCgpUaGlzIGlzIGlycmV2ZXJzaWJsZSBhbmQgcHJvdmlkZXMgaW1tdXRhYmlsaXR5IGd1YXJhbnRlZXMgdG8gdXNlcnMuCkVtaXRzIGBUdGxDb25maWdzRnJvemVuYCBldmVudC4KCiMgUGFuaWNzCi0gYFR0bENvbmZpZ0FscmVhZHlGcm96ZW5gIGlmIGFscmVhZHkgZnJvemVuAAAAAAAAEmZyZWV6ZV90dGxfY29uZmlncwAAAAAAAAAAAAAAAAAAAAAAJ1JldHVybnMgd2hldGhlciBUVEwgY29uZmlncyBhcmUgZnJvemVuLgAAAAAVaXNfdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAAEAAAABAAAAAgAAAAAAAAAAAAAAClVsblN0b3JhZ2UAAAAAAAkAAAAAAAAAAAAAAAhFbmRwb2ludAAAAAAAAAAAAAAACFRyZWFzdXJ5AAAAAQAAAAAAAAAWRGVmYXVsdEV4ZWN1dG9yQ29uZmlncwAAAAAAAQAAAAQAAAABAAAAAAAAABVEZWZhdWx0U2VuZFVsbkNvbmZpZ3MAAAAAAAABAAAABAAAAAEAAAAAAAAA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aW50AAAAAAAcRGVmYXVsdFJlY2VpdmVMaWJVbmF2YWlsYWJsZQAAAAQAAAA8RGVmYXVsdCBzZW5kIGxpYnJhcnkgaXMgbm90IHNldCBmb3IgdGhlIGRlc3RpbmF0aW9uIGVuZHBvaW50AAAAGURlZmF1bHRTZW5kTGliVW5hdmFpbGFibGUAAAAAAAAFAAAAL1N1cHBsaWVkIG5hdGl2ZSB0b2tlbiBmZWUgaXMgbGVzcyB0aGFuIHJlcXVpcmVkAAAAABVJbnN1ZmZpY2llbnROYXRpdmVGZWUAAAAAAAAGAAAALFN1cHBsaWVkIFpSTyB0b2tlbiBmZWUgaXMgbGVzcyB0aGFuIHJlcXVpcmVkAAAAEkluc3VmZmljaWVudFpyb0ZlZQAAAAAABwAAACtUaW1lb3V0IGV4cGlyeSBpcyBpbnZhbGlkIChhbHJlYWR5IGV4cGlyZWQpAAAAAA1JbnZhbGlkRXhwaXJ5AAAAAAAACAAAACBGZWUgYW1vdW50IGlzIGludmFsaWQgKG5lZ2F0aXZlKQAAABBJbnZhbGlkRmVlQW1vdW50AAAACQAAACtDb21wb3NlIGluZGV4IGV4Y2VlZHMgbWF4aW11bSBhbGxvd2VkIHZhbHVlAAAAAAxJbnZhbGlkSW5kZXgAAAAKAAAALE5vbmNlIGlzIGludmFsaWQgZm9yIHRoZSByZXF1ZXN0ZWQgb3BlcmF0aW9uAAAADEludmFsaWROb25jZQAAAAsAAAAwUGF5bG9hZCBoYXNoIGlzIGludmFsaWQgKGVtcHR5IGhhc2ggbm90IGFsbG93ZWQpAAAAEkludmFsaWRQYXlsb2FkSGFzaAAAAAAADAAAAEFSZWNlaXZlIGxpYnJhcnkgaXMgbm90IHZhbGlkIGZvciB0aGUgcmVjZWl2ZXIgYW5kIHNvdXJjZSBlbmRwb2ludAAAAAAAABVJbnZhbGlkUmVjZWl2ZUxpYnJhcnkAAAAAAAANAAAAMU9wZXJhdGlvbiByZXF1aXJlcyBhIG5vbi1kZWZhdWx0IChjdXN0b20pIGxpYnJhcnkAAAAAAAART25seU5vbkRlZmF1bHRMaWIAAAAAAAAOAAAAJ0xpYnJhcnkgbXVzdCBzdXBwb3J0IHJlY2VpdmluZyBtZXNzYWdlcwAAAAAOT25seVJlY2VpdmVMaWIAAAAAAA8AAAAsTGlicmFyeSBtdXN0IGJlIHJlZ2lzdGVyZWQgd2l0aCB0aGUgZW5kcG9pbnQAAAART25seVJlZ2lzdGVyZWRMaWIAAAAAAAAQAAAAJUxpYnJhcnkgbXVzdCBzdXBwb3J0IHNlbmRpbmcgbWVzc2FnZXMAAAAAAAALT25seVNlbmRMaWIAAAAAEQAAADlNZXNzYWdpbmcgcGF0aCBjYW5ub3QgYmUgaW5pdGlhbGl6ZWQgZm9yIHRoZSBnaXZlbiBvcmlnaW4AAAAAAAAUUGF0aE5vdEluaXRpYWxpemFibGUAAAASAAAAL01lc3NhZ2UgY2Fubm90IGJlIHZlcmlmaWVkIGZvciB0aGUgZ2l2ZW4gb3JpZ2luAAAAABFQYXRoTm90VmVyaWZpYWJsZQAAAAAAABMAAAArUGF5bG9hZCBoYXNoIGRvZXMgbm90IG1hdGNoIHRoZSBzdG9yZWQgaGFzaAAAAAATUGF5bG9hZEhhc2hOb3RGb3VuZAAAAAAUAAAAJ05ldyB2YWx1ZSBpcyB0aGUgc2FtZSBhcyBleGlzdGluZyB2YWx1ZQAAAAAJU2FtZVZhbHVlAAAAAAAAFQAAAC9DYWxsZXIgaXMgbm90IGF1dGhvcml6ZWQgKG5vdCBPQXBwIG9yIGRlbGVnYXRlKQAAAAAMVW5hdXRob3JpemVkAAAAFgAAACtFbmRwb2ludCBJRCBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBsaWJyYXJ5AAAAAA5VbnN1cHBvcnRlZEVpZAAAAAAAFwAAADlaUk8gZmVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIHplcm8gd2hlbiBwYXlfaW5fenJvIGlzIHRydWUAAAAAAAAKWmVyb1pyb0ZlZQAAAAAAGAAAABxaUk8gdG9rZW4gYWRkcmVzcyBpcyBub3Qgc2V0AAAADlpyb1VuYXZhaWxhYmxlAAAAAAAZAAAAAQAAAC1QYXJhbWV0ZXJzIGZvciBzZW5kaW5nIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZS4AAAAAAAAAAAAAD01lc3NhZ2luZ1BhcmFtcwAAAAAFAAAAK0Rlc3RpbmF0aW9uIGVuZHBvaW50IElEIChjaGFpbiBpZGVudGlmaWVyKS4AAAAAB2RzdF9laWQAAAAABAAAABxUaGUgbWVzc2FnZSBwYXlsb2FkIHRvIHNlbmQuAAAAB21lc3NhZ2UAAAAADgAAACFFbmNvZGVkIGV4ZWN1dG9yIGFuZCBEVk4gb3B0aW9ucy4AAAAAAAAHb3B0aW9ucwAAAAAOAAAAOVdoZXRoZXIgdG8gcGF5IGZlZXMgaW4gWlJPIHRva2VuIGluc3RlYWQgb2YgbmF0aXZlIHRva2VuLgAAAAAAAApwYXlfaW5fenJvAAAAAAABAAAANVJlY2VpdmVyIGFkZHJlc3Mgb24gdGhlIGRlc3RpbmF0aW9uIGNoYWluICgzMiBieXRlcykuAAAAAAAACHJlY2VpdmVyAAAD7gAAACAAAAABAAAATVNvdXJjZSBtZXNzYWdlIGluZm9ybWF0aW9uIGlkZW50aWZ5aW5nIHdoZXJlIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZSBjYW1lIGZyb20uAAAAAAAAAAAAAAZPcmlnaW4AAAAAAAMAAAAXTm9uY2UgZm9yIHRoaXMgcGF0aHdheS4AAAAABW5vbmNlAAAAAAAABgAAAC5TZW5kZXIgYWRkcmVzcyBvbiB0aGUgc291cmNlIGNoYWluICgzMiBieXRlcykuAAAAAAAGc2VuZGVyAAAAAAPuAAAAIAAAACZTb3VyY2UgZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpLgAAAAAAB3NyY19laWQAAAAABAAAAAEAAAAoRmVlIHN0cnVjdHVyZSBmb3IgY3Jvc3MtY2hhaW4gbWVzc2FnaW5nLgAAAAAAAAAMTWVzc2FnaW5nRmVlAAAAAgAAAB9GZWUgcGFpZCBpbiBuYXRpdmUgdG9rZW4gKFhMTSkuAAAAAApuYXRpdmVfZmVlAAAAAAALAAAAKEZlZSBwYWlkIGluIFpSTyB0b2tlbiAoTGF5ZXJaZXJvIHRva2VuKS4AAAAHenJvX2ZlZQAAAAALAAAAAQAAAEJSZWNlaXB0IHJldHVybmVkIGFmdGVyIHN1Y2Nlc3NmdWxseSBzZW5kaW5nIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZS4AAAAAAAAAAAAQTWVzc2FnaW5nUmVjZWlwdAAAAAMAAAApVGhlIGZlZXMgY2hhcmdlZCBmb3Igc2VuZGluZyB0aGUgbWVzc2FnZS4AAAAAAAADZmVlAAAAB9AAAAAMTWVzc2FnaW5nRmVlAAAAK0dsb2JhbGx5IHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgbWVzc2FnZS4AAAAABGd1aWQAAAPuAAAAIAAAACRUaGUgb3V0Ym91bmQgbm9uY2UgZm9yIHRoaXMgcGF0aHdheS4AAAAFbm9uY2UAAAAAAAAGAAAAAgAAADhUeXBlIG9mIG1lc3NhZ2UgbGlicmFyeSBpbmRpY2F0aW5nIHN1cHBvcnRlZCBvcGVyYXRpb25zLgAAAAAAAAAOTWVzc2FnZUxpYlR5cGUAAAAAAAMAAAAAAAAAH1N1cHBvcnRzIG9ubHkgc2VuZGluZyBtZXNzYWdlcy4AAAAABFNlbmQAAAAAAAAAIVN1cHBvcnRzIG9ubHkgcmVjZWl2aW5nIG1lc3NhZ2VzLgAAAAAAAAdSZWNlaXZlAAAAAAAAAAAtU3VwcG9ydHMgYm90aCBzZW5kaW5nIGFuZCByZWNlaXZpbmcgbWVzc2FnZXMuAAAAAAAADlNlbmRBbmRSZWNlaXZlAAAAAAABAAAAt1ZlcnNpb24gaW5mb3JtYXRpb24gZm9yIGEgbWVzc2FnZSBsaWJyYXJ5LgoKTm90ZTogYG1pbm9yYCBhbmQgYGVuZHBvaW50X3ZlcnNpb25gIHVzZSBgdTMyYCBpbnN0ZWFkIG9mIGB1OGAgYmVjYXVzZSBTdGVsbGFyIGRvZXMgbm90CnN1cHBvcnQgYHU4YCB0eXBlcyBpbiBjb250cmFjdCBpbnRlcmZhY2UgZnVuY3Rpb25zLgAAAAAAAAAAEU1lc3NhZ2VMaWJWZXJzaW9uAAAAAAAAAwAAADNFbmRwb2ludCB2ZXJzaW9uIChzaG91bGQgbm90IGV4Y2VlZCB1ODo6TUFYID0gMjU1KS4AAAAAEGVuZHBvaW50X3ZlcnNpb24AAAAEAAAAFU1ham9yIHZlcnNpb24gbnVtYmVyLgAAAAAAAAVtYWpvcgAAAAAAAAYAAAA3TWlub3IgdmVyc2lvbiBudW1iZXIgKHNob3VsZCBub3QgZXhjZWVkIHU4OjpNQVggPSAyNTUpLgAAAAAFbWlub3IAAAAAAAAEAAAAAQAAADZUaW1lb3V0IGNvbmZpZ3VyYXRpb24gZm9yIHJlY2VpdmUgbGlicmFyeSB0cmFuc2l0aW9ucy4AAAAAAAAAAAAHVGltZW91dAAAAAACAAAAM1VuaXggdGltZXN0YW1wIGluIHNlY29uZHMgd2hlbiB0aGUgdGltZW91dCBleHBpcmVzLgAAAAAGZXhwaXJ5AAAAAAAGAAAAQ1RoZSBvbGQgbGlicmFyeSBhZGRyZXNzIHRoYXQgcmVtYWlucyB2YWxpZCBkdXJpbmcgdGhlIGdyYWNlIHBlcmlvZC4AAAAAA2xpYgAAAAATAAAAAQAAADVQYXJhbWV0ZXJzIGZvciBzZXR0aW5nIG1lc3NhZ2UgbGlicmFyeSBjb25maWd1cmF0aW9uLgAAAAAAAAAAAAAOU2V0Q29uZmlnUGFyYW0AAAAAAAMAAAAfWERSLWVuY29kZWQgY29uZmlndXJhdGlvbiBkYXRhLgAAAAAGY29uZmlnAAAAAAAOAAAAMFRoZSB0eXBlIG9mIGNvbmZpZ3VyYXRpb24gKGUuZy4sIGV4ZWN1dG9yLCBVTE4pLgAAAAtjb25maWdfdHlwZQAAAAAEAAAAJ1RoZSBlbmRwb2ludCBJRCB0aGlzIGNvbmZpZyBhcHBsaWVzIHRvLgAAAAADZWlkAAAAAAQAAAABAAAAMVJlc29sdmVkIGxpYnJhcnkgaW5mb3JtYXRpb24gd2l0aCBkZWZhdWx0IHN0YXR1cy4AAAAAAAAAAAAAD1Jlc29sdmVkTGlicmFyeQAAAAACAAAARFdoZXRoZXIgdGhpcyBpcyB0aGUgZGVmYXVsdCBsaWJyYXJ5ICh0cnVlKSBvciBPQXBwLXNwZWNpZmljIChmYWxzZSkuAAAACmlzX2RlZmF1bHQAAAAAAAEAAAAdVGhlIHJlc29sdmVkIGxpYnJhcnkgYWRkcmVzcy4AAAAAAAADbGliAAAAABMAAAABAAAASE91dGJvdW5kIHBhY2tldCBjb250YWluaW5nIGFsbCBpbmZvcm1hdGlvbiBmb3IgY3Jvc3MtY2hhaW4gdHJhbnNtaXNzaW9uLgAAAAAAAAAOT3V0Ym91bmRQYWNrZXQAAAAAAAcAAAAYRGVzdGluYXRpb24gZW5kcG9pbnQgSUQuAAAAB2RzdF9laWQAAAAABAAAACxHbG9iYWxseSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBtZXNzYWdlLgAAAARndWlkAAAD7gAAACAAAAAUVGhlIG1lc3NhZ2UgcGF5bG9hZC4AAAAHbWVzc2FnZQAAAAAOAAAAIE91dGJvdW5kIG5vbmNlIGZvciB0aGlzIHBhdGh3YXkuAAAABW5vbmNlAAAAAAAABgAAADFSZWNlaXZlciBhZGRyZXNzIG9uIGRlc3RpbmF0aW9uIGNoYWluICgzMiBieXRlcykuAAAAAAAACHJlY2VpdmVyAAAD7gAAACAAAAAfU2VuZGVyIGFkZHJlc3Mgb24gc291cmNlIGNoYWluLgAAAAAGc2VuZGVyAAAAAAATAAAAE1NvdXJjZSBlbmRwb2ludCBJRC4AAAAAB3NyY19laWQAAAAABAAAAAEAAAArQSBmZWUgcmVjaXBpZW50IHdpdGggdGhlIGFtb3VudCB0byBiZSBwYWlkLgAAAAAAAAAADEZlZVJlY2lwaWVudAAAAAIAAAAVQW1vdW50IG9mIGZlZSB0byBwYXkuAAAAAAAABmFtb3VudAAAAAAACwAAAB9UaGUgYWRkcmVzcyB0byBzZW5kIHRoZSBmZWUgdG8uAAAAAAJ0bwAAAAAAEwAAAAEAAAA8UmVzdWx0IG9mIHNlbmQgb3BlcmF0aW9uIGNvbnRhaW5pbmcgZmVlcyBhbmQgZW5jb2RlZCBwYWNrZXQuAAAAAAAAAA1GZWVzQW5kUGFja2V0AAAAAAAAAwAAACpUaGUgZW5jb2RlZCBwYWNrZXQgcmVhZHkgZm9yIHRyYW5zbWlzc2lvbi4AAAAAAA5lbmNvZGVkX3BhY2tldAAAAAAADgAAAD9MaXN0IG9mIG5hdGl2ZSB0b2tlbiBmZWUgcmVjaXBpZW50cyAoZXhlY3V0b3IsIERWTnMsIHRyZWFzdXJ5KS4AAAAAFW5hdGl2ZV9mZWVfcmVjaXBpZW50cwAAAAAAA+oAAAfQAAAADEZlZVJlY2lwaWVudAAAACxMaXN0IG9mIFpSTyB0b2tlbiBmZWUgcmVjaXBpZW50cyAodHJlYXN1cnkpLgAAABJ6cm9fZmVlX3JlY2lwaWVudHMAAAAAA+oAAAfQAAAADEZlZVJlY2lwaWVudAAAAAQAAAAdUGFja2V0Q29kZWNWMUVycm9yOiAxMTAwLTExMDkAAAAAAAAAAAAAElBhY2tldENvZGVjVjFFcnJvcgAAAAAAAgAAAAAAAAATSW52YWxpZFBhY2tldEhlYWRlcgAAAARMAAAAAAAAABRJbnZhbGlkUGFja2V0VmVyc2lvbgAABE0AAAAEAAAAHVdvcmtlck9wdGlvbnNFcnJvcjogMTExMC0xMTE5AAAAAAAAAAAAABJXb3JrZXJPcHRpb25zRXJyb3IAAAAAAAkAAAAAAAAAEkludmFsaWRCeXRlc0xlbmd0aAAAAAAEVgAAAAAAAAAZSW52YWxpZExlZ2FjeU9wdGlvbnNUeXBlMQAAAAAABFcAAAAAAAAAGUludmFsaWRMZWdhY3lPcHRpb25zVHlwZTIAAAAAAARYAAAAAAAAABFJbnZhbGlkT3B0aW9uVHlwZQAAAAAABFkAAAAAAAAADkludmFsaWRPcHRpb25zAAAAAARaAAAAAAAAAA9JbnZhbGlkV29ya2VySWQAAAAEWwAAAAAAAAAdTGVnYWN5T3B0aW9uc1R5cGUxR2FzT3ZlcmZsb3cAAAAAAARcAAAAAAAAACBMZWdhY3lPcHRpb25zVHlwZTJBbW91bnRPdmVyZmxvdwAABF0AAAAAAAAAHUxlZ2FjeU9wdGlvbnNUeXBlMkdhc092ZXJmbG93AAAAAAAEXgAAAAQAAAAcQnVmZmVyUmVhZGVyRXJyb3I6IDEwMDAtMTAwOQAAAAAAAAARQnVmZmVyUmVhZGVyRXJyb3IAAAAAAAACAAAAAAAAAA1JbnZhbGlkTGVuZ3RoAAAAAAAD6AAAAAAAAAAVSW52YWxpZEFkZHJlc3NQYXlsb2FkAAAAAAAD6QAAAAQAAAAcQnVmZmVyV3JpdGVyRXJyb3I6IDEwMTAtMTAxOQAAAAAAAAARQnVmZmVyV3JpdGVyRXJyb3IAAAAAAAABAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPyAAAABAAAAB9UdGxDb25maWd1cmFibGVFcnJvcjogMTAyMC0xMDI5AAAAAAAAAAAUVHRsQ29uZmlndXJhYmxlRXJyb3IAAAADAAAAAAAAABBJbnZhbGlkVHRsQ29uZmlnAAAD/AAAAAAAAAAPVHRsQ29uZmlnRnJvemVuAAAAA/0AAAAAAAAAFlR0bENvbmZpZ0FscmVhZHlGcm96ZW4AAAAAA/4AAAAEAAAAF093bmFibGVFcnJvcjogMTAzMC0xMDM5AAAAAAAAAAAMT3duYWJsZUVycm9yAAAABwAAAAAAAAARSW52YWxpZEF1dGhvcml6ZXIAAAAAAAQGAAAAAAAAABNJbnZhbGlkUGVuZGluZ093bmVyAAAABAcAAAAAAAAACkludmFsaWRUdGwAAAAABAgAAAAAAAAAEU5vUGVuZGluZ1RyYW5zZmVyAAAAAAAECQAAAAAAAAAPT3duZXJBbHJlYWR5U2V0AAAABAoAAAAAAAAAC093bmVyTm90U2V0AAAABAsAAAAAAAAAElRyYW5zZmVySW5Qcm9ncmVzcwAAAAAEDAAAAAQAAAAYQnl0ZXNFeHRFcnJvcjogMTA0MC0xMDQ5AAAAAAAAAA1CeXRlc0V4dEVycm9yAAAAAAAAAQAAAAAAAAAOTGVuZ3RoTWlzbWF0Y2gAAAAABBAAAAAEAAAAG1VwZ3JhZGVhYmxlRXJyb3I6IDEwNTAtMTA1OQAAAAAAAAAAEFVwZ3JhZGVhYmxlRXJyb3IAAAADAAAAAAAAABRJbnZhbGlkTWlncmF0aW9uRGF0YQAABBoAAAAAAAAAE01pZ3JhdGlvbk5vdEFsbG93ZWQAAAAEGwAAAAAAAAAOVXBncmFkZXNGcm96ZW4AAAAABBwAAAAEAAAAGE11bHRpU2lnRXJyb3I6IDEwNjAtMTA2OQAAAAAAAAANTXVsdGlTaWdFcnJvcgAAAAAAAAkAAAAAAAAAEkFscmVhZHlJbml0aWFsaXplZAAAAAAEJAAAAAAAAAARSW52YWxpZEF1dGhvcml6ZXIAAAAAAAQlAAAAAAAAAA1JbnZhbGlkU2lnbmVyAAAAAAAEJgAAAAAAAAAOU2lnbmF0dXJlRXJyb3IAAAAABCcAAAAAAAAAE1NpZ25lckFscmVhZHlFeGlzdHMAAAAEKAAAAAAAAAAOU2lnbmVyTm90Rm91bmQAAAAABCkAAAAAAAAAHVRvdGFsU2lnbmVyc0xlc3NUaGFuVGhyZXNob2xkAAAAAAAEKgAAAAAAAAAPVW5zb3J0ZWRTaWduZXJzAAAABCsAAAAAAAAADVplcm9UaHJlc2hvbGQAAAAAAAQsAAAABQAAADBFdmVudCBlbWl0dGVkIHdoZW4gYSBzaWduZXIgaXMgYWRkZWQgb3IgcmVtb3ZlZC4AAAAAAAAACVNpZ25lclNldAAAAAAAAAEAAAAKc2lnbmVyX3NldAAAAAAAAgAAAAAAAAAGc2lnbmVyAAAAAAPuAAAAFAAAAAEAAAAAAAAABmFjdGl2ZQAAAAAAAQAAAAAAAAACAAAABQAAADZFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNpZ25hdHVyZSB0aHJlc2hvbGQgaXMgY2hhbmdlZC4AAAAAAAAAAAAMVGhyZXNob2xkU2V0AAAAAQAAAA10aHJlc2hvbGRfc2V0AAAAAAAAAQAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAD011bHRpU2lnU3RvcmFnZQAAAAACAAAAAAAAAAAAAAAHU2lnbmVycwAAAAAAAAAAAAAAAAlUaHJlc2hvbGQAAAAAAAAFAAAAV0V2ZW50IGVtaXR0ZWQgd2hlbiBvd25lcnNoaXAgaXMgdHJhbnNmZXJyZWQgKGJvdGggc2luZ2xlLXN0ZXAgYW5kIHR3by1zdGVwIGNvbXBsZXRpb24pLgAAAAAAAAAAFE93bmVyc2hpcFRyYW5zZmVycmVkAAAAAQAAABVvd25lcnNoaXBfdHJhbnNmZXJyZWQAAAAAAAACAAAAAAAAAAlvbGRfb3duZXIAAAAAAAATAAAAAAAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAACAAAABQAAADtFdmVudCBlbWl0dGVkIHdoZW4gYSAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyIGlzIHByb3Bvc2VkLgAAAAAAAAAAFU93bmVyc2hpcFRyYW5zZmVycmluZwAAAAAAAAEAAAAWb3duZXJzaGlwX3RyYW5zZmVycmluZwAAAAAAAwAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAAAAAAN0dGwAAAAABAAAAAAAAAACAAAABQAAADxFdmVudCBlbWl0dGVkIHdoZW4gYSAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyIGlzIGNhbmNlbGxlZC4AAAAAAAAAGk93bmVyc2hpcFRyYW5zZmVyQ2FuY2VsbGVkAAAAAAABAAAAHG93bmVyc2hpcF90cmFuc2Zlcl9jYW5jZWxsZWQAAAACAAAAAAAAAAVvd25lcgAAAAAAABMAAAAAAAAAAAAAABdjYW5jZWxsZWRfcGVuZGluZ19vd25lcgAAAAATAAAAAAAAAAIAAAAFAAAAKkV2ZW50IGVtaXR0ZWQgd2hlbiBvd25lcnNoaXAgaXMgcmVub3VuY2VkLgAAAAAAAAAAABJPd25lcnNoaXBSZW5vdW5jZWQAAAAAAAEAAAATb3duZXJzaGlwX3Jlbm91bmNlZAAAAAABAAAAAAAAAAlvbGRfb3duZXIAAAAAAAATAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAOT3duYWJsZVN0b3JhZ2UAAAAAAAIAAAAAAAAAAAAAAAVPd25lcgAAAAAAAAAAAAAAAAAADFBlbmRpbmdPd25lcgAAAAEAAABJVFRMIGNvbmZpZ3VyYXRpb246IHRocmVzaG9sZCAod2hlbiB0byBleHRlbmQpIGFuZCBleHRlbmRfdG8gKHRhcmdldCBUVEwpLgAAAAAAAAAAAAAJVHRsQ29uZmlnAAAAAAAAAgAAAChUYXJnZXQgVFRMIGFmdGVyIGV4dGVuc2lvbiAoaW4gbGVkZ2VycykuAAAACWV4dGVuZF90bwAAAAAAAAQAAAAzVFRMIHRocmVzaG9sZCB0aGF0IHRyaWdnZXJzIGV4dGVuc2lvbiAoaW4gbGVkZ2VycykuAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAABQAAACdFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIHNldC4AAAAAAAAAAA1UdGxDb25maWdzU2V0AAAAAAAAAQAAAA90dGxfY29uZmlnc19zZXQAAAAAAgAAAAAAAAAIaW5zdGFuY2UAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAAAAAApwZXJzaXN0ZW50AAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAgAAAAUAAAAqRXZlbnQgZW1pdHRlZCB3aGVuIFRUTCBjb25maWdzIGFyZSBmcm96ZW4uAAAAAAAAAAAAEFR0bENvbmZpZ3NGcm96ZW4AAAABAAAAEnR0bF9jb25maWdzX2Zyb3plbgAAAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAQVHRsQ29uZmlnU3RvcmFnZQAAAAMAAAAAAAAAAAAAAAZGcm96ZW4AAAAAAAAAAAAAAAAACEluc3RhbmNlAAAAAAAAAAAAAAAKUGVyc2lzdGVudAAAAAAAAgAAAAAAAAAAAAAAElVwZ3JhZGVhYmxlU3RvcmFnZQAAAAAAAgAAAAAAAAAAAAAABkZyb3plbgAAAAAAAAAAAAAAAAAJTWlncmF0aW5nAAAAAB4RY29udHJhY3RlbnZtZXRhdjAAAAAAAAAAGQAAAAAAbw5jb250cmFjdG1ldGF2MAAAAAAAAAAFcnN2ZXIAAAAAAAAGMS45MC4wAAAAAAAAAAAACHJzc2RrdmVyAAAALzI1LjEuMCM4NmM1MGExZWE0Zjg3YjQwYWRkMzA2NGZmOWRmOTVjNzU1MzU2NWM1AABTDmNvbnRyYWN0bWV0YXYwAAAAAAAAAAZjbGl2ZXIAAAAAAC8yNS4wLjAjYTY0OTI1ZTkzOTFjM2QzYjNlZjhlNTNkYzYwYzIzZGI5ZTZhODJlNAA=";
12
12
  /**
13
13
  * Pre-computed WASM hash (SHA-256)
14
14
  * Use this when the WASM is already uploaded on-chain
15
15
  */
16
- export declare const WASM_HASH = "f93089924ff22ed0acf1296dfd2e865ed07d37e36de9074c3b61923a076df0b5";
16
+ export declare const WASM_HASH = "54eb2be51ef372723ba480eadbae41481aaf498c5e183cbcbb73cbee63edd7f0";
17
17
  /**
18
18
  * Get the WASM bytecode as a Buffer
19
19
  * Use this to upload the WASM to the network
20
20
  */
21
21
  export declare function getWasmBuffer(): Buffer;
22
22
  export declare const Uln302Error: {
23
+ /**
24
+ * Default executor configuration is not set for the destination endpoint
25
+ */
23
26
  1: {
24
27
  message: string;
25
28
  };
29
+ /**
30
+ * Default receive ULN configuration is not set for the source endpoint
31
+ */
26
32
  2: {
27
33
  message: string;
28
34
  };
35
+ /**
36
+ * Default send ULN configuration is not set for the destination endpoint
37
+ */
29
38
  3: {
30
39
  message: string;
31
40
  };
41
+ /**
42
+ * Optional DVNs list contains duplicate addresses
43
+ */
32
44
  4: {
33
45
  message: string;
34
46
  };
47
+ /**
48
+ * Required DVNs list contains duplicate addresses
49
+ */
35
50
  5: {
36
51
  message: string;
37
52
  };
53
+ /**
54
+ * Configuration bytes failed to parse as expected XDR type
55
+ */
38
56
  6: {
39
57
  message: string;
40
58
  };
59
+ /**
60
+ * Config type is not one of EXECUTOR, SEND_ULN, or RECEIVE_ULN
61
+ */
41
62
  7: {
42
63
  message: string;
43
64
  };
65
+ /**
66
+ * Confirmations must be zero when using default confirmations
67
+ */
44
68
  8: {
45
69
  message: string;
46
70
  };
71
+ /**
72
+ * Packet header destination EID does not match this endpoint's EID
73
+ */
47
74
  9: {
48
75
  message: string;
49
76
  };
77
+ /**
78
+ * Message size exceeds executor's configured maximum
79
+ */
50
80
  10: {
51
81
  message: string;
52
82
  };
83
+ /**
84
+ * Optional DVNs count exceeds maximum allowed (127)
85
+ */
53
86
  11: {
54
87
  message: string;
55
88
  };
89
+ /**
90
+ * Optional DVNs must be empty when using default optional DVNs
91
+ */
56
92
  12: {
57
93
  message: string;
58
94
  };
95
+ /**
96
+ * Optional DVN threshold is invalid (must be 0 with no DVNs, or 1 to DVN count)
97
+ */
59
98
  13: {
60
99
  message: string;
61
100
  };
101
+ /**
102
+ * Required DVNs count exceeds maximum allowed (127)
103
+ */
62
104
  14: {
63
105
  message: string;
64
106
  };
107
+ /**
108
+ * Required DVNs must be empty when using default required DVNs
109
+ */
65
110
  15: {
66
111
  message: string;
67
112
  };
113
+ /**
114
+ * Sender address must be a contract (C-address), not an account (G-address)
115
+ */
68
116
  16: {
69
117
  message: string;
70
118
  };
119
+ /**
120
+ * Configuration must have at least one DVN (required or optional with threshold > 0)
121
+ */
71
122
  17: {
72
123
  message: string;
73
124
  };
125
+ /**
126
+ * Endpoint ID is not supported (missing default configurations)
127
+ */
74
128
  18: {
75
129
  message: string;
76
130
  };
131
+ /**
132
+ * Message has not been verified by enough DVNs yet
133
+ */
77
134
  19: {
78
135
  message: string;
79
136
  };
137
+ /**
138
+ * Executor max message size cannot be zero
139
+ */
140
+ 20: {
141
+ message: string;
142
+ };
80
143
  };
81
144
  /**
82
145
  * Ultra Light Node configuration for message verification.
@@ -203,78 +266,153 @@ export type UlnStorage = {
203
266
  values: readonly [string, Buffer, Buffer];
204
267
  };
205
268
  export declare const EndpointError: {
269
+ /**
270
+ * Library is already registered with the endpoint
271
+ */
206
272
  1: {
207
273
  message: string;
208
274
  };
275
+ /**
276
+ * Compose message already exists for this GUID and index
277
+ */
209
278
  2: {
210
279
  message: string;
211
280
  };
281
+ /**
282
+ * Compose message not found for the given GUID and index
283
+ */
212
284
  3: {
213
285
  message: string;
214
286
  };
287
+ /**
288
+ * Default receive library is not set for the source endpoint
289
+ */
215
290
  4: {
216
291
  message: string;
217
292
  };
293
+ /**
294
+ * Default send library is not set for the destination endpoint
295
+ */
218
296
  5: {
219
297
  message: string;
220
298
  };
299
+ /**
300
+ * Supplied native token fee is less than required
301
+ */
221
302
  6: {
222
303
  message: string;
223
304
  };
305
+ /**
306
+ * Supplied ZRO token fee is less than required
307
+ */
224
308
  7: {
225
309
  message: string;
226
310
  };
311
+ /**
312
+ * Timeout expiry is invalid (already expired)
313
+ */
227
314
  8: {
228
315
  message: string;
229
316
  };
317
+ /**
318
+ * Fee amount is invalid (negative)
319
+ */
230
320
  9: {
231
321
  message: string;
232
322
  };
323
+ /**
324
+ * Compose index exceeds maximum allowed value
325
+ */
233
326
  10: {
234
327
  message: string;
235
328
  };
329
+ /**
330
+ * Nonce is invalid for the requested operation
331
+ */
236
332
  11: {
237
333
  message: string;
238
334
  };
335
+ /**
336
+ * Payload hash is invalid (empty hash not allowed)
337
+ */
239
338
  12: {
240
339
  message: string;
241
340
  };
341
+ /**
342
+ * Receive library is not valid for the receiver and source endpoint
343
+ */
242
344
  13: {
243
345
  message: string;
244
346
  };
347
+ /**
348
+ * Operation requires a non-default (custom) library
349
+ */
245
350
  14: {
246
351
  message: string;
247
352
  };
353
+ /**
354
+ * Library must support receiving messages
355
+ */
248
356
  15: {
249
357
  message: string;
250
358
  };
359
+ /**
360
+ * Library must be registered with the endpoint
361
+ */
251
362
  16: {
252
363
  message: string;
253
364
  };
365
+ /**
366
+ * Library must support sending messages
367
+ */
254
368
  17: {
255
369
  message: string;
256
370
  };
371
+ /**
372
+ * Messaging path cannot be initialized for the given origin
373
+ */
257
374
  18: {
258
375
  message: string;
259
376
  };
377
+ /**
378
+ * Message cannot be verified for the given origin
379
+ */
260
380
  19: {
261
381
  message: string;
262
382
  };
383
+ /**
384
+ * Payload hash does not match the stored hash
385
+ */
263
386
  20: {
264
387
  message: string;
265
388
  };
389
+ /**
390
+ * New value is the same as existing value
391
+ */
266
392
  21: {
267
393
  message: string;
268
394
  };
395
+ /**
396
+ * Caller is not authorized (not OApp or delegate)
397
+ */
269
398
  22: {
270
399
  message: string;
271
400
  };
401
+ /**
402
+ * Endpoint ID is not supported by the library
403
+ */
272
404
  23: {
273
405
  message: string;
274
406
  };
407
+ /**
408
+ * ZRO fee must be greater than zero when pay_in_zro is true
409
+ */
275
410
  24: {
276
411
  message: string;
277
412
  };
413
+ /**
414
+ * ZRO token address is not set
415
+ */
278
416
  25: {
279
417
  message: string;
280
418
  };
@@ -389,11 +527,11 @@ export interface MessageLibVersion {
389
527
  */
390
528
  export interface Timeout {
391
529
  /**
392
- * Unix timestamp when the timeout expires.
530
+ * Unix timestamp in seconds when the timeout expires.
393
531
  */
394
532
  expiry: u64;
395
533
  /**
396
- * The new library address to transition to.
534
+ * The old library address that remains valid during the grace period.
397
535
  */
398
536
  lib: string;
399
537
  }
@@ -588,6 +726,9 @@ export declare const OwnableError: {
588
726
  1035: {
589
727
  message: string;
590
728
  };
729
+ 1036: {
730
+ message: string;
731
+ };
591
732
  };
592
733
  /**
593
734
  * BytesExtError: 1040-1049
@@ -612,9 +753,9 @@ export declare const UpgradeableError: {
612
753
  };
613
754
  };
614
755
  /**
615
- * MultisigError: 1060-1069
756
+ * MultiSigError: 1060-1069
616
757
  */
617
- export declare const MultisigError: {
758
+ export declare const MultiSigError: {
618
759
  1060: {
619
760
  message: string;
620
761
  };
@@ -639,8 +780,11 @@ export declare const MultisigError: {
639
780
  1067: {
640
781
  message: string;
641
782
  };
783
+ 1068: {
784
+ message: string;
785
+ };
642
786
  };
643
- export type MultisigStorage = {
787
+ export type MultiSigStorage = {
644
788
  tag: "Signers";
645
789
  values: void;
646
790
  } | {
@@ -691,78 +835,26 @@ export interface Client {
691
835
  */
692
836
  set_default_executor_configs: ({ params }: {
693
837
  params: Array<SetDefaultExecutorConfigParam>;
694
- }, txnOptions?: {
695
- /**
696
- * The fee to pay for the transaction. Default: BASE_FEE
697
- */
698
- fee?: number;
699
- /**
700
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
701
- */
702
- timeoutInSeconds?: number;
703
- /**
704
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
705
- */
706
- simulate?: boolean;
707
- }) => Promise<AssembledTransaction<null>>;
838
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
708
839
  /**
709
840
  * Construct and simulate a set_default_send_uln_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.
710
841
  * Sets default send ULN configurations for multiple destination endpoints.
711
842
  */
712
843
  set_default_send_uln_configs: ({ params }: {
713
844
  params: Array<SetDefaultUlnConfigParam>;
714
- }, txnOptions?: {
715
- /**
716
- * The fee to pay for the transaction. Default: BASE_FEE
717
- */
718
- fee?: number;
719
- /**
720
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
721
- */
722
- timeoutInSeconds?: number;
723
- /**
724
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
725
- */
726
- simulate?: boolean;
727
- }) => Promise<AssembledTransaction<null>>;
845
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
728
846
  /**
729
847
  * Construct and simulate a treasury 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.
730
848
  * Returns the treasury address for fee collection.
731
849
  */
732
- treasury: (txnOptions?: {
733
- /**
734
- * The fee to pay for the transaction. Default: BASE_FEE
735
- */
736
- fee?: number;
737
- /**
738
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
739
- */
740
- timeoutInSeconds?: number;
741
- /**
742
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
743
- */
744
- simulate?: boolean;
745
- }) => Promise<AssembledTransaction<string>>;
850
+ treasury: (options?: MethodOptions) => Promise<AssembledTransaction<string>>;
746
851
  /**
747
852
  * Construct and simulate a default_executor_config 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.
748
853
  * Returns the default executor configuration for a destination endpoint.
749
854
  */
750
855
  default_executor_config: ({ dst_eid }: {
751
856
  dst_eid: u32;
752
- }, txnOptions?: {
753
- /**
754
- * The fee to pay for the transaction. Default: BASE_FEE
755
- */
756
- fee?: number;
757
- /**
758
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
759
- */
760
- timeoutInSeconds?: number;
761
- /**
762
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
763
- */
764
- simulate?: boolean;
765
- }) => Promise<AssembledTransaction<Option<ExecutorConfig>>>;
857
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<Option<ExecutorConfig>>>;
766
858
  /**
767
859
  * Construct and simulate a oapp_executor_config 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.
768
860
  * Returns the OApp-specific executor configuration for a destination endpoint.
@@ -770,20 +862,7 @@ export interface Client {
770
862
  oapp_executor_config: ({ sender, dst_eid }: {
771
863
  sender: string;
772
864
  dst_eid: u32;
773
- }, txnOptions?: {
774
- /**
775
- * The fee to pay for the transaction. Default: BASE_FEE
776
- */
777
- fee?: number;
778
- /**
779
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
780
- */
781
- timeoutInSeconds?: number;
782
- /**
783
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
784
- */
785
- simulate?: boolean;
786
- }) => Promise<AssembledTransaction<Option<OAppExecutorConfig>>>;
865
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<Option<OAppExecutorConfig>>>;
787
866
  /**
788
867
  * Construct and simulate a effective_executor_config 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.
789
868
  * Returns the effective executor configuration by merging OApp config with default.
@@ -791,40 +870,14 @@ export interface Client {
791
870
  effective_executor_config: ({ sender, dst_eid }: {
792
871
  sender: string;
793
872
  dst_eid: u32;
794
- }, txnOptions?: {
795
- /**
796
- * The fee to pay for the transaction. Default: BASE_FEE
797
- */
798
- fee?: number;
799
- /**
800
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
801
- */
802
- timeoutInSeconds?: number;
803
- /**
804
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
805
- */
806
- simulate?: boolean;
807
- }) => Promise<AssembledTransaction<ExecutorConfig>>;
873
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<ExecutorConfig>>;
808
874
  /**
809
875
  * Construct and simulate a default_send_uln_config 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.
810
876
  * Returns the default send ULN configuration for a destination endpoint.
811
877
  */
812
878
  default_send_uln_config: ({ dst_eid }: {
813
879
  dst_eid: u32;
814
- }, txnOptions?: {
815
- /**
816
- * The fee to pay for the transaction. Default: BASE_FEE
817
- */
818
- fee?: number;
819
- /**
820
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
821
- */
822
- timeoutInSeconds?: number;
823
- /**
824
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
825
- */
826
- simulate?: boolean;
827
- }) => Promise<AssembledTransaction<Option<UlnConfig>>>;
880
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<Option<UlnConfig>>>;
828
881
  /**
829
882
  * Construct and simulate a oapp_send_uln_config 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.
830
883
  * Returns the OApp-specific send ULN configuration for a destination endpoint.
@@ -832,20 +885,7 @@ export interface Client {
832
885
  oapp_send_uln_config: ({ sender, dst_eid }: {
833
886
  sender: string;
834
887
  dst_eid: u32;
835
- }, txnOptions?: {
836
- /**
837
- * The fee to pay for the transaction. Default: BASE_FEE
838
- */
839
- fee?: number;
840
- /**
841
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
842
- */
843
- timeoutInSeconds?: number;
844
- /**
845
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
846
- */
847
- simulate?: boolean;
848
- }) => Promise<AssembledTransaction<Option<OAppUlnConfig>>>;
888
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<Option<OAppUlnConfig>>>;
849
889
  /**
850
890
  * Construct and simulate a effective_send_uln_config 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.
851
891
  * Returns the effective send ULN configuration by merging OApp config with default.
@@ -853,20 +893,7 @@ export interface Client {
853
893
  effective_send_uln_config: ({ sender, dst_eid }: {
854
894
  sender: string;
855
895
  dst_eid: u32;
856
- }, txnOptions?: {
857
- /**
858
- * The fee to pay for the transaction. Default: BASE_FEE
859
- */
860
- fee?: number;
861
- /**
862
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
863
- */
864
- timeoutInSeconds?: number;
865
- /**
866
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
867
- */
868
- simulate?: boolean;
869
- }) => Promise<AssembledTransaction<UlnConfig>>;
896
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<UlnConfig>>;
870
897
  /**
871
898
  * Construct and simulate a quote 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.
872
899
  * Quotes the total fee for sending a cross-chain message.
@@ -877,20 +904,7 @@ export interface Client {
877
904
  packet: OutboundPacket;
878
905
  options: Buffer;
879
906
  pay_in_zro: boolean;
880
- }, txnOptions?: {
881
- /**
882
- * The fee to pay for the transaction. Default: BASE_FEE
883
- */
884
- fee?: number;
885
- /**
886
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
887
- */
888
- timeoutInSeconds?: number;
889
- /**
890
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
891
- */
892
- simulate?: boolean;
893
- }) => Promise<AssembledTransaction<MessagingFee>>;
907
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<MessagingFee>>;
894
908
  /**
895
909
  * Construct and simulate a send 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.
896
910
  * Sends a cross-chain message and returns fee recipients for payment.
@@ -901,20 +915,7 @@ export interface Client {
901
915
  packet: OutboundPacket;
902
916
  options: Buffer;
903
917
  pay_in_zro: boolean;
904
- }, txnOptions?: {
905
- /**
906
- * The fee to pay for the transaction. Default: BASE_FEE
907
- */
908
- fee?: number;
909
- /**
910
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
911
- */
912
- timeoutInSeconds?: number;
913
- /**
914
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
915
- */
916
- simulate?: boolean;
917
- }) => Promise<AssembledTransaction<FeesAndPacket>>;
918
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<FeesAndPacket>>;
918
919
  /**
919
920
  * Construct and simulate a verify 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.
920
921
  * Called by a DVN to verify a message with a specific number of block confirmations.
@@ -926,23 +927,10 @@ export interface Client {
926
927
  packet_header: Buffer;
927
928
  payload_hash: Buffer;
928
929
  confirmations: u64;
929
- }, txnOptions?: {
930
- /**
931
- * The fee to pay for the transaction. Default: BASE_FEE
932
- */
933
- fee?: number;
934
- /**
935
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
936
- */
937
- timeoutInSeconds?: number;
938
- /**
939
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
940
- */
941
- simulate?: boolean;
942
- }) => Promise<AssembledTransaction<null>>;
930
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
943
931
  /**
944
932
  * Construct and simulate a commit_verification 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.
945
- * Permissonless to commit a verified message to the endpoint after sufficient DVN verification.
933
+ * Permissionless function to commit a verified message to the endpoint after sufficient DVN verification.
946
934
  *
947
935
  * Validates the packet header and checks that enough DVNs have verified the message
948
936
  * (all required DVNs + optional DVN threshold). Once verified, cleans up DVN confirmation
@@ -951,20 +939,7 @@ export interface Client {
951
939
  commit_verification: ({ packet_header, payload_hash }: {
952
940
  packet_header: Buffer;
953
941
  payload_hash: Buffer;
954
- }, txnOptions?: {
955
- /**
956
- * The fee to pay for the transaction. Default: BASE_FEE
957
- */
958
- fee?: number;
959
- /**
960
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
961
- */
962
- timeoutInSeconds?: number;
963
- /**
964
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
965
- */
966
- simulate?: boolean;
967
- }) => Promise<AssembledTransaction<null>>;
942
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
968
943
  /**
969
944
  * Construct and simulate a set_default_receive_uln_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.
970
945
  * Sets default receive ULN configurations for multiple source endpoints.
@@ -973,20 +948,7 @@ export interface Client {
973
948
  */
974
949
  set_default_receive_uln_configs: ({ params }: {
975
950
  params: Array<SetDefaultUlnConfigParam>;
976
- }, txnOptions?: {
977
- /**
978
- * The fee to pay for the transaction. Default: BASE_FEE
979
- */
980
- fee?: number;
981
- /**
982
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
983
- */
984
- timeoutInSeconds?: number;
985
- /**
986
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
987
- */
988
- simulate?: boolean;
989
- }) => Promise<AssembledTransaction<null>>;
951
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
990
952
  /**
991
953
  * Construct and simulate a confirmations 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.
992
954
  * Returns the number of block confirmations a DVN has submitted for a specific message.
@@ -995,20 +957,7 @@ export interface Client {
995
957
  dvn: string;
996
958
  header_hash: Buffer;
997
959
  payload_hash: Buffer;
998
- }, txnOptions?: {
999
- /**
1000
- * The fee to pay for the transaction. Default: BASE_FEE
1001
- */
1002
- fee?: number;
1003
- /**
1004
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1005
- */
1006
- timeoutInSeconds?: number;
1007
- /**
1008
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1009
- */
1010
- simulate?: boolean;
1011
- }) => Promise<AssembledTransaction<Option<u64>>>;
960
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<Option<u64>>>;
1012
961
  /**
1013
962
  * Construct and simulate a verifiable 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.
1014
963
  * Checks if a message has been sufficiently verified by DVNs and is ready to commit.
@@ -1016,40 +965,14 @@ export interface Client {
1016
965
  verifiable: ({ packet_header, payload_hash }: {
1017
966
  packet_header: Buffer;
1018
967
  payload_hash: Buffer;
1019
- }, txnOptions?: {
1020
- /**
1021
- * The fee to pay for the transaction. Default: BASE_FEE
1022
- */
1023
- fee?: number;
1024
- /**
1025
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1026
- */
1027
- timeoutInSeconds?: number;
1028
- /**
1029
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1030
- */
1031
- simulate?: boolean;
1032
- }) => Promise<AssembledTransaction<boolean>>;
968
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<boolean>>;
1033
969
  /**
1034
970
  * Construct and simulate a default_receive_uln_config 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.
1035
971
  * Returns the default receive ULN configuration for a source endpoint.
1036
972
  */
1037
973
  default_receive_uln_config: ({ src_eid }: {
1038
974
  src_eid: u32;
1039
- }, txnOptions?: {
1040
- /**
1041
- * The fee to pay for the transaction. Default: BASE_FEE
1042
- */
1043
- fee?: number;
1044
- /**
1045
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1046
- */
1047
- timeoutInSeconds?: number;
1048
- /**
1049
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1050
- */
1051
- simulate?: boolean;
1052
- }) => Promise<AssembledTransaction<Option<UlnConfig>>>;
975
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<Option<UlnConfig>>>;
1053
976
  /**
1054
977
  * Construct and simulate a oapp_receive_uln_config 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.
1055
978
  * Returns the OApp-specific receive ULN configuration override for a source endpoint.
@@ -1057,20 +980,7 @@ export interface Client {
1057
980
  oapp_receive_uln_config: ({ receiver, src_eid }: {
1058
981
  receiver: string;
1059
982
  src_eid: u32;
1060
- }, txnOptions?: {
1061
- /**
1062
- * The fee to pay for the transaction. Default: BASE_FEE
1063
- */
1064
- fee?: number;
1065
- /**
1066
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1067
- */
1068
- timeoutInSeconds?: number;
1069
- /**
1070
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1071
- */
1072
- simulate?: boolean;
1073
- }) => Promise<AssembledTransaction<Option<OAppUlnConfig>>>;
983
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<Option<OAppUlnConfig>>>;
1074
984
  /**
1075
985
  * Construct and simulate a effective_receive_uln_config 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.
1076
986
  * Returns the effective receive ULN configuration by merging OApp config with defaults.
@@ -1078,20 +988,7 @@ export interface Client {
1078
988
  effective_receive_uln_config: ({ receiver, src_eid }: {
1079
989
  receiver: string;
1080
990
  src_eid: u32;
1081
- }, txnOptions?: {
1082
- /**
1083
- * The fee to pay for the transaction. Default: BASE_FEE
1084
- */
1085
- fee?: number;
1086
- /**
1087
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1088
- */
1089
- timeoutInSeconds?: number;
1090
- /**
1091
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1092
- */
1093
- simulate?: boolean;
1094
- }) => Promise<AssembledTransaction<UlnConfig>>;
991
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<UlnConfig>>;
1095
992
  /**
1096
993
  * Construct and simulate a set_config 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.
1097
994
  * Sets OApp-specific configuration parameters for the message library.
@@ -1102,20 +999,7 @@ export interface Client {
1102
999
  set_config: ({ oapp, params }: {
1103
1000
  oapp: string;
1104
1001
  params: Array<SetConfigParam>;
1105
- }, txnOptions?: {
1106
- /**
1107
- * The fee to pay for the transaction. Default: BASE_FEE
1108
- */
1109
- fee?: number;
1110
- /**
1111
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1112
- */
1113
- timeoutInSeconds?: number;
1114
- /**
1115
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1116
- */
1117
- simulate?: boolean;
1118
- }) => Promise<AssembledTransaction<null>>;
1002
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
1119
1003
  /**
1120
1004
  * Construct and simulate a get_config 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.
1121
1005
  * Returns the XDR-encoded effective configuration bytes.
@@ -1124,147 +1008,43 @@ export interface Client {
1124
1008
  eid: u32;
1125
1009
  oapp: string;
1126
1010
  config_type: u32;
1127
- }, txnOptions?: {
1128
- /**
1129
- * The fee to pay for the transaction. Default: BASE_FEE
1130
- */
1131
- fee?: number;
1132
- /**
1133
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1134
- */
1135
- timeoutInSeconds?: number;
1136
- /**
1137
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1138
- */
1139
- simulate?: boolean;
1140
- }) => Promise<AssembledTransaction<Buffer>>;
1011
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<Buffer>>;
1141
1012
  /**
1142
1013
  * Construct and simulate a is_supported_eid 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.
1143
1014
  * Returns true if the message library has full default configurations for the endpoint ID.
1144
1015
  */
1145
1016
  is_supported_eid: ({ eid }: {
1146
1017
  eid: u32;
1147
- }, txnOptions?: {
1148
- /**
1149
- * The fee to pay for the transaction. Default: BASE_FEE
1150
- */
1151
- fee?: number;
1152
- /**
1153
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1154
- */
1155
- timeoutInSeconds?: number;
1156
- /**
1157
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1158
- */
1159
- simulate?: boolean;
1160
- }) => Promise<AssembledTransaction<boolean>>;
1018
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<boolean>>;
1161
1019
  /**
1162
1020
  * Construct and simulate a version 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.
1163
1021
  * Returns the version of the message library.
1164
1022
  */
1165
- version: (txnOptions?: {
1166
- /**
1167
- * The fee to pay for the transaction. Default: BASE_FEE
1168
- */
1169
- fee?: number;
1170
- /**
1171
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1172
- */
1173
- timeoutInSeconds?: number;
1174
- /**
1175
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1176
- */
1177
- simulate?: boolean;
1178
- }) => Promise<AssembledTransaction<MessageLibVersion>>;
1023
+ version: (options?: MethodOptions) => Promise<AssembledTransaction<MessageLibVersion>>;
1179
1024
  /**
1180
1025
  * Construct and simulate a message_lib_type 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.
1181
1026
  * Returns the type of the message library.
1182
1027
  */
1183
- message_lib_type: (txnOptions?: {
1184
- /**
1185
- * The fee to pay for the transaction. Default: BASE_FEE
1186
- */
1187
- fee?: number;
1188
- /**
1189
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1190
- */
1191
- timeoutInSeconds?: number;
1192
- /**
1193
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1194
- */
1195
- simulate?: boolean;
1196
- }) => Promise<AssembledTransaction<MessageLibType>>;
1028
+ message_lib_type: (options?: MethodOptions) => Promise<AssembledTransaction<MessageLibType>>;
1197
1029
  /**
1198
1030
  * Construct and simulate a endpoint 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.
1199
1031
  * Returns the LayerZero endpoint contract address.
1200
1032
  */
1201
- endpoint: (txnOptions?: {
1202
- /**
1203
- * The fee to pay for the transaction. Default: BASE_FEE
1204
- */
1205
- fee?: number;
1206
- /**
1207
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1208
- */
1209
- timeoutInSeconds?: number;
1210
- /**
1211
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1212
- */
1213
- simulate?: boolean;
1214
- }) => Promise<AssembledTransaction<string>>;
1033
+ endpoint: (options?: MethodOptions) => Promise<AssembledTransaction<string>>;
1215
1034
  /**
1216
1035
  * 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.
1217
1036
  */
1218
- authorizer: (txnOptions?: {
1219
- /**
1220
- * The fee to pay for the transaction. Default: BASE_FEE
1221
- */
1222
- fee?: number;
1223
- /**
1224
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1225
- */
1226
- timeoutInSeconds?: number;
1227
- /**
1228
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1229
- */
1230
- simulate?: boolean;
1231
- }) => Promise<AssembledTransaction<string>>;
1037
+ authorizer: (options?: MethodOptions) => Promise<AssembledTransaction<string>>;
1232
1038
  /**
1233
1039
  * 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.
1234
1040
  * Returns the current owner address, or None if no owner is set.
1235
1041
  */
1236
- owner: (txnOptions?: {
1237
- /**
1238
- * The fee to pay for the transaction. Default: BASE_FEE
1239
- */
1240
- fee?: number;
1241
- /**
1242
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1243
- */
1244
- timeoutInSeconds?: number;
1245
- /**
1246
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1247
- */
1248
- simulate?: boolean;
1249
- }) => Promise<AssembledTransaction<Option<string>>>;
1042
+ owner: (options?: MethodOptions) => Promise<AssembledTransaction<Option<string>>>;
1250
1043
  /**
1251
1044
  * 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.
1252
1045
  * Returns the pending owner address for 2-step transfer, or None if no transfer is pending.
1253
1046
  */
1254
- pending_owner: (txnOptions?: {
1255
- /**
1256
- * The fee to pay for the transaction. Default: BASE_FEE
1257
- */
1258
- fee?: number;
1259
- /**
1260
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1261
- */
1262
- timeoutInSeconds?: number;
1263
- /**
1264
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1265
- */
1266
- simulate?: boolean;
1267
- }) => Promise<AssembledTransaction<Option<string>>>;
1047
+ pending_owner: (options?: MethodOptions) => Promise<AssembledTransaction<Option<string>>>;
1268
1048
  /**
1269
1049
  * 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.
1270
1050
  * Transfers ownership immediately to a new address.
@@ -1278,20 +1058,7 @@ export interface Client {
1278
1058
  */
1279
1059
  transfer_ownership: ({ new_owner }: {
1280
1060
  new_owner: string;
1281
- }, txnOptions?: {
1282
- /**
1283
- * The fee to pay for the transaction. Default: BASE_FEE
1284
- */
1285
- fee?: number;
1286
- /**
1287
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1288
- */
1289
- timeoutInSeconds?: number;
1290
- /**
1291
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1292
- */
1293
- simulate?: boolean;
1294
- }) => Promise<AssembledTransaction<null>>;
1061
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
1295
1062
  /**
1296
1063
  * 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.
1297
1064
  * Proposes an ownership transfer to a new address.
@@ -1313,20 +1080,7 @@ export interface Client {
1313
1080
  propose_ownership_transfer: ({ new_owner, ttl }: {
1314
1081
  new_owner: string;
1315
1082
  ttl: u32;
1316
- }, txnOptions?: {
1317
- /**
1318
- * The fee to pay for the transaction. Default: BASE_FEE
1319
- */
1320
- fee?: number;
1321
- /**
1322
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1323
- */
1324
- timeoutInSeconds?: number;
1325
- /**
1326
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1327
- */
1328
- simulate?: boolean;
1329
- }) => Promise<AssembledTransaction<null>>;
1083
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
1330
1084
  /**
1331
1085
  * 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.
1332
1086
  * Accepts a pending 2-step ownership transfer.
@@ -1336,20 +1090,7 @@ export interface Client {
1336
1090
  * # Panics
1337
1091
  * - `NoPendingTransfer` if there is no pending transfer (or it expired)
1338
1092
  */
1339
- accept_ownership: (txnOptions?: {
1340
- /**
1341
- * The fee to pay for the transaction. Default: BASE_FEE
1342
- */
1343
- fee?: number;
1344
- /**
1345
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1346
- */
1347
- timeoutInSeconds?: number;
1348
- /**
1349
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1350
- */
1351
- simulate?: boolean;
1352
- }) => Promise<AssembledTransaction<null>>;
1093
+ accept_ownership: (options?: MethodOptions) => Promise<AssembledTransaction<null>>;
1353
1094
  /**
1354
1095
  * 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.
1355
1096
  * Permanently renounces ownership.
@@ -1358,20 +1099,7 @@ export interface Client {
1358
1099
  * - `OwnerNotSet` if no owner is currently set
1359
1100
  * - `TransferInProgress` if a 2-step transfer is in progress (cancel it first)
1360
1101
  */
1361
- renounce_ownership: (txnOptions?: {
1362
- /**
1363
- * The fee to pay for the transaction. Default: BASE_FEE
1364
- */
1365
- fee?: number;
1366
- /**
1367
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1368
- */
1369
- timeoutInSeconds?: number;
1370
- /**
1371
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1372
- */
1373
- simulate?: boolean;
1374
- }) => Promise<AssembledTransaction<null>>;
1102
+ renounce_ownership: (options?: MethodOptions) => Promise<AssembledTransaction<null>>;
1375
1103
  /**
1376
1104
  * 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.
1377
1105
  * Extends the instance TTL.
@@ -1384,20 +1112,7 @@ export interface Client {
1384
1112
  extend_instance_ttl: ({ threshold, extend_to }: {
1385
1113
  threshold: u32;
1386
1114
  extend_to: u32;
1387
- }, txnOptions?: {
1388
- /**
1389
- * The fee to pay for the transaction. Default: BASE_FEE
1390
- */
1391
- fee?: number;
1392
- /**
1393
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1394
- */
1395
- timeoutInSeconds?: number;
1396
- /**
1397
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1398
- */
1399
- simulate?: boolean;
1400
- }) => Promise<AssembledTransaction<null>>;
1115
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
1401
1116
  /**
1402
1117
  * 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.
1403
1118
  * Sets TTL configs for instance and persistent storage.
@@ -1416,38 +1131,12 @@ export interface Client {
1416
1131
  set_ttl_configs: ({ instance, persistent }: {
1417
1132
  instance: Option<TtlConfig>;
1418
1133
  persistent: Option<TtlConfig>;
1419
- }, txnOptions?: {
1420
- /**
1421
- * The fee to pay for the transaction. Default: BASE_FEE
1422
- */
1423
- fee?: number;
1424
- /**
1425
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1426
- */
1427
- timeoutInSeconds?: number;
1428
- /**
1429
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1430
- */
1431
- simulate?: boolean;
1432
- }) => Promise<AssembledTransaction<null>>;
1134
+ }, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
1433
1135
  /**
1434
1136
  * Construct and simulate a 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.
1435
1137
  * Returns the current TTL configs as (instance_config, persistent_config).
1436
1138
  */
1437
- ttl_configs: (txnOptions?: {
1438
- /**
1439
- * The fee to pay for the transaction. Default: BASE_FEE
1440
- */
1441
- fee?: number;
1442
- /**
1443
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1444
- */
1445
- timeoutInSeconds?: number;
1446
- /**
1447
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1448
- */
1449
- simulate?: boolean;
1450
- }) => Promise<AssembledTransaction<readonly [Option<TtlConfig>, Option<TtlConfig>]>>;
1139
+ ttl_configs: (options?: MethodOptions) => Promise<AssembledTransaction<readonly [Option<TtlConfig>, Option<TtlConfig>]>>;
1451
1140
  /**
1452
1141
  * Construct and simulate a freeze_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.
1453
1142
  * Permanently freezes TTL configs, preventing any future modifications.
@@ -1458,38 +1147,12 @@ export interface Client {
1458
1147
  * # Panics
1459
1148
  * - `TtlConfigAlreadyFrozen` if already frozen
1460
1149
  */
1461
- freeze_ttl_configs: (txnOptions?: {
1462
- /**
1463
- * The fee to pay for the transaction. Default: BASE_FEE
1464
- */
1465
- fee?: number;
1466
- /**
1467
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1468
- */
1469
- timeoutInSeconds?: number;
1470
- /**
1471
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1472
- */
1473
- simulate?: boolean;
1474
- }) => Promise<AssembledTransaction<null>>;
1150
+ freeze_ttl_configs: (options?: MethodOptions) => Promise<AssembledTransaction<null>>;
1475
1151
  /**
1476
1152
  * Construct and simulate a is_ttl_configs_frozen 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.
1477
1153
  * Returns whether TTL configs are frozen.
1478
1154
  */
1479
- is_ttl_configs_frozen: (txnOptions?: {
1480
- /**
1481
- * The fee to pay for the transaction. Default: BASE_FEE
1482
- */
1483
- fee?: number;
1484
- /**
1485
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1486
- */
1487
- timeoutInSeconds?: number;
1488
- /**
1489
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1490
- */
1491
- simulate?: boolean;
1492
- }) => Promise<AssembledTransaction<boolean>>;
1155
+ is_ttl_configs_frozen: (options?: MethodOptions) => Promise<AssembledTransaction<boolean>>;
1493
1156
  }
1494
1157
  export declare class Client extends ContractClient {
1495
1158
  readonly options: ContractClientOptions;