@layerzerolabs/protocol-stellar-v2 0.2.20 → 0.2.22

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 (198) hide show
  1. package/.turbo/turbo-build.log +783 -802
  2. package/.turbo/turbo-lint.log +320 -157
  3. package/.turbo/turbo-test.log +1414 -1457
  4. package/Cargo.lock +109 -108
  5. package/Cargo.toml +32 -18
  6. package/contracts/common-macros/Cargo.toml +7 -7
  7. package/contracts/common-macros/src/auth.rs +18 -37
  8. package/contracts/common-macros/src/contract_ttl.rs +2 -2
  9. package/contracts/common-macros/src/lib.rs +27 -10
  10. package/contracts/common-macros/src/lz_contract.rs +38 -7
  11. package/contracts/common-macros/src/storage.rs +251 -292
  12. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_multisig_code.snap +6 -12
  13. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_ownable_code.snap +12 -17
  14. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__ttl_configurable__snapshot_generated_ttl_configurable_code.snap +2 -7
  15. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__upgradeable__snapshot_generated_upgradeable_code.snap +20 -9
  16. package/contracts/common-macros/src/tests/upgradeable.rs +26 -4
  17. package/contracts/common-macros/src/ttl_configurable.rs +2 -10
  18. package/contracts/common-macros/src/ttl_extendable.rs +2 -10
  19. package/contracts/common-macros/src/upgradeable.rs +56 -15
  20. package/contracts/common-macros/src/utils.rs +0 -9
  21. package/contracts/endpoint-v2/src/lib.rs +3 -2
  22. package/contracts/endpoint-v2/src/tests/endpoint_v2/clear.rs +2 -2
  23. package/contracts/endpoint-v2/src/tests/endpoint_v2/lz_receive_alert.rs +3 -3
  24. package/contracts/endpoint-v2/src/tests/endpoint_v2/send.rs +4 -4
  25. package/contracts/endpoint-v2/src/tests/endpoint_v2/set_delegate.rs +17 -5
  26. package/contracts/endpoint-v2/src/tests/endpoint_v2/set_zro.rs +4 -4
  27. package/contracts/endpoint-v2/src/tests/endpoint_v2/verify.rs +2 -2
  28. package/contracts/endpoint-v2/src/tests/message_lib_manager/register_library.rs +2 -2
  29. package/contracts/endpoint-v2/src/tests/message_lib_manager/set_default_receive_lib_timeout.rs +6 -6
  30. package/contracts/endpoint-v2/src/tests/message_lib_manager/set_default_receive_library.rs +67 -37
  31. package/contracts/endpoint-v2/src/tests/message_lib_manager/set_default_send_library.rs +5 -5
  32. package/contracts/endpoint-v2/src/tests/message_lib_manager/set_receive_library.rs +44 -54
  33. package/contracts/endpoint-v2/src/tests/message_lib_manager/set_receive_library_timeout.rs +7 -7
  34. package/contracts/endpoint-v2/src/tests/message_lib_manager/set_send_library.rs +8 -8
  35. package/contracts/endpoint-v2/src/tests/messaging_channel/burn.rs +3 -3
  36. package/contracts/endpoint-v2/src/tests/messaging_channel/nilify.rs +4 -4
  37. package/contracts/endpoint-v2/src/tests/messaging_channel/skip.rs +3 -3
  38. package/contracts/endpoint-v2/src/tests/messaging_composer/clear_compose.rs +2 -2
  39. package/contracts/endpoint-v2/src/tests/messaging_composer/lz_compose_alert.rs +3 -3
  40. package/contracts/endpoint-v2/src/tests/messaging_composer/send_compose.rs +2 -2
  41. package/contracts/layerzero-views/Cargo.toml +0 -1
  42. package/contracts/layerzero-views/src/layerzero_view.rs +1 -13
  43. package/contracts/macro-integration-tests/Cargo.toml +5 -15
  44. package/contracts/macro-integration-tests/tests/runtime/oapp/mod.rs +48 -0
  45. package/contracts/macro-integration-tests/tests/runtime/oapp/oapp_core.rs +170 -0
  46. package/contracts/macro-integration-tests/tests/runtime/oapp/options_type3.rs +154 -0
  47. package/contracts/macro-integration-tests/tests/runtime/oapp/receiver.rs +338 -0
  48. package/contracts/macro-integration-tests/tests/runtime/oapp/sender.rs +435 -0
  49. package/contracts/macro-integration-tests/tests/runtime.rs +1 -0
  50. package/contracts/macro-integration-tests/tests/ui/oapp/fail/custom_wrong_value.rs +8 -0
  51. package/contracts/macro-integration-tests/tests/ui/oapp/fail/custom_wrong_value.stderr +5 -0
  52. package/contracts/macro-integration-tests/tests/ui/oapp/fail/missing_lz_receive_internal.rs +8 -0
  53. package/contracts/macro-integration-tests/tests/ui/oapp/fail/missing_lz_receive_internal.stderr +71 -0
  54. package/contracts/macro-integration-tests/tests/ui/oapp/fail/non_struct_input.rs +10 -0
  55. package/contracts/macro-integration-tests/tests/ui/oapp/fail/non_struct_input.stderr +5 -0
  56. package/contracts/macro-integration-tests/tests/ui/oapp/fail/unknown_custom_option.rs +8 -0
  57. package/contracts/macro-integration-tests/tests/ui/oapp/fail/unknown_custom_option.stderr +5 -0
  58. package/contracts/macro-integration-tests/tests/ui/oapp/fail/wrong_key.rs +8 -0
  59. package/contracts/macro-integration-tests/tests/ui/oapp/fail/wrong_key.stderr +5 -0
  60. package/contracts/macro-integration-tests/tests/ui/oapp/pass/custom_all.rs +38 -0
  61. package/contracts/macro-integration-tests/tests/ui/oapp/pass/custom_single_trait.rs +96 -0
  62. package/contracts/macro-integration-tests/tests/ui/oapp/pass/minimal_contract.rs +64 -0
  63. package/contracts/macro-integration-tests/tests/ui/oapp/pass/struct_with_fields.rs +46 -0
  64. package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_env.stderr +8 -0
  65. package/contracts/macro-integration-tests/tests/ui/ownable/pass/namespacing_and_imports.rs +1 -1
  66. package/contracts/macro-integration-tests/tests/ui/ownable/pass/only_auth_env_param_variants.rs +1 -1
  67. package/contracts/macro-integration-tests/tests/ui_oapp.rs +11 -0
  68. package/contracts/message-libs/message-lib-common/Cargo.toml +0 -1
  69. package/contracts/message-libs/message-lib-common/src/errors.rs +1 -1
  70. package/contracts/message-libs/treasury/Cargo.toml +0 -2
  71. package/contracts/message-libs/treasury/src/tests/treasury_tests.rs +2 -2
  72. package/contracts/message-libs/uln-302/src/tests/receive_uln302/effective_receive_uln_config.rs +2 -2
  73. package/contracts/message-libs/uln-302/src/tests/receive_uln302/set_default_receive_uln_configs.rs +2 -2
  74. package/contracts/message-libs/uln-302/src/tests/receive_uln302/verify.rs +2 -2
  75. package/contracts/message-libs/uln-302/src/tests/send_uln302/effective_executor_config.rs +2 -2
  76. package/contracts/message-libs/uln-302/src/tests/send_uln302/effective_send_uln_config.rs +2 -2
  77. package/contracts/message-libs/uln-302/src/tests/send_uln302/send.rs +7 -27
  78. package/contracts/message-libs/uln-302/src/tests/send_uln302/set_default_executor_configs.rs +2 -2
  79. package/contracts/message-libs/uln-302/src/tests/send_uln302/set_default_send_uln_configs.rs +2 -2
  80. package/contracts/oapps/counter/Cargo.toml +4 -6
  81. package/contracts/oapps/counter/integration_tests/utils.rs +19 -12
  82. package/contracts/oapps/oapp/src/errors.rs +1 -1
  83. package/contracts/oapps/oapp/src/interfaces/mod.rs +3 -0
  84. package/contracts/oapps/oapp/src/interfaces/oapp_msg_inspector.rs +47 -0
  85. package/contracts/oapps/oapp/src/lib.rs +1 -0
  86. package/contracts/oapps/oapp/src/macro_tests/test_macros.rs +4 -4
  87. package/contracts/oapps/oapp/src/oapp_core.rs +5 -5
  88. package/contracts/oapps/oapp/src/oapp_options_type3.rs +12 -4
  89. package/contracts/oapps/oapp/src/oapp_receiver.rs +14 -9
  90. package/contracts/oapps/oapp/src/tests/mod.rs +4 -4
  91. package/contracts/oapps/oapp/src/tests/{test_oapp_core.rs → oapp_core.rs} +4 -4
  92. package/contracts/oapps/oapp/src/tests/{test_oapp_options_type3.rs → oapp_options_type3.rs} +3 -4
  93. package/contracts/oapps/oapp-macros/Cargo.toml +8 -4
  94. package/contracts/oapps/oapp-macros/src/generators.rs +9 -34
  95. package/contracts/oapps/oapp-macros/src/lib.rs +3 -0
  96. package/contracts/oapps/oapp-macros/src/tests/mod.rs +2 -0
  97. package/contracts/oapps/oapp-macros/src/tests/oapp.rs +88 -0
  98. package/contracts/oapps/oapp-macros/src/tests/parse_custom_impls.rs +86 -0
  99. package/contracts/oapps/oapp-macros/src/tests/snapshots/oapp_macros__tests__oapp__snapshot_generate_oapp.snap +103 -0
  100. package/contracts/oapps/oft/integration-tests/utils.rs +28 -8
  101. package/contracts/oapps/oft/src/extensions/oft_fee.rs +136 -74
  102. package/contracts/oapps/oft/src/extensions/pausable.rs +44 -10
  103. package/contracts/oapps/oft/src/extensions/rate_limiter.rs +170 -130
  104. package/contracts/oapps/oft/src/oft.rs +19 -12
  105. package/contracts/oapps/oft/src/oft_types/lock_unlock.rs +1 -1
  106. package/contracts/oapps/oft/src/oft_types/mint_burn.rs +1 -1
  107. package/contracts/oapps/oft-core/Cargo.toml +1 -4
  108. package/contracts/oapps/oft-core/integration-tests/setup.rs +2 -2
  109. package/contracts/oapps/oft-core/integration-tests/utils.rs +21 -3
  110. package/contracts/oapps/oft-core/src/errors.rs +3 -2
  111. package/contracts/oapps/oft-core/src/events.rs +6 -0
  112. package/contracts/oapps/oft-core/src/lib.rs +1 -1
  113. package/contracts/oapps/oft-core/src/oft_core.rs +115 -60
  114. package/contracts/oapps/oft-core/src/storage.rs +7 -3
  115. package/contracts/oapps/oft-core/src/tests/mod.rs +1 -0
  116. package/contracts/oapps/oft-core/src/tests/test_decimals.rs +37 -2
  117. package/contracts/oapps/oft-core/src/tests/test_lz_receive.rs +2 -2
  118. package/contracts/oapps/oft-core/src/tests/test_msg_inspector.rs +323 -0
  119. package/contracts/oapps/oft-core/src/tests/test_send.rs +2 -2
  120. package/contracts/oapps/oft-core/src/tests/test_utils.rs +59 -14
  121. package/contracts/utils/Cargo.toml +0 -1
  122. package/contracts/utils/src/errors.rs +1 -1
  123. package/contracts/utils/src/multisig.rs +17 -8
  124. package/contracts/utils/src/ownable.rs +6 -6
  125. package/contracts/utils/src/testing_utils.rs +124 -54
  126. package/contracts/utils/src/tests/multisig.rs +12 -12
  127. package/contracts/utils/src/tests/ownable.rs +6 -6
  128. package/contracts/utils/src/tests/testing_utils.rs +50 -167
  129. package/contracts/utils/src/tests/ttl_configurable.rs +5 -5
  130. package/contracts/utils/src/tests/upgradeable.rs +1 -1
  131. package/contracts/utils/src/ttl_configurable.rs +10 -4
  132. package/contracts/utils/src/upgradeable.rs +5 -5
  133. package/contracts/workers/dvn/Cargo.toml +5 -6
  134. package/contracts/workers/dvn/src/dvn.rs +2 -12
  135. package/contracts/workers/dvn-fee-lib/Cargo.toml +1 -1
  136. package/contracts/workers/dvn-fee-lib/src/dvn_fee_lib.rs +37 -19
  137. package/contracts/workers/dvn-fee-lib/src/lib.rs +12 -2
  138. package/contracts/workers/dvn-fee-lib/src/tests/dvn_fee_lib.rs +15 -13
  139. package/contracts/workers/executor/Cargo.toml +3 -0
  140. package/contracts/workers/executor/src/executor.rs +2 -12
  141. package/contracts/workers/executor/src/lib.rs +2 -2
  142. package/contracts/workers/executor/src/tests/auth.rs +394 -0
  143. package/contracts/workers/executor/src/tests/executor.rs +410 -0
  144. package/contracts/workers/executor/src/tests/mod.rs +3 -0
  145. package/contracts/workers/executor/src/tests/setup.rs +250 -0
  146. package/contracts/workers/executor-fee-lib/Cargo.toml +5 -0
  147. package/contracts/workers/executor-fee-lib/src/executor_fee_lib.rs +1 -12
  148. package/contracts/workers/executor-fee-lib/src/lib.rs +8 -2
  149. package/contracts/workers/executor-helper/Cargo.toml +0 -1
  150. package/contracts/workers/price-feed/Cargo.toml +5 -0
  151. package/contracts/workers/price-feed/src/lib.rs +9 -4
  152. package/contracts/workers/price-feed/src/price_feed.rs +1 -11
  153. package/contracts/workers/worker/src/errors.rs +1 -1
  154. package/contracts/workers/worker/src/tests/setup.rs +1 -1
  155. package/contracts/workers/worker/src/tests/worker.rs +55 -41
  156. package/contracts/workers/worker/src/worker.rs +34 -25
  157. package/docs/error-spec.md +55 -0
  158. package/docs/layerzero-v2-on-stellar.md +447 -0
  159. package/docs/oapp-guide.md +212 -0
  160. package/docs/oft-guide.md +314 -0
  161. package/package.json +3 -3
  162. package/sdk/.turbo/turbo-test.log +260 -257
  163. package/sdk/dist/generated/bml.d.ts +3 -3
  164. package/sdk/dist/generated/bml.js +4 -4
  165. package/sdk/dist/generated/counter.d.ts +295 -295
  166. package/sdk/dist/generated/counter.js +43 -43
  167. package/sdk/dist/generated/dvn.d.ts +91 -91
  168. package/sdk/dist/generated/dvn.js +24 -24
  169. package/sdk/dist/generated/dvn_fee_lib.d.ts +92 -92
  170. package/sdk/dist/generated/dvn_fee_lib.js +25 -25
  171. package/sdk/dist/generated/endpoint.d.ts +99 -99
  172. package/sdk/dist/generated/endpoint.js +16 -16
  173. package/sdk/dist/generated/executor.d.ts +91 -91
  174. package/sdk/dist/generated/executor.js +24 -24
  175. package/sdk/dist/generated/executor_fee_lib.d.ts +92 -92
  176. package/sdk/dist/generated/executor_fee_lib.js +25 -25
  177. package/sdk/dist/generated/executor_helper.d.ts +3 -3
  178. package/sdk/dist/generated/executor_helper.js +4 -4
  179. package/sdk/dist/generated/layerzero_view.d.ts +186 -186
  180. package/sdk/dist/generated/layerzero_view.js +35 -35
  181. package/sdk/dist/generated/oft.d.ts +366 -352
  182. package/sdk/dist/generated/oft.js +74 -79
  183. package/sdk/dist/generated/price_feed.d.ts +198 -198
  184. package/sdk/dist/generated/price_feed.js +39 -39
  185. package/sdk/dist/generated/sml.d.ts +99 -99
  186. package/sdk/dist/generated/sml.js +16 -16
  187. package/sdk/dist/generated/treasury.d.ts +99 -99
  188. package/sdk/dist/generated/treasury.js +16 -16
  189. package/sdk/dist/generated/uln302.d.ts +99 -99
  190. package/sdk/dist/generated/uln302.js +16 -16
  191. package/sdk/dist/generated/upgrader.d.ts +3 -3
  192. package/sdk/dist/generated/upgrader.js +3 -3
  193. package/sdk/package.json +1 -1
  194. package/sdk/test/suites/localnet.ts +84 -20
  195. package/contracts/ERROR_SPEC.md +0 -51
  196. package/contracts/endpoint-v2/ARCHITECTURE.md +0 -233
  197. /package/contracts/oapps/oapp/src/tests/{test_oapp_receiver.rs → oapp_receiver.rs} +0 -0
  198. /package/contracts/oapps/oapp/src/tests/{test_oapp_sender.rs → oapp_sender.rs} +0 -0
@@ -6,14 +6,14 @@ 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: 57016 bytes (55.68 KB)
9
+ * Size: 57119 bytes (55.78 KB)
10
10
  */
11
- export declare const WASM_BASE64 = "AGFzbQEAAAABsAEdYAR+fn5+AX5gAn5+AX5gAX4BfmAAAX5gA35+fgF+YAN/f38AYAJ/fwF+YAJ+fgF/YAN/fn4AYAAAYAABf2ABfwBgAn9/AGABfwF/YAF/AX5gAn5/AGABfgBgAn9+AGAEf39/fwF+YAF+AX9gBX5/f39/AGACf38Bf2ADf39+AGAFfn5+fn4BfmAFf35/f34AYAh+fn5+fn5+fgF+YAJ+fgBgA35/fwF+YAN/f38BfwL9ASoBbAE3AAABbAExAAEBYQEwAAIBdgFkAAEBdgEzAAIBdgEyAAEBdgE2AAEBeAExAAEBdgFfAAMBdgExAAEBYgE4AAIBYgEzAAEBYgFlAAEBYgEwAAIBYwEwAAQBdgE4AAIBdgE5AAIBbAEyAAEBbAFfAAQBeAE3AAMBZAFfAAQBZAEwAAQBbAE2AAIBaQEwAAIBaQEzAAEBaQE1AAIBaQE0AAIBbQFhAAABdgFnAAEBYgFtAAQBaQE4AAIBaQE3AAIBaQE2AAEBaQFfAAIBYgFqAAEBbQE5AAQBeAEwAAEBeAEzAAMBeAE4AAMBbAEwAAEBbAE4AAEBeAE1AAIDqQGnAQUGBwcHBwgJCgsMDQoOBwMDAwsPCQsQDgsFEQgPAxERCwUCEhATDwMGCwwMCgwTDQsLEwoTCg4TDwwRFBERDAgRCBEEEQwCFREREQMCCQIWAQEBCwsBAQsBEAQBEAEQEAMCAwIDAgMCAgMDAQIDAxcYCBcBDAYBAhcDGQwMEAADAREKDgMMAwMBAwMCGgEJCAMDAgsCAwwDCRENGwUREQUODAURDBwcBAUBcAEBAQUDAQARBiEEfwFBgIDAAAt/AEGohcAAC38AQYCNwAALfwBBgI3AAAsHkgc1Bm1lbW9yeQIADF9fY2hlY2tfYXV0aABtCnNldF9wYXVzZWQAeAlzZXRfYWRtaW4AehlzZXRfc3VwcG9ydGVkX21lc3NhZ2VfbGliAHsNc2V0X2FsbG93bGlzdAB8DHNldF9kZW55bGlzdAB/GnNldF9kZWZhdWx0X211bHRpcGxpZXJfYnBzAIABE3NldF9kZXBvc2l0X2FkZHJlc3MAggEac2V0X3N1cHBvcnRlZF9vcHRpb25fdHlwZXMAhAESc2V0X3dvcmtlcl9mZWVfbGliAIUBDnNldF9wcmljZV9mZWVkAIcBBnBhdXNlZACKAQhpc19hZG1pbgCLAQZhZG1pbnMAjAEYaXNfc3VwcG9ydGVkX21lc3NhZ2VfbGliAI0BDG1lc3NhZ2VfbGlicwCOAQ9pc19vbl9hbGxvd2xpc3QAjwEOYWxsb3dsaXN0X3NpemUAkAEOaXNfb25fZGVueWxpc3QAkQEHaGFzX2FjbACSARZkZWZhdWx0X211bHRpcGxpZXJfYnBzAJMBD2RlcG9zaXRfYWRkcmVzcwCUARpnZXRfc3VwcG9ydGVkX29wdGlvbl90eXBlcwCWAQ53b3JrZXJfZmVlX2xpYgCXAQpwcmljZV9mZWVkAJgBCmFzc2lnbl9qb2IAmQEHZ2V0X2ZlZQCcAQ5zZXRfZHN0X2NvbmZpZwCgAQpkc3RfY29uZmlnAKEBC25hdGl2ZV9kcm9wAKIBCGVuZHBvaW50AKMBDV9fY29uc3RydWN0b3IApAEOd2l0aGRyYXdfdG9rZW4AqAEKYXV0aG9yaXplcgCpAQ9zZXRfdHRsX2NvbmZpZ3MAqgELdHRsX2NvbmZpZ3MArgESZnJlZXplX3R0bF9jb25maWdzALABFWlzX3R0bF9jb25maWdzX2Zyb3plbgCxARNleHRlbmRfaW5zdGFuY2VfdHRsALIBBW93bmVyALMBDXBlbmRpbmdfb3duZXIAtAESdHJhbnNmZXJfb3duZXJzaGlwALUBGnByb3Bvc2Vfb3duZXJzaGlwX3RyYW5zZmVyALcBEGFjY2VwdF9vd25lcnNoaXAAugEScmVub3VuY2Vfb3duZXJzaGlwALsBB3VwZ3JhZGUAvAEHbWlncmF0ZQC+AQZmcmVlemUAvwEJaXNfZnJvemVuAMEBAV8DAQpfX2RhdGFfZW5kAwILX19oZWFwX2Jhc2UDAwrvrQGnAScAQQAgABCrgICAAEIBIAGtQiCGQgSEIAKtQiCGQgSEEICAgIAAGgubAQIBfwF+I4CAgIAAQRBrIgIkgICAgAACQAJAAkACQCAAQQFxRQ0AIAJBjYPAgABBCBDDgICAACACKAIADQIgAiACKQMIEMSAgIAADAELIAJBhIPAgABBCRDDgICAACACKAIADQEgAiACKQMIIAGtQiCGQgSEEMWAgIAACyACKQMIIQMgAikDAFANAQsACyACQRBqJICAgIAAIAMLDwAgACABEK2AgIAAQQFzCw0AIAAgARCkgICAAFALDwAgACABEK+AgIAAQQFzC6IBAQN/I4CAgIAAQRBrIgIkgICAgAACQAJAAkAgAEL/AYNCDlINACABQv8Bg0IOUQ0BCyAAIAEQpICAgABQIQMMAQsgAiABQgiINwMIIAIgAEIIiDcDAAJAA0AgAhDEgYCAACEDIAJBCGoQxIGAgAAhBCADQYCAxABGDQEgAyAERg0AC0EAIQMMAQsgBEGAgMQARiEDCyACQRBqJICAgIAAIAMLNwEBfkIAIQMCQAJAIAFCAlENACABp0EBcQ0BIAAgAjcDCEIBIQMLIAAgAzcDAA8LELGAgIAAAAsJABDCgYCAAAALWAECfyOAgICAAEEQayIAJICAgIAAIABBBGoQs4CAgAACQCAAKAIEQQFHDQAgACgCCCAAKAIMELSAgIAAC0EAELWAgIAAIQEgAEEQaiSAgICAACABQf0BcQsMACAAQQEQy4GAgAALGwAgAK1CIIZCBIQgAa1CIIZCBIQQqICAgAAaC0cCAX8BfkECIQECQCAAEMqBgIAAIgJCAhC4gICAAEUNAEEBIQECQAJAIAJCAhCBgICAAKdB/wFxDgIBAgALAAtBACEBCyABC4sBAgJ/AX4jgICAgABBEGsiACSAgICAACAAQQRqELOAgIAAAkAgACgCBEEBRw0AIAAoAgggACgCDBC0gICAAAtBACEBAkBBABC3gICAACICQgIQuICAgABFDQBBASEBAkACQCACQgIQgYCAgACnQf8BcQ4CAQIACwALQQAhAQsgAEEQaiSAgICAACABC8IBAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkACQAJAAkACQCAAQf8BcQ4DAAECAAsgAUG2iMCAAEEGEMOAgIAAIAEoAgANAyABIAEpAwgQxICAgAAMAgsgAUG8iMCAAEEIEMOAgIAAIAEoAgANAiABIAEpAwgQxICAgAAMAQsgAUHEiMCAAEEKEMOAgIAAIAEoAgANASABIAEpAwgQxICAgAALIAEpAwghAiABKQMAUA0BCwALIAFBEGokgICAgAAgAgsPACAAIAEQp4CAgABCAVELFQEBfhC6gICAACIAEIKAgIAAGiAAC2YCAX8BfiOAgICAAEEQayIAJICAgIAAIAAQs4CAgAACQCAAKAIAQQFHDQAgACgCBCAAKAIIELSAgIAACyAAELyAgIAAIAApAwghASAAKQMAQYoIEL2AgIAAIABBEGokgICAgAAgAQtKAgF/AX4jgICAgABBEGsiACSAgICAACAAELyAgIAAIAApAwghASAAKQMAQYoIEL2AgIAAIAEQgoCAgAAaIABBEGokgICAgAAgAQtQAQF/I4CAgIAAQRBrIgEkgICAgAAgAUEEahCzgICAAAJAIAEoAgRBAUcNACABKAIIIAEoAgwQtICAgAALIAAQwoCAgAAgAUEQaiSAgICAAAspAAJAIACnQQFxRQ0ADwsgAUH6d2qtQiCGQoOAgIDggAF8EMCAgIAAAAtCAQF/I4CAgIAAQRBrIgAkgICAgAAgABC/gICAAAJAIAApAwBQDQBCg4CAgLCBARDAgICAAAALIABBEGokgICAgAALkwECAX8CfiOAgICAAEEQayIBJICAgIAAIAFBBGoQs4CAgAACQCABKAIEQQFHDQAgASgCCCABKAIMELSAgIAAC0IAIQICQAJAQQEQwYCAgAAiA0IAELiAgIAARQ0AIANCABCBgICAACICQv8Bg0LNAFINASAAIAI3AwhCASECCyAAIAI3AwAgAUEQaiSAgICAAA8LAAsLACAAEKmAgIAAGguSAQIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAAkACQCAAQQFxRQ0AIAFByYfAgABBDBDDgICAACABKAIADQIgASABKQMIEMSAgIAADAELIAFBxIfAgABBBRDDgICAACABKAIADQEgASABKQMIEMSAgIAACyABKQMIIQIgASkDAFANAQsACyABQRBqJICAgIAAIAILTQECfkIAIQECQAJAQQAQwYCAgAAiAkICELiAgIAARQ0AIAJCAhCBgICAACIBQv8Bg0LNAFINASAAIAE3AwhCASEBCyAAIAE3AwAPCwALUQIBfwF+I4CAgIAAQRBrIgMkgICAgAAgAyABIAIQxoGAgABCASEEAkAgAygCAA0AIAAgAykDCDcDCEIAIQQLIAAgBDcDACADQRBqJICAgIAAC0QBAX8jgICAgABBEGsiAiSAgICAACACIAE3AwggAkEIakEBEJ+BgIAAIQEgAEIANwMAIAAgATcDCCACQRBqJICAgIAAC0gBAX8jgICAgABBEGsiAySAgICAACADIAI3AwggAyABNwMAIANBAhCfgYCAACECIABCADcDACAAIAI3AwggA0EQaiSAgICAAAvNAgMBfwJ+AX8jgICAgABBMGsiAiSAgICAABDHgICAACIDIAAQg4CAgAAhBAJAAkACQAJAAkAgAQ0AIAJBCGogBBDIgICAACACKAIIIgVBAkYNASAFQQFxRQ0CIAIoAgwiBSADEISAgIAAQiCIp08NBCADIAWtQiCGQgSEEIWAgIAAIQMMBAsgBEICUQ0CQoOAgICAlgEQwICAgAAACxCxgICAAAALQoOAgICQlgEQwICAgAAACyADIAAQhoCAgAAhAwsgAkEBNgIgIAJBIGogAxDJgICAACACQRRqEMqAgIAAAkAgAigCFEEBRw0AIAJBIGogAigCGCACKAIcEMuAgIAAC0KO5q656ozk1TgQzICAgAAhAyACIAA3AyggAiABrTcDICADQeSIwIAAQQIgAkEgakECEM2AgIAAEIeAgIAAGiACQTBqJICAgIAAC6kBAgF/A34jgICAgABBMGsiACSAgICAACAAQRBqELOAgIAAAkAgACgCEEEBRw0AIAAoAhQgACgCGBC0gICAAAsgAEEBNgIAIABBEGogABDVgICAAAJAIAApAxAiAVANACAAQSRqEMqAgIAAIAAoAiRBAUcNACAAIAAoAiggACgCLBDLgICAAAsQiICAgAAhAiAAKQMYIQMgAEEwaiSAgICAACADIAIgAacbCz0BAn8CQAJAIAFCAlINAEEAIQIMAQtBAUECIAFC/wGDQgRRGyECIAFCIIinIQMLIAAgAzYCBCAAIAI2AgALFQAgABDggICAACABQgEQkoCAgAAaCwwAIABBAhDLgYCAAAslACAAEOCAgIAAQgEgAa1CIIZCBIQgAq1CIIZCBIQQgICAgAAaC2MDAX8BfgF/I4CAgIAAQRBrIgEkgICAgAAgASAANwMAQgIhAkEBIQMCQANAIANFDQEgA0F/aiEDIAAhAgwACwsgASACNwMIIAFBCGpBARCfgYCAACEAIAFBEGokgICAgAAgAAsuAAJAIAEgA0YNAAALIACtQiCGQgSEIAKtQiCGQgSEIAGtQiCGQgSEEKOAgIAACycAIAAQgoCAgAAaAkAgABDPgICAAA0AQoOAgIDAlwEQwICAgAAACwtdAQF/I4CAgIAAQRBrIgEkgICAgAAgAUEEahCzgICAAAJAIAEoAgRBAUcNACABKAIIIAEoAgwQtICAgAALEMeAgIAAIAAQg4CAgAAhACABQRBqJICAgIAAIABCAlIL0QIDAX8CfgF/I4CAgIAAQTBrIgIkgICAgAAQ0YCAgAAiAyAAEIOAgIAAIQQCQAJAAkACQAJAIAENACACQQhqIAQQyICAgAAgAigCCCIFQQJGDQEgBUEBcUUNAiACKAIMIgUgAxCEgICAAEIgiKdPDQQgAyAFrUIghkIEhBCFgICAACEDDAQLIARCAlENAkKDgICA0JYBEMCAgIAAAAsQsYCAgAAAC0KDgICA4JYBEMCAgIAAAAsgAyAAEIaAgIAAIQMLIAJBAjYCICACQSBqIAMQyYCAgAAgAkEUahDKgICAAAJAIAIoAhRBAUcNACACQSBqIAIoAhggAigCHBDLgICAAAtB9IjAgABBGRDSgICAABDMgICAACEDIAIgAa03AyggAiAANwMgIANBpInAgABBAiACQSBqQQIQzYCAgAAQh4CAgAAaIAJBMGokgICAgAALqQECAX8DfiOAgICAAEEwayIAJICAgIAAIABBEGoQs4CAgAACQCAAKAIQQQFHDQAgACgCFCAAKAIYELSAgIAACyAAQQI2AgAgAEEQaiAAENWAgIAAAkAgACkDECIBUA0AIABBJGoQyoCAgAAgACgCJEEBRw0AIAAgACgCKCAAKAIsEMuAgIAACxCIgICAACECIAApAxghAyAAQTBqJICAgIAAIAMgAiABpxsLRQIBfwF+I4CAgIAAQRBrIgIkgICAgAAgAiAAIAEQxoGAgAACQCACKAIAQQFHDQAACyACKQMIIQMgAkEQaiSAgICAACADC1YBAX8jgICAgABBEGsiASSAgICAACABELOAgIAAAkAgASgCAEEBRw0AIAEoAgQgASgCCBC0gICAAAsgAUEKNgIAIAAgARDUgICAACABQRBqJICAgIAAC00BAn5CACECAkACQCABEOCAgIAAIgNCAhC4gICAAEUNACADQgIQgYCAgAAiAkL/AYNCzQBSDQEgACACNwMIQgEhAgsgACACNwMADwsAC00BAn5CACECAkACQCABEOCAgIAAIgNCARC4gICAAEUNACADQgEQgYCAgAAiAkL/AYNCywBSDQEgACACNwMIQgEhAgsgACACNwMADwsAC3cBA38jgICAgABBIGsiACSAgICAACAAQRBqELOAgIAAAkAgACgCEEEBRw0AIAAoAhQgACgCGBC0gICAAAsgAEEENgIQIABBCGogAEEQahDXgICAACAAKAIIIQEgACgCDCECIABBIGokgICAgAAgAkEAIAFBAXEbC1oCAX4BfwJAAkACQCABEOCAgIAAIgJCAhC4gICAAA0AQQAhAQwBCyACQgIQgYCAgAAiAkL/AYNCBFINASACQiCIpyEDQQEhAQsgACADNgIEIAAgATYCAA8LAAuMAQECfyOAgICAAEEgayIBJICAgIAAIAEQs4CAgAACQCABKAIAQQFHDQAgASgCBCABKAIIELSAgIAACyABQQU2AgAgASAANwMIAkAgARDZgICAACICRQ0AIAFBFGoQyoCAgAAgASgCFEEBRw0AIAEgASgCGCABKAIcEMuAgIAACyABQSBqJICAgIAAIAILEgAgABDggICAAEIBELiAgIAAC1YBAX8jgICAgABBEGsiASSAgICAACABELOAgIAAAkAgASgCAEEBRw0AIAEoAgQgASgCCBC0gICAAAsgAUEJNgIAIAAgARDUgICAACABQRBqJICAgIAAC1YBAX8jgICAgABBEGsiASSAgICAACABELOAgIAAAkAgASgCAEEBRw0AIAEoAgQgASgCCBC0gICAAAsgAUEHNgIAIAAgARDUgICAACABQRBqJICAgIAAC4wBAQJ/I4CAgIAAQSBrIgEkgICAgAAgARCzgICAAAJAIAEoAgBBAUcNACABKAIEIAEoAggQtICAgAALIAFBAzYCACABIAA3AwgCQCABENmAgIAAIgJFDQAgAUEUahDKgICAACABKAIUQQFHDQAgASABKAIYIAEoAhwQy4CAgAALIAFBIGokgICAgAAgAgt3AQN/I4CAgIAAQSBrIgAkgICAgAAgAEEQahCzgICAAAJAIAAoAhBBAUcNACAAKAIUIAAoAhgQtICAgAALIABBBjYCECAAQQhqIABBEGoQ14CAgAAgACgCCCEBIAAoAgwhAiAAQSBqJICAgIAAIAJBACABQQFxGwtdAQF/I4CAgIAAQRBrIgEkgICAgAAgAUEEahCzgICAAAJAIAEoAgRBAUcNACABKAIIIAEoAgwQtICAgAALENGAgIAAIAAQg4CAgAAhACABQRBqJICAgIAAIABCAlILjwECAn8BfiOAgICAAEEQayIAJICAgIAAIAAQs4CAgAACQCAAKAIAQQFHDQAgACgCBCAAKAIIELSAgIAAC0EAIQEgAEEANgIAAkAgABDggICAACICQgIQuICAgABFDQBBASEBAkACQCACQgIQgYCAgACnQf8BcQ4CAQIACwALQQAhAQsgAEEQaiSAgICAACABC6YEAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCAA4LAAECAwQFBgcICQoACyABQYCMwIAAQQYQw4CAgAAgASgCAA0LIAEgASkDCBDEgICAAAwKCyABQYaMwIAAQQYQw4CAgAAgASgCAA0KIAEgASkDCBDEgICAAAwJCyABQYyMwIAAQQsQw4CAgAAgASgCAA0JIAEgASkDCBDEgICAAAwICyABQZeMwIAAQQkQw4CAgAAgASgCAA0IIAEgASkDCCAAKQMIEMWAgIAADAcLIAFBoIzAgABBDRDDgICAACABKAIADQcgASABKQMIEMSAgIAADAYLIAFBrYzAgABBCBDDgICAACABKAIADQYgASABKQMIIAApAwgQxYCAgAAMBQsgAUG1jMCAAEEUEMOAgIAAIAEoAgANBSABIAEpAwgQxICAgAAMBAsgAUHJjMCAAEEOEMOAgIAAIAEoAgANBCABIAEpAwgQxICAgAAMAwsgAUHXjMCAAEEUEMOAgIAAIAEoAgANAyABIAEpAwggADUCBEIghkIEhBDFgICAAAwCCyABQeuMwIAAQQwQw4CAgAAgASgCAA0CIAEgASkDCBDEgICAAAwBCyABQfeMwIAAQQkQw4CAgAAgASgCAA0BIAEgASkDCBDEgICAAAsgASkDCCECIAEpAwBQDQELAAsgAUEQaiSAgICAACACC3wBAn8jgICAgABBEGsiASSAgICAACABQQRqELOAgIAAAkAgASgCBEEBRw0AIAEoAgggASgCDBC0gICAAAsCQAJAIAAQ2ICAgABFDQBBACECDAELAkAQ1oCAgAANAEEBIQIMAQsgABDcgICAACECCyABQRBqJICAgIAAIAILKQACQCAAp0EBcUUNAA8LIAFB0HZqrUIghkKDgICAgJYBhBDAgICAAAALaQIBfwF+AkAgASgCCCICIAEoAgxJDQAgAEICNwMADwsgASkDACACrUIghkIEhBCJgICAACEDAkAgAkEBaiICRQ0AIAAgAzcDCCABIAI2AgggACADQv8Bg0LNAFKtNwMADwsQsYCAgAAAC9wCAgJ/Bn4jgICAgABB0ABrIgIkgICAgABBACEDAkADQCADQShGDQEgAkEIaiADakICNwMAIANBCGohAwwACwtCACEEQgEhBQJAIAFC/wGDQswAUg0AIAFByIHAgABBBSACQQhqQQUQ5YCAgAAgAkEwaiACKQMIEOaAgIAAIAIoAjBBAUYNACACKQNIIQEgAikDQCEGIAJBMGogAikDEBDngICAACACKAIwDQAgAikDOCEHIAJBMGogAikDGBDngICAACACKAIwDQAgAikDICIIQv8Bg0IEUg0AIAIpAzghCSACQTBqIAIpAygQ5oCAgAAgAigCMEEBRg0AIAIpA0AhBCAAIAIpA0g3AyggACAENwMgIAAgATcDGCAAIAY3AxAgACAIQiCIpzYCQCAAIAc3AzggACAJNwMwQgAhBUIAIQQLIAAgBTcDACAAIAQ3AwggAkHQAGokgICAgAALMQACQCACIARGDQAACyAAIAGtQiCGQgSEIAOtQiCGQgSEIAKtQiCGQgSEEJuAgIAAGgt7AgF/AX4CQAJAAkAgAadB/wFxIgJBxABGDQAgAkEKRw0BQgAhAyAAQgA3AxggACABQgiINwMQDAILIAEQmYCAgAAhAyABEJqAgIAAIQEgACADNwMYIAAgATcDEEIAIQMMAQsgAEKDkICAgAE3AwhCASEDCyAAIAM3AwALXQIBfwF+AkACQCABp0H/AXEiAkHAAEYNAAJAIAJBBkYNAEIBIQNCg5CAgIABIQEMAgsgAUIIiCEBQgAhAwwBC0IAIQMgARCXgICAACEBCyAAIAM3AwAgACABNwMIC/wBAgF/BX4jgICAgABBMGsiAiSAgICAACACQQhqIAEpAwAgASkDCBDpgICAAEIBIQMCQCACKAIIDQAgAikDECEEIAJBCGogASkDKBDqgICAACACKAIIDQAgAikDECEFIAJBCGogASkDIBDqgICAACACKAIIDQAgAikDECEGIAE1AjAhByACQQhqIAEpAxAgASkDGBDpgICAACACKAIIDQAgAiACKQMQNwMoIAIgBjcDGCACIAU3AxAgAiAENwMIIAIgB0IghkIEhDcDICAAQciBwIAAQQUgAkEIakEFEM2AgIAANwMIQgAhAwsgACADNwMAIAJBMGokgICAgAALRgACQAJAIAFC//////////8AViACQgBSIAJQGw0AIAFCCIZCCoQhAgwBCyACIAEQmICAgAAhAgsgAEIANwMAIAAgAjcDCAtCAQF/I4CAgIAAQRBrIgIkgICAgAAgAiABEMOBgIAAIAIpAwghASAAIAIpAwA3AwAgACABNwMIIAJBEGokgICAgAALgQEBAn8jgICAgABBIGsiAySAgICAAAJAAkAgAadBAXENACAAQoGAgIAwNwMADAELIAMgAhDsgICAAAJAAkAgAygCAEEBRw0AIABBAzYCBEEBIQQMAQsgACADKQMYNwMYIAAgAykDEDcDEEEAIQQLIAAgBDYCAAsgA0EgaiSAgICAAAt9AgF/AX4CQAJAAkACQCABp0H/AXEiAkHFAEYNACACQQtHDQIgACABQj+HNwMYIAAgAUIIhzcDEAwBCyABEJ6AgIAAIQMgARCfgICAACEBIAAgAzcDGCAAIAE3AxALQgAhAQwBCyAAQoOQgICAATcDCEIBIQELIAAgATcDAAuuDQUBfwF+AX8DfgF/I4CAgIAAQcAAayIDJICAgIAAIANBEGogABDugICAAAJAIAMoAhBBAUYNACADKQMYIQRBACEFAkADQCAFQRBGDQEgA0EwaiAFakICNwMAIAVBCGohBQwACwsgAUL/AYNCzABSDQAgAUH0gsCAAEECIANBMGpBAhDlgICAACADQRBqIAMpAzAQ7oCAgAAgAygCEA0AIAMpAzgiAUL/AYNCyABSDQAgAykDGCEAIAEQioCAgABCgICAgHCDQoCAgICACFINACACQv8Bg0LLAFINACADQRBqELOAgIAAAkAgAygCEEEBRw0AIAMoAhQgAygCGBC0gICAAAtBqIXAgACtQiCGQgSEQoSAgIDAARCLgICAACAAEIyAgIAAEI2AgIAAIgZC/wGDQs0AUg0AAkACQCAGEM+AgIAADQBCg4CAgCAhAQwBCyAAIAQgARCOgICAABoCQAJAAkACQCACEISAgIAAQv////8vVg0AIAIQhICAgABCgICAgBBUDQAgAhCPgICAACIBQv8Bg0LLAFINBSABEISAgIAAIQAgA0EANgIIIAMgATcDACADIABCIIg+AgwgA0EQaiADEO+AgIAAIAMpAxAiAUICUQ0FIAGnQQFxDQUCQCADKQMYIgGnQf8BcSIFQcoARg0AIAVBDkcNBgsCQAJAAkACQAJAIAEQ8ICAgABCIIinDgMAAQIKCyADKAIIIAMoAgwQ8YCAgABBAUsNCSADQTBqIAMQ74CAgAAgAykDMCIBQgJRDQkgAadBAXENCSADQRBqIAMpAzgQ8oCAgAAgAygCEEEBRg0JIAMpAyghBiADKQMYIQAgAykDICIBQaSCwIAAQRAQ0oCAgAAQr4CAgAANAyABQbSCwIAAQRAQ0oCAgAAQr4CAgAANAwJAIAFBxILAgABBChDSgICAABCugICAAEUNACABQc6CwIAAQQoQ0oCAgAAQroCAgAANBQsgBhCEgICAAEL/////D1YNAiADQQM2AhQMBgsgAygCCCADKAIMEPGAgIAAQQFLDQggA0EwaiADEO+AgIAAIAMpAzAiAUICUQ0IIAGnQQFxDQggA0EQaiADKQM4EPOAgIAAIAMoAhBFDQMMCAsgAygCCCADKAIMEPGAgIAAQQFLDQcgA0EwaiADEO+AgIAAIAMpAzAiAUICUQ0HIAGnQQFxDQcgA0EQaiADKQM4EPSAgIAAIAMoAhANBwwCCyADQRBqQgEgBhCQgICAABDrgICAACADKAIQQQFxDQMgAykDKCEBIAMpAyAhACACEISAgIAAQiCIIQYCQCAAIAGEQgBSDQAgBkIBUg0CDAMLIAZCAlINAQJAAkAgAhCEgICAAEKAgICAIFQNACACQoSAgIAQEImAgIAAIgJC/wGDQssAUg0IIAIQhICAgAAhBiADQQA2AgggAyACNwMAIAMgBkIgiD4CDCADQRBqIAMQ74CAgAAgAykDECICQgJRDQggAqdBAXENCAJAIAMpAxgiAqdB/wFxIgVBygBGDQAgBUEORw0JCwJAAkACQCACEPCAgIAAQiCIpw4DAAECCwsgAygCCCADKAIMEPGAgIAAQQFLDQogA0EwaiADEO+AgIAAIAMpAzAiAkICUQ0KIAKnQQFxDQogA0EQaiADKQM4EPKAgIAAIAMoAhBBAUYNCiADKQMgIQYgAykDGCEEIAMpAyghAhD1gICAABD2gICAACEHIAIQhICAgABC/////y9WDQMgA0EDNgIUDAcLIAMoAgggAygCDBDxgICAAEEBSw0JIANBMGogAxDvgICAACADKQMwIgFCAlENCSABp0EBcQ0JIANBEGogAykDOBDzgICAACADKAIQDQkMBAsgAygCCCADKAIMEPGAgIAAQQFLDQggA0EwaiADEO+AgIAAIAMpAzAiAUICUQ0IIAGnQQFxDQggA0EQaiADKQM4EPSAgIAAIAMoAhANCAwDCxD3gICAAAALIANBEGpCASACQoSAgIAgEImAgIAAEOuAgIAAIAMoAhBBAXENAyADKQMoIQIgAykDICEIQQMhBSAGQdiCwIAAQQgQ0oCAgAAQroCAgAANBCAEIAcQrICAgAAhCSAIIACFIAIgAYWEQgBSDQQgCUUNAgwECyACEISAgIAAQoCAgIBwg0KAgICAEFINACAAEPWAgIAAEKyAgIAARQ0BC0KDgICAMCEBDAMLQgIhAQwCCyADKAIUIQULIAVBf2qtQiCGQoOAgIAQfCEBCyADQcAAaiSAgICAACABDwsAC0IBAX5CASECAkAgAUL/AYNCyABSDQAgARCKgICAAEKAgICAcINCgICAgIAEUg0AIAAgATcDCEIAIQILIAAgAjcDAAtKAgF+AX9CAiECAkAgASgCCCIDIAEoAgxPDQAgACABKQMAIAOtQiCGQgSEEImAgIAANwMIIAEgA0EBajYCCEIAIQILIAAgAjcDAAsSACAAQbiAwIAAQQMQxYGAgAALGQACQCABIABJDQAgASAAaw8LELGAgIAAAAvTAQICfwN+I4CAgIAAQSBrIgIkgICAgABBACEDAkADQCADQRhGDQEgAkEIaiADakICNwMAIANBCGohAwwACwtCASEEAkAgAUL/AYNCzABSDQAgAUHMhcCAAEEDIAJBCGpBAxDlgICAACACKQMIIgFC/wGDQssAUg0AIAIpAxAiBUL/AYNCzQBSDQACQCACKQMYIganQf8BcSIDQcoARg0AIANBDkcNAQsgACABNwMYIAAgBjcDECAAIAU3AwhCACEECyAAIAQ3AwAgAkEgaiSAgICAAAu+AQICfwF+I4CAgIAAQSBrIgIkgICAgABBACEDAkADQCADQRBGDQEgAiADakICNwMAIANBCGohAwwACwtCASEEAkAgAUL/AYNCzABSDQAgAUH0hcCAAEECIAJBAhDlgICAACACQRBqIAIpAwAQx4GAgAAgAigCEA0AIAIpAxghASACQRBqIAIpAwgQ7oCAgAAgAigCEA0AIAAgAikDGDcDECAAIAE3AwhCACEECyAAIAQ3AwAgAkEgaiSAgICAAAvgAQICfwJ+I4CAgIAAQTBrIgIkgICAgABBACEDAkADQCADQRhGDQEgAkEIaiADakICNwMAIANBCGohAwwACwtCASEEAkAgAUL/AYNCzABSDQAgAUGUhsCAAEEDIAJBCGpBAxDlgICAACACKQMIIgFC/wGDQssAUg0AIAJBIGogAikDEBDHgYCAACACKAIgDQAgAikDKCEFIAJBIGogAikDGBDugICAACACKAIgDQAgAikDKCEEIAAgATcDGCAAIAQ3AxAgACAFNwMIQgAhBAsgACAENwMAIAJBMGokgICAgAALhwECAX8BfiOAgICAAEEQayIAJICAgIAAIABBBGoQs4CAgAACQCAAKAIEQQFHDQAgACgCCCAAKAIMELSAgIAACwJAAkBBASAAEKuAgIAAIgFCAhC4gICAAEUNACABQgIQgYCAgAAiAUL/AYNCzQBRDQEACxD3gICAAAALIABBEGokgICAgAAgAQs2AAJAIABBvIPAgABBDBDSgICAABCIgICAABCUgICAACIAQv8Bg0LNAFENABCxgICAAAALIAALCQAQsYCAgAAAC50CAgJ/AX4jgICAgABBEGsiASSAgICAAAJAAkBBASAAp0H/AXEiAkEAR0EBdCACQQFGGyICQQJGDQAgARCzgICAAAJAIAEoAgBBAUcNACABKAIEIAEoAggQtICAgAALELmAgIAAIQAQ34CAgAAgAnNBAXFFDQEgAUEANgIAIAEgAkICEPmAgIAAAkACQCACQQFxDQBCjtKq3O6sz/UAEMyAgIAAIQMgASAANwMAIANBmIrAgABBASABQQEQzYCAgAAQh4CAgAAaDAELQo7SqtzurAMQzICAgAAhAyABIAA3AwAgA0GIisCAAEEBIAFBARDNgICAABCHgICAABoLIAFBEGokgICAgABCAg8LAAtCg4CAgKCXARDAgICAAAALGgAgABDggICAACABrUL/AYMgAhCSgICAABoLjQEBAn8jgICAgABBEGsiAiSAgICAAAJAIABC/wGDQs0AUg0AQQEgAadB/wFxIgNBAEdBAXQgA0EBRhsiA0ECRg0AIAJBBGoQs4CAgAACQCACKAIEQQFHDQAgAigCCCACKAIMELSAgIAACxC5gICAABogACADQQFxEMaAgIAAIAJBEGokgICAgABCAg8LAAuNAQECfyOAgICAAEEQayICJICAgIAAAkAgAEL/AYNCzQBSDQBBASABp0H/AXEiA0EAR0EBdCADQQFGGyIDQQJGDQAgAkEEahCzgICAAAJAIAIoAgRBAUcNACACKAIIIAIoAgwQtICAgAALELmAgIAAGiAAIANBAXEQ0ICAgAAgAkEQaiSAgICAAEICDwsAC6MDAQN/I4CAgIAAQSBrIgIkgICAgAACQAJAAkACQCAAQv8Bg0LNAFINAEEBIAGnQf8BcSIDQQBHQQF0IANBAUYbIgNBAkYNACACQRBqELOAgIAAAkAgAigCEEEBRw0AIAIoAhQgAigCGBC0gICAAAsQuYCAgAAaIAAQ3ICAgAAhBAJAAkAgA0EBcQ0AIARFDQMgAkEDNgIQIAIgADcDGCACQRBqEOCAgIAAQgEQkYCAgAAaENaAgIAAIgRFDQUgBEF/aiEEDAELIAQNAyACQQM2AhAgAiAANwMYIAJBEGoQ/YCAgAAgAkEEahDKgICAAAJAIAIoAgRBAUcNACACQRBqIAIoAgggAigCDBDLgICAAAsQ1oCAgABBAWoiBEUNBAsgBBD+gICAAEG0icCAAEENENKAgIAAEMyAgIAAIQEgAiAANwMYIAIgA603AxAgAUHMicCAAEECIAJBEGpBAhDNgICAABCHgICAABogAkEgaiSAgICAAEICDwsAC0KDgICAgJcBEMCAgIAAAAtCg4CAgKCWARDAgICAAAALELGAgIAAAAsOACAAQQFCARD5gICAAAsxAQF/I4CAgIAAQRBrIgEkgICAgAAgAUEENgIAIAEgABDOgYCAACABQRBqJICAgIAAC+4CAQN/I4CAgIAAQSBrIgIkgICAgAACQAJAAkAgAEL/AYNCzQBSDQBBASABp0H/AXEiA0EAR0EBdCADQQFGGyIDQQJGDQAgAkEQahCzgICAAAJAIAIoAhBBAUcNACACKAIUIAIoAhgQtICAgAALELmAgIAAGiAAENiAgIAAIQQCQAJAIANBAXENACAERQ0DIAJBBTYCECACIAA3AxggAkEQahDggICAAEIBEJGAgIAAGgwBCyAEDQMgAkEFNgIQIAIgADcDGCACQRBqEP2AgIAAIAJBBGoQyoCAgAAgAigCBEEBRw0AIAJBEGogAigCCCACKAIMEMuAgIAAC0HcicCAAEEMENKAgIAAEMyAgIAAIQEgAiAANwMYIAIgA603AxAgAUHwicCAAEECIAJBEGpBAhDNgICAABCHgICAABogAkEgaiSAgICAAEICDwsAC0KDgICAkJcBEMCAgIAAAAtCg4CAgLCWARDAgICAAAALegEBfyOAgICAAEEQayICJICAgIAAAkAgAEL/AYNCzQBSDQAgAUL/AYNCBFINACACQQRqELOAgIAAAkAgAigCBEEBRw0AIAIoAgggAigCDBC0gICAAAsgABDOgICAACABQiCIpxCBgYCAACACQRBqJICAgIAAQgIPCwALcgIBfwF+I4CAgIAAQRBrIgEkgICAgAAgAUEGNgIAIAEgABDOgYCAAEGgisCAAEEaENKAgIAAEMyAgIAAIQIgASAArUIghkIEhDcDACACQciKwIAAQQEgAUEBEM2AgIAAEIeAgIAAGiABQRBqJICAgIAAC6wBAQF/I4CAgIAAQRBrIgIkgICAgAACQCAAQv8Bg0LNAFINACABQv8Bg0LNAFINACACELOAgIAAAkAgAigCAEEBRw0AIAIoAgQgAigCCBC0gICAAAsgABDOgICAACABEIOBgIAAQdCKwIAAQRMQ0oCAgAAQzICAgAAhACACIAE3AwAgAEH0isCAAEEBIAJBARDNgICAABCHgICAABogAkEQaiSAgICAAEICDwsACzEBAX8jgICAgABBEGsiASSAgICAACABQQc2AgAgASAAEM2BgIAAIAFBEGokgICAgAALlwIBAX8jgICAgABBIGsiAySAgICAAAJAIABC/wGDQs0AUg0AIAFC/wGDQgRSDQAgAkL/AYNCyABSDQAgA0EQahCzgICAAAJAIAMoAhBBAUcNACADKAIUIAMoAhgQtICAgAALIAAQzoCAgAAgA0EINgIQIAMgAUIgiD4CFCADQRBqEOCAgIAAIAJCARCSgICAABogA0EEahDKgICAAAJAIAMoAgRBAUcNACADQRBqIAMoAgggAygCDBDLgICAAAtBnIvAgABBGhDSgICAABDMgICAACEAIAMgAjcDGCADIAFChICAgHCDNwMQIABBzIvAgABBAiADQRBqQQIQzYCAgAAQh4CAgAAaIANBIGokgICAgABCAg8LAAusAQEBfyOAgICAAEEQayICJICAgIAAAkAgAEL/AYNCzQBSDQAgAUL/AYNCzQBSDQAgAhCzgICAAAJAIAIoAgBBAUcNACACKAIEIAIoAggQtICAgAALIAAQzoCAgAAgARCGgYCAAEHci8CAAEESENKAgIAAEMyAgIAAIQAgAiABNwMAIABB+IvAgABBASACQQEQzYCAgAAQh4CAgAAaIAJBEGokgICAgABCAg8LAAsxAQF/I4CAgIAAQRBrIgEkgICAgAAgAUEJNgIAIAEgABDNgYCAACABQRBqJICAgIAAC38BAX8jgICAgABBEGsiAiSAgICAAAJAIABC/wGDQs0AUg0AIAFC/wGDQs0AUg0AIAJBBGoQs4CAgAACQCACKAIEQQFHDQAgAigCCCACKAIMELSAgIAACyAAEM6AgIAAIAEQiIGAgAAgARCJgYCAACACQRBqJICAgIAAQgIPCwALMQEBfyOAgICAAEEQayIBJICAgIAAIAFBCjYCACABIAAQzYGAgAAgAUEQaiSAgICAAAtdAgF/AX4jgICAgABBEGsiASSAgICAAEH8isCAAEEOENKAgIAAEMyAgIAAIQIgASAANwMIIAJBlIvAgABBASABQQhqQQEQzYCAgAAQh4CAgAAaIAFBEGokgICAgAALCQAQ34CAgACtCxsAAkAgAEL/AYNCzQBRDQAACyAAEM+AgIAArQsIABDHgICAAAsbAAJAIABC/wGDQs0AUQ0AAAsgABDegICAAK0LCAAQ0YCAgAALGwACQCAAQv8Bg0LNAFENAAALIAAQ3ICAgACtCw8AENaAgIAArUIghkIEhAsbAAJAIABC/wGDQs0AUQ0AAAsgABDYgICAAK0LGwACQCAAQv8Bg0LNAFENAAALIAAQ4YCAgACtCw8AEN2AgIAArUIghkIEhAs+AgF/AX4jgICAgABBEGsiACSAgICAACAAENuAgIAAIAApAwAgACkDCBCVgYCAACEBIABBEGokgICAgAAgAQsNACABQgIgAKdBAXEbC8gBAgJ/AX4jgICAgABBIGsiASSAgICAAAJAIABC/wGDQgRSDQAgAEIgiKchAiABELOAgIAAAkAgASgCAEEBRw0AIAEoAgQgASgCCBC0gICAAAsgAUEINgIAIAEgAjYCBEICIQACQCABEOCAgIAAIgNCARC4gICAAEUNACADQgEQgYCAgAAiAEL/AYNCyABSDQEgAUEUahDKgICAACABKAIUQQFHDQAgASABKAIYIAEoAhwQy4CAgAALIAFBIGokgICAgAAgAA8LAAs+AgF/AX4jgICAgABBEGsiACSAgICAACAAENqAgIAAIAApAwAgACkDCBCVgYCAACEBIABBEGokgICAgAAgAQs+AgF/AX4jgICAgABBEGsiACSAgICAACAAENOAgIAAIAApAwAgACkDCBCVgYCAACEBIABBEGokgICAgAAgAQuzAgEBfyOAgICAAEHAAGsiBSSAgICAAAJAAkACQCAAQv8Bg0LNAFINACABQv8Bg0LNAFINACACQv8Bg0IEUg0AIANC/wGDQgRSDQAgBEL/AYNCyABSDQAgBRCzgICAAAJAIAUoAgBBAUcNACAFKAIEIAUoAggQtICAgAALIAAQgoCAgAAaIAAQ3oCAgABFDQEgBSABIAJCIIinIANCIIinIAQQmoGAgAAgBUEwahDbgICAACAFKQM4IQAgBSkDMEG0CRDigICAACAFQTBqIAUpAwAgBSkDCBCbgYCAACAFKAIwQQFHDQILAAtCg4CAgNCXARDAgICAAAALIAUpAzghASAFIAA3AyggBSABNwMgQdCDwIAAQQIgBUEgakECEM2AgIAAIQAgBUHAAGokgICAgAAgAAvGBQQBfwl+AX8BfiOAgICAAEHwAGsiBSSAgICAACAFELOAgIAAAkAgBSgCAEEBRw0AIAUoAgQgBSgCCBC0gICAAAsCQBDfgICAAA0AAkAgARDhgICAAEUNACAFIAIQnoGAgAACQAJAIAUoAgBBAXFFDQAgBSkDKCEGIAUpAyAhByAFNQJAIQggBSkDOCEJIAUpAzAhCiAFKQMYIQsgBSkDECEMIAUQ04CAgAAgBSkDCCENIAUpAwBBuwkQ4oCAgAAgBRDagICAACAFKQMIIQ4gBSkDAEG+CRDigICAABDdgICAACEPEJOAgIAAIRAgBUHgAGogDCALEOmAgIAAIAUoAmANASAFKQNoIQsgBUHgAGogCRDqgICAACAFKAJgDQEgBSkDaCEMIAVB4ABqIAoQ6oCAgAAgBSgCYA0BIAUpA2ghCSAFQeAAaiAHIAYQ6YCAgAAgBSgCYEEBRg0BIAUpA2ghCiAFIAE3A1AgBSANNwNIIAUgBDcDQCAFIAo3AzggBSAJNwMoIAUgDDcDICAFIAs3AxggBSACrUIghkIEhDcDECAFIA+tQiCGQgSENwMIIAUgA61CIIZCBIQ3AwAgBSAIQiCGQgSENwMwIAVB0ITAgABBCyAFQQsQzYCAgAA3A2ggBSAQNwNgQQAhAgJAA0ACQCACQRBHDQBBACECAkADQCACQRBGDQEgBSACaiAFQeAAaiACaikDADcDACACQQhqIQIMAAsLIAUgDkKO1Oq1kNeyASAFQQIQn4GAgAAQlICAgAAQ7ICAgAAgBSgCAEEBRg0CIAUpAxAhASAAIAUpAxg3AwggACABNwMAIAVB8ABqJICAgIAADwsgBSACakICNwMAIAJBCGohAgwACwsQsYCAgAAAC0KDgICAEBDAgICAAAsAC0KDgICA8JYBEMCAgIAAAAtCg4CAgPCXARDAgICAAAALWwACQAJAIAFCgICAgICAgMAAfEL//////////wBWDQAgASABhSACIAFCP4eFhEIAUg0AIAFCCIZCC4QhAQwBCyACIAEQoICAgAAhAQsgAEIANwMAIAAgATcDCAuLAQEBfyOAgICAAEEQayIFJICAgIAAAkAgAEL/AYNCzQBSDQAgAUL/AYNCzQBSDQAgAkL/AYNCBFINACADQv8Bg0IEUg0AIARC/wGDQsgAUg0AIAUgASACQiCIpyADQiCIpyAEEJqBgIAAIAUpAwAgBSkDCBCdgYCAACEBIAVBEGokgICAgAAgAQ8LAAtDAQF/I4CAgIAAQRBrIgIkgICAgAAgAiAAIAEQm4GAgAACQCACKAIAQQFHDQAACyACKQMIIQEgAkEQaiSAgICAACABC90BAgF/AX4jgICAgABB0ABrIgIkgICAgAAgAhCzgICAAAJAIAIoAgBBAUcNACACKAIEIAIoAggQtICAgAALAkACQAJAQQAgARCrgICAACIDQgEQuICAgABFDQAgAiADQgEQgYCAgAAQ5ICAgAAgAigCAEEBcUUNAQALIABCADcDCCAAQgA3AwAMAQsgAEEQaiACQRBqQcAAENCBgIAAGiAAQgA3AwggAEIBNwMAIAIQyoCAgAAgAigCAEEBRw0AIAEgAigCBCACKAIIEKqAgIAACyACQdAAaiSAgICAAAsaACAArUIghkIEhCABrUIghkIEhBCcgICAAAvzBAUBfwF+AX8BfgJ/I4CAgIAAQaACayICJICAgIAAAkACQCAAQv8Bg0LNAFINACABQv8Bg0LLAFINACACQdABahCzgICAAAJAIAIoAtABQQFHDQAgAigC1AEgAigC2AEQtICAgAALIAAQzoCAgAAgARCEgICAAEIgiCEDIAJB0AFqQRBqIQRCACEAAkADQCAAIANRDQEgASAAQiCGQgSEEImAgIAAIQVBACEGAkADQCAGQRBGDQEgAkGAAWogBmpCAjcDACAGQQhqIQYMAAsLAkACQCAFQv8Bg0LMAFINACAFQfyBwIAAQQIgAkGAAWpBAhDlgICAACACQdABaiACKQOAARDkgICAACACKALQAUEBcQ0AIAJBkAFqIARBwAAQ0IGAgAAaIAIpA4gBIgVC/wGDQgRRDQELIABC/////w9RDQQgAiACQcAAakHAABDQgYCAABoMBAsgAkHAAGogAkGQAWpBwAAQ0IGAgAAaIABC/////w9RDQMgAiACQcAAakHAABDQgYCAACIGQdABaiAGQcAAENCBgIAAGiAGIAVCIIinIgc2ApACQQAgBxCrgICAACEFIAZBkAFqIAZB0AFqEOiAgIAAIAYoApABQQFGDQIgBSAGKQOYAUIBEJKAgIAAGiAGQZABahDKgICAAAJAIAYoApABQQFHDQAgByAGKAKUASAGKAKYARCqgICAAAsgAEIBfCEADAALC0HQgMCAAEEOENKAgIAAEMyAgIAAIQAgAiABNwPQASAAQeSAwIAAQQEgAkHQAWpBARDNgICAABCHgICAABogAkGgAmokgICAgABCAg8LAAsQsYCAgAAAC3oBAX8jgICAgABB4ABrIgEkgICAgAACQCAAQv8Bg0IEUg0AIAEgAEIgiKcQnoGAgAACQAJAIAEoAgBBAXENAEICIQAMAQsgAUHQAGogAUEQahDogICAACABKAJQQQFxDQEgASkDWCEACyABQeAAaiSAgICAACAADwsAC8oGAgJ/B34jgICAgABBwABrIgUkgICAgAACQAJAAkAgAEL/AYNCzQBSDQBBACEGAkADQCAGQRhGDQEgBSAGakICNwMAIAZBCGohBgwACwsgAUL/AYNCzABSDQAgAUGkg8CAAEEDIAVBAxDlgICAACAFQShqIAUpAwAQ54CAgAAgBSgCKA0AIAUpAzAhByAFQShqIAUpAwgQ7oCAgAAgBSgCKA0AIAUpAxAiCEL/AYNCBFINACACQv8Bg0IEUg0AIANC/wGDQs0AUg0AIARC/wGDQssAUg0AIAUpAzAhCSAFELOAgIAAAkAgBSgCAEEBRw0AIAUoAgQg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IAIoAghBAUcNACACKAIMIAIoAhAQpYGAgAAMAQtBARC3gICAAEICEJGAgIAAGgsCQAJAIAIoAhhBAUcNACACKAIcIAIoAiAQpoGAgAAMAQtBAhC3gICAAEICEJGAgIAAGgsgAkEoakEIaiACQQhqQQhqKAIANgIAIAJBPGogAkEYakEIaigCADYCACACIAIpAwg3AyggAiACKQMYNwI0QfCHwIAAQQ8Q0oCAgAAQzICAgAAhACACQShqEK2BgIAAIQEgAiACQTRqEK2BgIAANwNIIAIgATcDQCAAQZSIwIAAQQIgAkHAAGpBAhDNgICAABCHgICAABogAkHQAGokgICAgABCAg8LAAtoAQF/I4CAgIAAQRBrIgIkgICAgAACQAJAIAFCAlENACACQQRqIAEQyIGAgAACQCACKAIERQ0AIABBAjYCAAwCCyAAIAIpAgg3AgQgAEEBNgIADAELIABBADYCAAsgAkEQaiSAgICAAAszAQJ+EKWAgIAAIQACQBCmgICAAEIgiCIBIABCIIgiAFQNACABpyAAp2sPCxCxgICAAAALQwIBfwF+I4CAgIAAQRBrIgEkgICAgAAgASAAEK+BgIAAAkAgASgCAEEBRw0AAAsgASkDCCECIAFBEGokgICAgAAgAgvCAQICfwF+I4CAgIAAQcAAayIAJICAgIAAIABBCGoQs4CAgAACQCAAKAIIQQFHDQAgACgCDCAAKAIQELSAgIAACyAAQQhqELOAgIAAIABBFGoiARDKgICAACAAQTBqIABBCGoQr4GAgAACQAJAIAAoAjANACAAKQM4IQIgAEEwaiABEK+BgIAAIAAoAjBBAUcNAQsACyAAIAApAzg3AyggACACNwMgIABBIGpBAhCfgYCAACECIABBwABqJICAgIAAIAILMAACQCABKAIAQQFHDQAgACABKAIEIAEoAggQyYGAgAAPCyAAQgA3AwAgAEICNwMIC6sBAQF/I4CAgIAAQSBrIgAkgICAgAAgAEEMahCzgICAAAJAIAAoAgxBAUcNACAAKAIQIAAoAhQQtICAgAALELmAgIAAGgJAELaAgIAARQ0AQoOAgIDg/wAQwICAgAAAC0EAELeAgIAAQgFCAhCSgICAABpBpIjAgABBEhDSgICAABDMgICAAEEEQQAgAEEYakEAEM2AgIAAEIeAgIAAGiAAQSBqJICAgIAAQgILCQAQtoCAgACtCzEAAkAgAEL/AYNCBFINACABQv8Bg0IEUg0AIABCIIinIAFCIIinELSAgIAAQgIPCwALPgIBfwF+I4CAgIAAQRBrIgAkgICAgAAgABC8gICAACAAKQMAIAApAwgQlYGAgAAhASAAQRBqJICAgIAAIAELPgIBfwF+I4CAgIAAQRBrIgAkgICAgAAgABC/gICAACAAKQMAIAApAwgQlYGAgAAhASAAQRBqJICAgIAAIAELfQIBfwF+I4CAgIAAQRBrIgEkgICAgAACQCAAQv8Bg0LNAFINACABQQRqELOAgIAAAkAgASgCBEEBRw0AIAEoAgggASgCDBC0gICAAAsQu4CAgAAhAhC+gICAACAAEKeBgIAAIAIgABC2gYCAACABQRBqJICAgIAAQgIPCwALYQIBfwF+I4CAgIAAQRBrIgIkgICAgABBvYbAgABBFRDSgICAABDMgICAACEDIAIgADcDCCACIAE3AwAgA0HkhsCAAEECIAJBAhDNgICAABCHgICAABogAkEQaiSAgICAAAvcAgIBfwJ+I4CAgIAAQSBrIgIkgICAgAACQAJAAkAgAEL/AYNCzQBSDQAgAUL/AYNCBFINACACQQhqELOAgIAAAkAgAigCCEEBRw0AIAIoAgwgAigCEBC0gICAAAsQu4CAgAAhAwJAAkAgAUL/////D1YNACACQQhqEL+AgIAAIAIpAxAhASACKQMIQYgIEL2AgIAAIAEgABCtgICAAEUNAxC4gYCAAAwBCxCsgYCAACABQiCIp0kNA0EBIABCABC5gYCAAEEBEMGAgIAAQgAgAUKEgICAcIMiASABEICAgIAAGkH0hsCAAEEWENKAgIAAEMyAgIAAIQQgAiABNwMYIAIgAzcDECACIAA3AwggBEGQh8CAAEEDIAJBCGpBAxDNgICAABCHgICAABoLIAJBIGokgICAgABCAg8LAAtCg4CAgOCAARDAgICAAAALQoOAgIDwgAEQwICAgAAACxMAQQEQwYCAgABCABCRgICAABoLFQAgABDBgICAACABIAIQkoCAgAAaC6cBAgF/An4jgICAgABBEGsiACSAgICAACAAELOAgIAAAkAgACgCAEEBRw0AIAAoAgQgACgCCBC0gICAAAsgABC/gICAACAAKQMIIQEgACkDAEGICBC9gICAACABEIKAgIAAGiAAEMKAgIAAAkAgACgCAA0AEPeAgIAAAAsgACkDCCECELiBgIAAIAEQp4GAgAAgAiABELaBgIAAIABBEGokgICAgABCAgugAQIBfwJ+I4CAgIAAQRBrIgAkgICAgAAgABCzgICAAAJAIAAoAgBBAUcNACAAKAIEIAAoAggQtICAgAALELuAgIAAIQEQvoCAgABBABDBgICAAEICEJGAgIAAGkGoh8CAAEETENKAgIAAEMyAgIAAIQIgACABNwMAIAJBvIfAgABBASAAQQEQzYCAgAAQh4CAgAAaIABBEGokgICAgABCAguZAQEBfyOAgICAAEEQayIBJICAgIAAIAEgABDugICAAAJAAkAgASgCAEEBRg0AIAEpAwghACABELOAgIAAAkAgASgCAEEBRw0AIAEoAgQgASgCCBC0gICAAAsQuYCAgAAaELKAgIAADQFBARC9gYCAACAAEJaAgIAAGiABQRBqJICAgIAAQgIPCwALQoOAgIDAgwEQwICAgAAACwwAQQEgABDAgYCAAAuuAQEBfyOAgICAAEEQayIBJICAgIAAAkACQAJAIABC/wGDQsgAUg0AIAFBBGoQs4CAgAACQCABKAIEQQFHDQAgASgCCCABKAIMELSAgIAACxC5gICAABpBARC1gICAAEH9AXFFDQEgABCNgICAAEL/AYNCAlINAkEAEL2BgIAAIAFBEGokgICAgABCAg8LAAtCg4CAgLCDARDAgICAAAALQoOAgICggwEQwICAgAAAC1sBAX8jgICAgABBEGsiACSAgICAACAAQQRqELOAgIAAAkAgACgCBEEBRw0AIAAoAgggACgCDBC0gICAAAsQuYCAgAAaQQBBARDAgYCAACAAQRBqJICAgIAAQgILGgAgABDKgYCAACABrUL/AYNCAhCSgICAABoLCQAQsoCAgACtCwMAAAs7AAJAAkAgAUL//////////wBWDQAgAUIIhkIGhCEBDAELIAEQoYCAgAAhAQsgAEIANwMAIAAgATcDCAuWAQIBfgJ/IAApAwAhAQNAAkAgAVBFDQBBgIDEAA8LAkACQCABQjCIp0E/cSICQQFHDQBB3wAhAgwBCwJAAkACQCACQX9qQQtPDQBBLiEDDAELAkAgAkF0akEaTw0AQTUhAwwBCyACQSVNDQFBOyEDCyACIANqIQIMAQsgACABQgaGIgE3AwAMAQsLIAAgAUIGhjcDACACCxwAIAAgAa1CIIZCBIQgAq1CIIZCBIQQnYCAgAAL2wECAX4EfwJAAkAgAkEJSw0AQgAhAyACIQQgASEFA0ACQCAEDQAgA0IIhkIOhCEDDAMLQQEhBgJAIAUtAAAiB0HfAEYNAAJAIAdBUGpB/wFxQQpJDQACQCAHQb9/akH/AXFBGkkNACAHQZ9/akH/AXFBGUsNBCAHQUVqIQYMAgsgB0FLaiEGDAELIAdBUmohBgsgA0IGhiAGrUL/AYOEIQMgBEF/aiEEIAVBAWohBQwACwsgAa1CIIZCBIQgAq1CIIZCBIQQooCAgAAhAwsgAEIANwMAIAAgAzcDCAuzAgMBfwF+AX8jgICAgABBIGsiAiSAgICAAAJAAkAgAUL/AYNCywBRDQAgAEIBNwMADAELIAEQhICAgAAhAyACQQA2AgggAiABNwMAIAIgA0IgiD4CDCACQRBqIAIQ74CAgAACQCACKQMQIgFCAlENACABp0EBcQ0AAkAgAikDGCIBp0H/AXEiBEHKAEYNACAEQQ5HDQELAkAgAUGshsCAAEEBEMWBgIAAQv////8PVg0AIAIoAgggAigCDBDxgICAAEEBSw0AIAJBEGogAhDvgICAACACKQMQIgFCAlENACABp0EBcQ0AIAJBEGogAikDGBDugICAACACKAIQDQAgAikDGCEBIABCADcDACAAIAE3AwgMAgsgAEIBNwMADAELIABCATcDAAsgAkEgaiSAgICAAAutAQICfwF+I4CAgIAAQRBrIgIkgICAgABBACEDAkADQCADQRBGDQEgAiADakICNwMAIANBCGohAwwACwtBASEDAkAgAUL/AYNCzABSDQAgAUHgh8CAAEECIAJBAhDlgICAACACKQMAIgFC/wGDQgRSDQAgAikDCCIEQv8Bg0IEUg0AIAAgAUIgiKc2AgggACAEQiCIPgIEQQAhAwsgACADNgIAIAJBEGokgICAgAALYAIBfwF+I4CAgIAAQRBrIgMkgICAgAAgAyABrUIghkIEhDcDCCADIAKtQiCGQgSENwMAQeCHwIAAQQIgA0ECEM2AgIAAIQQgAEIANwMAIAAgBDcDCCADQRBqJICAgIAAC5IBAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkACQAJAIABBAXFFDQAgAUHOiMCAAEEJEMOAgIAAIAEoAgANAiABIAEpAwgQxICAgAAMAQsgAUG2iMCAAEEGEMOAgIAAIAEoAgANASABIAEpAwgQxICAgAALIAEpAwghAiABKQMAUA0BCwALIAFBEGokgICAgAAgAgt3AgJ/AX4jgICAgABBEGsiAiSAgICAAEEAIQMCQAJAIAEQt4CAgAAiBEICELiAgIAARQ0AIAJBBGogBEICEIGAgIAAEMiBgIAAQQEhAyACKAIEQQFGDQEgACACKQIINwIECyAAIAM2AgAgAkEQaiSAgICAAA8LAAtWAgF/AX4jgICAgABBEGsiAySAgICAACAAELeAgIAAIQQgAyABIAIQyYGAgAACQCADKAIAQQFHDQAACyAEIAMpAwhCAhCSgICAABogA0EQaiSAgICAAAsVACAAEOCAgIAAIAFCAhCSgICAABoLHAAgABDggICAACABrUIghkIEhEICEJKAgIAAGgu5BwEMfyOAgICAAEEQayEDAkACQCACQRBPDQAgACEEDAELAkAgACAAQQAgAGtBA3EiBWoiBk8NACAFQX9qIQcgACEEIAEhCAJAIAVFDQAgBSEJIAAhBCABIQgDQCAEIAgtAAA6AAAgCEEBaiEIIARBAWohBCAJQX9qIgkNAAsLIAdBB0kNAANAIAQgCC0AADoAACAEQQFqIAhBAWotAAA6AAAgBEECaiAIQQJqLQAAOgAAIARBA2ogCEEDai0AADoAACAEQQRqIAhBBGotAAA6AAAgBEEFaiAIQQVqLQAAOgAAIARBBmogCEEGai0AADoAACAEQQdqIAhBB2otAAA6AAAgCEEIaiEIIARBCGoiBCAGRw0ACwsgBiACIAVrIglBfHEiB2ohBAJAAkAgASAFaiIIQQNxIgENACAGIARPDQEgCCEBA0AgBiABKAIANgIAIAFBBGohASAGQQRqIgYgBEkNAAwCCwtBACECIANBADYCDCADQQxqIAFyIQUCQEEEIAFrIgpBAXFFDQAgBSAILQAAOgAAQQEhAgsCQCAKQQJxRQ0AIAUgAmogCCACai8BADsBAAsgCCABayECIAFBA3QhCyADKAIMIQUCQAJAIAZBBGogBEkNACAGIQwMAQtBACALa0EYcSENA0AgBiAFIAt2IAJBBGoiAigCACIFIA10cjYCACAGQQhqIQogBkEEaiIMIQYgCiAESQ0ACwtBACEGIANBADoACCADQQA6AAYCQAJAIAFBAUcNACADQQhqIQ1BACEBQQAhCkEAIQ4MAQsgAkEFai0AACEKIAMgAkEEai0AACIBOgAIIApBCHQhCkECIQ4gA0EGaiENCwJAIAhBAXFFDQAgDSACQQRqIA5qLQAAOgAAIAMtAAZBEHQhBiADLQAIIQELIAwgCiAGciABQf8BcXJBACALa0EYcXQgBSALdnI2AgALIAlBA3EhAiAIIAdqIQELAkAgBCAEIAJqIgZPDQAgAkF/aiEJAkAgAkEHcSIIRQ0AA0AgBCABLQAAOgAAIAFBAWohASAEQQFqIQQgCEF/aiIIDQALCyAJQQdJDQADQCAEIAEtAAA6AAAgBEEBaiABQQFqLQAAOgAAIARBAmogAUECai0AADoAACAEQQNqIAFBA2otAAA6AAAgBEEEaiABQQRqLQAAOgAAIARBBWogAUEFai0AADoAACAEQQZqIAFBBmotAAA6AAAgBEEHaiABQQdqLQAAOgAAIAFBCGohASAEQQhqIgQgBkcNAAsLIAALDgAgACABIAIQz4GAgAALC4oNAQBBgIDAAAuADUNvbnRyYWN0Q3JlYXRlQ29udHJhY3RIb3N0Rm5DcmVhdGVDb250cmFjdFdpdGhDdG9ySG9zdEZuAAAQAAgAAAAIABAAFAAAABwAEAAcAAAAZHN0X2NvbmZpZ19zZXRwYXJhbXNeABAABgAAAG5hdGl2ZV9kcm9wX2FwcGxpZWRuYXRpdmVfZHJvcF9wYXJhbXNvcmlnaW5zdWNjZXNzAAC2BRAABwAAAH8AEAASAAAAyAQQAAQAAACRABAABgAAAJcAEAAHAAAA9gEQABAAAAAgAhAAEwAAADMCEAATAAAAOgUQAA4AAABGAhAACgAAAGRzdF9jb25maWcAAPAAEAAKAAAAtgUQAAcAAAByZWNlaXZlcsgBEAAGAAAADAEQAAgAAABsel9yZWNlaXZlX2FsZXJ0bHpfY29tcG9zZV9hbGVydGx6X3JlY2VpdmVsel9jb21wb3NldHJhbnNmZXJwdWJsaWNfa2V5c2lnbmF0dXJlAGABEAAKAAAAagEQAAkAAABEc3RDb25maWdFbmRwb2ludG5vbmNlc3JjX2VpZAAAAJUBEAAFAAAADQIQAAYAAACaARAABwAAAG5hdGl2ZV90b2tlbmFtb3VudHRvyAEQAAYAAADOARAAAgAAAGRlZmF1bHRfbXVsdGlwbGllcl9icHNmbG9vcl9tYXJnaW5fdXNkb3B0aW9uc3NlbmRlcmNhbGxkYXRhX3NpemVsel9jb21wb3NlX2Jhc2VfZ2FzbHpfcmVjZWl2ZV9iYXNlX2dhc25hdGl2ZV9jYXATAhAADQAAAOABEAAWAAAAtgUQAAcAAAD2ARAAEAAAACACEAATAAAAMwIQABMAAAA6BRAADgAAAEYCEAAKAAAABgIQAAcAAACKBRAACgAAAA0CEAAGAAAAAAAAEgAAAAAAAAAAV2FzbWFyZ3Njb250cmFjdGZuX25hbWUAuAIQAAQAAAC8AhAACAAAAMQCEAAHAAAAZXhlY3V0YWJsZXNhbHQAAOQCEAAKAAAA7gIQAAQAAABjb25zdHJ1Y3Rvcl9hcmdzBAMQABAAAADkAhAACgAAAO4CEAAEAAAAtAIQAAQAAAB0aHJlc2hvbGRvd25lcnNoaXBfdHJhbnNmZXJyZWRuZXdfb3duZXJvbGRfb3duZXJSAxAACQAAAFsDEAAJAAAAb3duZXJzaGlwX3RyYW5zZmVycmluZ3R0bAAAAFIDEAAJAAAAWwMQAAkAAACKAxAAAwAAAG93bmVyc2hpcF9yZW5vdW5jZWQAWwMQAAkAAABPd25lclBlbmRpbmdPd25lcmV4dGVuZF90bwAA1QMQAAkAAAA0AxAACQAAAHR0bF9jb25maWdzX3NldGluc3RhbmNlcGVyc2lzdGVudAAAAP8DEAAIAAAABwQQAAoAAAB0dGxfY29uZmlnc19mcm96ZW5Gcm96ZW5JbnN0YW5jZVBlcnNpc3RlbnRNaWdyYXRpbmdhY3RpdmVhZG1pbgAAVwQQAAYAAABdBBAABQAAAHNldF9zdXBwb3J0ZWRfbWVzc2FnZV9saWJtZXNzYWdlX2xpYnN1cHBvcnRlZAAAAI0EEAALAAAAmAQQAAkAAABzZXRfYWxsb3dsaXN0YWxsb3dlZG9hcHDBBBAABwAAAMgEEAAEAAAAc2V0X2RlbnlsaXN0ZGVuaWVkAADoBBAABgAAAMgEEAAEAAAAcGF1c2VyAAAABRAABgAAAHVucGF1c2VyEAUQAAgAAABzZXRfZGVmYXVsdF9tdWx0aXBsaWVyX2Jwc211bHRpcGxpZXJfYnBzOgUQAA4AAABzZXRfZGVwb3NpdF9hZGRyZXNzZGVwb3NpdF9hZGRyZXNzAABjBRAADwAAAHNldF9wcmljZV9mZWVkcHJpY2VfZmVlZIoFEAAKAAAAc2V0X3N1cHBvcnRlZF9vcHRpb25fdHlwZXNkc3RfZWlkb3B0aW9uX3R5cGVzAAAAtgUQAAcAAAC9BRAADAAAAHNldF93b3JrZXJfZmVlX2xpYmZlZV9saWIAAADuBRAABwAAAFBhdXNlZEFkbWluc01lc3NhZ2VMaWJzQWxsb3dsaXN0QWxsb3dsaXN0U2l6ZURlbnlsaXN0RGVmYXVsdE11bHRpcGxpZXJCcHNEZXBvc2l0QWRkcmVzc1N1cHBvcnRlZE9wdGlvblR5cGVzV29ya2VyRmVlTGliUHJpY2VGZWVkANv0AQ5jb250cmFjdHNwZWN2MAAAAAQAAAAAAAAAAAAAAA1FeGVjdXRvckVycm9yAAAAAAAAAwAAAAAAAAAPRWlkTm90U3VwcG9ydGVkAAAAAAEAAAAAAAAADFVuYXV0aG9yaXplZAAAAAIAAAAAAAAAE1VuYXV0aG9yaXplZENvbnRleHQAAAAAAwAAAAUAAAAAAAAAAAAAAAxEc3RDb25maWdTZXQAAAABAAAADmRzdF9jb25maWdfc2V0AAAAAAABAAAAAAAAAAZwYXJhbXMAAAAAA+oAAAfQAAAAEVNldERzdENvbmZpZ1BhcmFtAAAAAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAARTmF0aXZlRHJvcEFwcGxpZWQAAAAAAAABAAAAE25hdGl2ZV9kcm9wX2FwcGxpZWQAAAAABQAAAAAAAAAGb3JpZ2luAAAAAAfQAAAABk9yaWdpbgAAAAAAAAAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAAAAAAAAAAAEb2FwcAAAABMAAAAAAAAAAAAAABJuYXRpdmVfZHJvcF9wYXJhbXMAAAAAA+oAAAfQAAAAEE5hdGl2ZURyb3BQYXJhbXMAAAAAAAAAAAAAAAdzdWNjZXNzAAAAA+oAAAABAAAAAAAAAAIAAAABAAAA20Rlc3RpbmF0aW9uIGNoYWluIGNvbmZpZ3VyYXRpb24gZm9yIGV4ZWN1dG9yIGZlZSBjYWxjdWxhdGlvbi4KCkNvbnRhaW5zIGdhcyBjb3N0cyBhbmQgZmVlIHBhcmFtZXRlcnMgc3BlY2lmaWMgdG8gZWFjaCBkZXN0aW5hdGlvbiBjaGFpbi4KVGhlc2UgcGFyYW1ldGVycyBhcmUgdXNlZCBieSB0aGUgZmVlIGxpYnJhcnkgdG8gY2FsY3VsYXRlIGFjY3VyYXRlIGV4ZWN1dGlvbiBmZWVzLgAAAAAAAAAACURzdENvbmZpZwAAAAAAAAUAAAA7TWluaW11bSBmZWUgbWFyZ2luIGluIFVTRCAoc2NhbGVkKSB0byBlbnN1cmUgcHJvZml0YWJpbGl0eS4AAAAAEGZsb29yX21hcmdpbl91c2QAAAAKAAAAOkJhc2UgZ2FzIGNvc3QgcGVyIGx6Q29tcG9zZSBjYWxsIG9uIHRoZSBkZXN0aW5hdGlvbiBjaGFpbi4AAAAAABNsel9jb21wb3NlX2Jhc2VfZ2FzAAAAAAYAAAA/QmFzZSBnYXMgY29zdCBmb3IgbHpSZWNlaXZlIGV4ZWN1dGlvbiBvbiB0aGUgZGVzdGluYXRpb24gY2hhaW4uAAAAABNsel9yZWNlaXZlX2Jhc2VfZ2FzAAAAAAYAAABRRmVlIG11bHRpcGxpZXIgaW4gYmFzaXMgcG9pbnRzIGZvciB0aGlzIGRlc3RpbmF0aW9uICgwID0gdXNlIGRlZmF1bHQgbXVsdGlwbGllcikuAAAAAAAADm11bHRpcGxpZXJfYnBzAAAAAAAEAAAARk1heGltdW0gbmF0aXZlIHRva2VuIHZhbHVlIHRoYXQgY2FuIGJlIHRyYW5zZmVycmVkIHRvIHRoZSBkZXN0aW5hdGlvbi4AAAAAAApuYXRpdmVfY2FwAAAAAAAKAAAAAQAAAHxQYXJhbWV0ZXJzIGZvciBzZXR0aW5nIGRlc3RpbmF0aW9uIGNvbmZpZ3VyYXRpb24uCgpVc2VkIHdoZW4gY29uZmlndXJpbmcgZXhlY3V0b3Igc2V0dGluZ3MgZm9yIGEgc3BlY2lmaWMgZGVzdGluYXRpb24gY2hhaW4uAAAAAAAAABFTZXREc3RDb25maWdQYXJhbQAAAAAAAAIAAAAoQ29uZmlndXJhdGlvbiBmb3IgdGhlIGRlc3RpbmF0aW9uIGNoYWluLgAAAApkc3RfY29uZmlnAAAAAAfQAAAACURzdENvbmZpZwAAAAAAACtEZXN0aW5hdGlvbiBlbmRwb2ludCBJRCAoY2hhaW4gaWRlbnRpZmllcikuAAAAAAdkc3RfZWlkAAAAAAQAAAABAAAAaFBhcmFtZXRlcnMgZm9yIGEgbmF0aXZlIHRva2VuIGRyb3AuCgpVc2VkIHRvIHNwZWNpZnkgbmF0aXZlIHRva2VuIHRyYW5zZmVycyBhcyBwYXJ0IG9mIGV4ZWN1dG9yIG9wdGlvbnMuAAAAAAAAABBOYXRpdmVEcm9wUGFyYW1zAAAAAgAAACRBbW91bnQgb2YgbmF0aXZlIHRva2VucyB0byB0cmFuc2Zlci4AAAAGYW1vdW50AAAAAAALAAAAL1JlY2VpdmVyIGFkZHJlc3MgZm9yIHRoZSBuYXRpdmUgdG9rZW4gdHJhbnNmZXIuAAAAAAhyZWNlaXZlcgAAABMAAAAAAAAAuFZlcmlmaWVzIGF1dGhvcml6YXRpb24gZm9yIHRoZSBleGVjdXRvciBjb250cmFjdC4KClRoZSBwdWJsaWMga2V5IG11c3QgY29ycmVzcG9uZCB0byBhIHJlZ2lzdGVyZWQgYWRtaW4gYW5kIG11c3QgaGF2ZSBzaWduZWQgdGhlIHNpZ25hdHVyZV9wYXlsb2FkLgpVc2VzIEVkMjU1MTkgc2lnbmF0dXJlIHZlcmlmaWNhdGlvbi4AAAAMX19jaGVja19hdXRoAAAAAwAAAAAAAAARc2lnbmF0dXJlX3BheWxvYWQAAAAAAAPuAAAAIAAAAAAAAAAJYXV0aF9kYXRhAAAAAAAH0AAAABFFeGVjdXRvclNpZ25hdHVyZQAAAAAAAAAAAAANYXV0aF9jb250ZXh0cwAAAAAAA+oAAAfQAAAAB0NvbnRleHQAAAAAAQAAA+kAAAPtAAAAAAAAAAMAAAABAAAAjFNpZ25hdHVyZSBkYXRhIGZvciBDdXN0b20gQWNjb3VudCBhdXRob3JpemF0aW9uLgpDb250YWlucyB0aGUgYWRtaW4ncyBwdWJsaWMga2V5IGFuZCB0aGVpciBFZDI1NTE5IHNpZ25hdHVyZSBvdmVyIHRoZSBhdXRob3JpemF0aW9uIHBheWxvYWQuAAAAAAAAABFFeGVjdXRvclNpZ25hdHVyZQAAAAAAAAIAAABNQWRtaW4ncyBFZDI1NTE5IHB1YmxpYyBrZXkgKDMyIGJ5dGVzKSAtIG11c3QgY29ycmVzcG9uZCB0byBhIHJlZ2lzdGVyZWQgYWRtaW4AAAAAAAAKcHVibGljX2tleQAAAAAD7gAAACAAAAA3RWQyNTUxOSBzaWduYXR1cmUgKDY0IGJ5dGVzKSBvdmVyIHRoZSBzaWduYXR1cmVfcGF5bG9hZAAAAAAJc2lnbmF0dXJlAAAAAAAD7gAAAEAAAAAAAAAA5FNldHMgdGhlIHBhdXNlZCBzdGF0ZSBvZiB0aGUgd29ya2VyLgoKV2hlbiBwYXVzZWQsIHRoZSB3b3JrZXIgd2lsbCByZWplY3QgbmV3IGpvYiBhc3NpZ25tZW50cyAoZS5nLiwgYXNzaWduX2pvYiwgZ2V0X2ZlZSkuCkV4aXN0aW5nIGpvYnMgaW4gcHJvZ3Jlc3MgYXJlIG5vdCBhZmZlY3RlZC4KCiMgQXJndW1lbnRzCiogYHBhdXNlZGAgLSBgdHJ1ZWAgdG8gcGF1c2UsIGBmYWxzZWAgdG8gdW5wYXVzZQAAAApzZXRfcGF1c2VkAAAAAAABAAAAAAAAAAZwYXVzZWQAAAAAAAEAAAAAAAAAAAAAAP1TZXRzIGFkbWluIHN0YXR1cyBmb3IgYW4gYWRkcmVzcy4KCkFkbWlucyBjYW4gY29uZmlndXJlIHdvcmtlciBzZXR0aW5ncyBsaWtlIGZlZSBtdWx0aXBsaWVycywgZGVwb3NpdCBhZGRyZXNzZXMsCmFuZCBzdXBwb3J0ZWQgb3B0aW9uIHR5cGVzLgoKIyBBcmd1bWVudHMKKiBgYWRtaW5gIC0gVGhlIGFkZHJlc3MgdG8gc2V0IGFkbWluIHN0YXR1cyBmb3IKKiBgYWN0aXZlYCAtIGB0cnVlYCB0byBhZGQgYWRtaW4sIGBmYWxzZWAgdG8gcmVtb3ZlAAAAAAAACXNldF9hZG1pbgAAAAAAAAIAAAAAAAAABWFkbWluAAAAAAAAEwAAAAAAAAAGYWN0aXZlAAAAAAABAAAAAAAAAAAAAAE3U2V0cyB3aGV0aGVyIGEgbWVzc2FnZSBsaWJyYXJ5IGlzIHN1cHBvcnRlZCBieSB0aGlzIHdvcmtlci4KCk1lc3NhZ2UgbGlicmFyaWVzIChlLmcuLCBVTE4zMDIpIGNhbGwgd29ya2VycyB0byBhc3NpZ24gam9icy4gT25seSBzdXBwb3J0ZWQKbGlicmFyaWVzIGNhbiBpbnRlcmFjdCB3aXRoIHRoaXMgd29ya2VyLgoKIyBBcmd1bWVudHMKKiBgbWVzc2FnZV9saWJgIC0gVGhlIG1lc3NhZ2UgbGlicmFyeSBjb250cmFjdCBhZGRyZXNzCiogYHN1cHBvcnRlZGAgLSBgdHJ1ZWAgdG8gYWRkIHN1cHBvcnQsIGBmYWxzZWAgdG8gcmVtb3ZlIHN1cHBvcnQAAAAAGXNldF9zdXBwb3J0ZWRfbWVzc2FnZV9saWIAAAAAAAACAAAAAAAAAAttZXNzYWdlX2xpYgAAAAATAAAAAAAAAAlzdXBwb3J0ZWQAAAAAAAABAAAAAAAAAAAAAAFYU2V0cyBhbGxvd2xpc3Qgc3RhdHVzIGZvciBhbiBPQXBwIGFkZHJlc3MuCgpXaGVuIHRoZSBhbGxvd2xpc3QgaXMgZW1wdHksIGFsbCBPQXBwcyBhcmUgYWxsb3dlZCAodW5sZXNzIG9uIGRlbnlsaXN0KS4KV2hlbiB0aGUgYWxsb3dsaXN0IGlzIG5vdCBlbXB0eSwgb25seSBhbGxvd2xpc3RlZCBPQXBwcyBhcmUgYWxsb3dlZC4KRGVueWxpc3QgYWx3YXlzIHRha2VzIHByZWNlZGVuY2Ugb3ZlciBhbGxvd2xpc3QuCgojIEFyZ3VtZW50cwoqIGBvYXBwYCAtIFRoZSBPQXBwIGNvbnRyYWN0IGFkZHJlc3MKKiBgYWxsb3dlZGAgLSBgdHJ1ZWAgdG8gYWRkIHRvIGFsbG93bGlzdCwgYGZhbHNlYCB0byByZW1vdmUAAAANc2V0X2FsbG93bGlzdAAAAAAAAAIAAAAAAAAABG9hcHAAAAATAAAAAAAAAAdhbGxvd2VkAAAAAAEAAAAAAAAAAAAAAQlTZXRzIGRlbnlsaXN0IHN0YXR1cyBmb3IgYW4gT0FwcCBhZGRyZXNzLgoKRGVueWxpc3RlZCBPQXBwcyBhcmUgYmxvY2tlZCBmcm9tIHVzaW5nIHRoaXMgd29ya2VyLCBldmVuIGlmIHRoZXkncmUgb24KdGhlIGFsbG93bGlzdCAoZGVueWxpc3QgdGFrZXMgcHJlY2VkZW5jZSkuCgojIEFyZ3VtZW50cwoqIGBvYXBwYCAtIFRoZSBPQXBwIGNvbnRyYWN0IGFkZHJlc3MKKiBgZGVuaWVkYCAtIGB0cnVlYCB0byBhZGQgdG8gZGVueWxpc3QsIGBmYWxzZWAgdG8gcmVtb3ZlAAAAAAAADHNldF9kZW55bGlzdAAAAAIAAAAAAAAABG9hcHAAAAATAAAAAAAAAAZkZW5pZWQAAAAAAAEAAAAAAAAAAAAAATtTZXRzIHRoZSBkZWZhdWx0IGZlZSBtdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cy4KClRoZSBtdWx0aXBsaWVyIGlzIGFwcGxpZWQgdG8gYmFzZSBmZWVzIGR1cmluZyBmZWUgY2FsY3VsYXRpb24uIFVzZWQgd2hlbgpubyBkZXN0aW5hdGlvbi1zcGVjaWZpYyBtdWx0aXBsaWVyIGlzIGNvbmZpZ3VyZWQuCgojIEFyZ3VtZW50cwoqIGBhZG1pbmAgLSBBZG1pbiBhZGRyZXNzIChtdXN0IHByb3ZpZGUgYXV0aG9yaXphdGlvbikKKiBgbXVsdGlwbGllcl9icHNgIC0gTXVsdGlwbGllciBpbiBiYXNpcyBwb2ludHMgKDEwMDAwID0gMXgsIDEyMDAwID0gMS4yeCkAAAAAGnNldF9kZWZhdWx0X211bHRpcGxpZXJfYnBzAAAAAAACAAAAAAAAAAVhZG1pbgAAAAAAABMAAAAAAAAADm11bHRpcGxpZXJfYnBzAAAAAAAEAAAAAAAAAAAAAADxU2V0cyB0aGUgZGVwb3NpdCBhZGRyZXNzIHdoZXJlIHdvcmtlciBmZWVzIGFyZSBjb2xsZWN0ZWQuCgpXaGVuIGpvYnMgYXJlIGFzc2lnbmVkLCBmZWVzIGFyZSBkaXJlY3RlZCB0byB0aGlzIGFkZHJlc3MuCgojIEFyZ3VtZW50cwoqIGBhZG1pbmAgLSBBZG1pbiBhZGRyZXNzIChtdXN0IHByb3ZpZGUgYXV0aG9yaXphdGlvbikKKiBgZGVwb3NpdF9hZGRyZXNzYCAtIEFkZHJlc3MgdG8gcmVjZWl2ZSBjb2xsZWN0ZWQgZmVlcwAAAAAAABNzZXRfZGVwb3NpdF9hZGRyZXNzAAAAAAIAAAAAAAAABWFkbWluAAAAAAAAEwAAAAAAAAAPZGVwb3NpdF9hZGRyZXNzAAAAABMAAAAAAAAAAAAAAQlTZXRzIHN1cHBvcnRlZCBleGVjdXRvciBvcHRpb24gdHlwZXMgZm9yIGEgZGVzdGluYXRpb24gZW5kcG9pbnQuCgojIEFyZ3VtZW50cwoqIGBhZG1pbmAgLSBBZG1pbiBhZGRyZXNzIChtdXN0IHByb3ZpZGUgYXV0aG9yaXphdGlvbikKKiBgZWlkYCAtIERlc3RpbmF0aW9uIGVuZHBvaW50IElEIChjaGFpbiBpZGVudGlmaWVyKQoqIGBvcHRpb25fdHlwZXNgIC0gU3VwcG9ydGVkIG9wdGlvbiB0eXBlcy4gRWFjaCBieXRlIHJlcHJlc2VudHMgYW4gb3B0aW9uIHR5cGUuAAAAAAAAGnNldF9zdXBwb3J0ZWRfb3B0aW9uX3R5cGVzAAAAAAADAAAAAAAAAAVhZG1pbgAAAAAAABMAAAAAAAAAA2VpZAAAAAAEAAAAAAAAAAxvcHRpb25fdHlwZXMAAAAOAAAAAAAAAAAAAAESU2V0cyB0aGUgd29ya2VyIGZlZSBsaWJyYXJ5IGNvbnRyYWN0IGFkZHJlc3MuCgpUaGUgZmVlIGxpYnJhcnkgY2FsY3VsYXRlcyBmZWVzIGJhc2VkIG9uIGV4ZWN1dG9yIG9wdGlvbnMgYW5kIHByaWNlIGZlZWQgZGF0YS4KCiMgQXJndW1lbnRzCiogYGFkbWluYCAtIEFkbWluIGFkZHJlc3MgKG11c3QgcHJvdmlkZSBhdXRob3JpemF0aW9uKQoqIGB3b3JrZXJfZmVlX2xpYmAgLSBGZWUgbGlicmFyeSBjb250cmFjdCBhZGRyZXNzIGltcGxlbWVudGluZyBgSUV4ZWN1dG9yRmVlTGliYAAAAAAAEnNldF93b3JrZXJfZmVlX2xpYgAAAAAAAgAAAAAAAAAFYWRtaW4AAAAAAAATAAAAAAAAAA53b3JrZXJfZmVlX2xpYgAAAAAAEwAAAAAAAAAAAAABElNldHMgdGhlIHByaWNlIGZlZWQgY29udHJhY3QgYWRkcmVzcy4KClRoZSBwcmljZSBmZWVkIHByb3ZpZGVzIGdhcyBwcmljZXMgYW5kIGV4Y2hhbmdlIHJhdGVzIGZvciBjcm9zcy1jaGFpbgpmZWUgY2FsY3VsYXRpb25zLgoKIyBBcmd1bWVudHMKKiBgYWRtaW5gIC0gQWRtaW4gYWRkcmVzcyAobXVzdCBwcm92aWRlIGF1dGhvcml6YXRpb24pCiogYHByaWNlX2ZlZWRgIC0gUHJpY2UgZmVlZCBjb250cmFjdCBhZGRyZXNzIGltcGxlbWVudGluZyBgSUxheWVyWmVyb1ByaWNlRmVlZGAAAAAAAA5zZXRfcHJpY2VfZmVlZAAAAAAAAgAAAAAAAAAFYWRtaW4AAAAAAAATAAAAAAAAAApwcmljZV9mZWVkAAAAAAATAAAAAAAAAAAAAAAlUmV0dXJucyB3aGV0aGVyIHRoZSB3b3JrZXIgaXMgcGF1c2VkLgAAAAAAAAZwYXVzZWQAAAAAAAAAAAABAAAAAQAAAAAAAABVUmV0dXJucyB3aGV0aGVyIGFuIGFkZHJlc3MgaXMgYW4gYWRtaW4uCgojIEFyZ3VtZW50cwoqIGBhZG1pbmAgLSBUaGUgYWRkcmVzcyB0byBjaGVjawAAAAAAAAhpc19hZG1pbgAAAAEAAAAAAAAABWFkbWluAAAAAAAAEwAAAAEAAAABAAAAAAAAABxSZXR1cm5zIGFsbCBhZG1pbiBhZGRyZXNzZXMuAAAABmFkbWlucwAAAAAAAAAAAAEAAAPqAAAAEwAAAAAAAABvUmV0dXJucyB3aGV0aGVyIGEgbWVzc2FnZSBsaWJyYXJ5IGlzIHN1cHBvcnRlZC4KCiMgQXJndW1lbnRzCiogYG1lc3NhZ2VfbGliYCAtIE1lc3NhZ2UgbGlicmFyeSBjb250cmFjdCBhZGRyZXNzAAAAABhpc19zdXBwb3J0ZWRfbWVzc2FnZV9saWIAAAABAAAAAAAAAAttZXNzYWdlX2xpYgAAAAATAAAAAQAAAAEAAAAAAAAAc1JldHVybnMgYWxsIHN1cHBvcnRlZCBtZXNzYWdlIGxpYnJhcnkgYWRkcmVzc2VzLgoKIyBSZXR1cm5zClZlY3RvciBvZiBzdXBwb3J0ZWQgbWVzc2FnZSBsaWJyYXJ5IGNvbnRyYWN0IGFkZHJlc3Nlcy4AAAAADG1lc3NhZ2VfbGlicwAAAAAAAAABAAAD6gAAABMAAAAAAAAAWlJldHVybnMgd2hldGhlciBhbiBPQXBwIGlzIG9uIHRoZSBhbGxvd2xpc3QuCgojIEFyZ3VtZW50cwoqIGBvYXBwYCAtIE9BcHAgY29udHJhY3QgYWRkcmVzcwAAAAAAD2lzX29uX2FsbG93bGlzdAAAAAABAAAAAAAAAARvYXBwAAAAEwAAAAEAAAABAAAAAAAAADFSZXR1cm5zIHRoZSBudW1iZXIgb2YgYWRkcmVzc2VzIG9uIHRoZSBhbGxvd2xpc3QuAAAAAAAADmFsbG93bGlzdF9zaXplAAAAAAAAAAAAAQAAAAQAAAAAAAAAWVJldHVybnMgd2hldGhlciBhbiBPQXBwIGlzIG9uIHRoZSBkZW55bGlzdC4KCiMgQXJndW1lbnRzCiogYG9hcHBgIC0gT0FwcCBjb250cmFjdCBhZGRyZXNzAAAAAAAADmlzX29uX2RlbnlsaXN0AAAAAAABAAAAAAAAAARvYXBwAAAAEwAAAAEAAAABAAAAAAAAAPlSZXR1cm5zIHdoZXRoZXIgYW4gT0FwcCBoYXMgYWNjZXNzIGNvbnRyb2wgbGlzdCAoQUNMKSBwZXJtaXNzaW9uLgoKQUNMIGV2YWx1YXRpb24gb3JkZXI6CjEuIElmIG9uIGRlbnlsaXN0IOKGkiBkZW5pZWQKMi4gSWYgYWxsb3dsaXN0IGlzIGVtcHR5IE9SIG9uIGFsbG93bGlzdCDihpIgYWxsb3dlZAozLiBPdGhlcndpc2Ug4oaSIGRlbmllZAoKIyBBcmd1bWVudHMKKiBgb2FwcGAgLSBPQXBwIGNvbnRyYWN0IGFkZHJlc3MgdG8gY2hlY2sAAAAAAAAHaGFzX2FjbAAAAAABAAAAAAAAAARvYXBwAAAAEwAAAAEAAAABAAAAAAAAADNSZXR1cm5zIHRoZSBkZWZhdWx0IGZlZSBtdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cy4AAAAAFmRlZmF1bHRfbXVsdGlwbGllcl9icHMAAAAAAAAAAAABAAAABAAAAAAAAAA1UmV0dXJucyB0aGUgZGVwb3NpdCBhZGRyZXNzIHdoZXJlIGZlZXMgYXJlIGNvbGxlY3RlZC4AAAAAAAAPZGVwb3NpdF9hZGRyZXNzAAAAAAAAAAABAAAD6AAAABMAAAAAAAAAfFJldHVybnMgc3VwcG9ydGVkIG9wdGlvbiB0eXBlcyBmb3IgYSBkZXN0aW5hdGlvbiBlbmRwb2ludC4KCiMgQXJndW1lbnRzCiogYGVpZGAgLSBEZXN0aW5hdGlvbiBlbmRwb2ludCBJRCAoY2hhaW4gaWRlbnRpZmllcikAAAAaZ2V0X3N1cHBvcnRlZF9vcHRpb25fdHlwZXMAAAAAAAEAAAAAAAAAA2VpZAAAAAAEAAAAAQAAA+gAAAAOAAAAAAAAADBSZXR1cm5zIHRoZSB3b3JrZXIgZmVlIGxpYnJhcnkgY29udHJhY3QgYWRkcmVzcy4AAAAOd29ya2VyX2ZlZV9saWIAAAAAAAAAAAABAAAD6AAAABMAAAAAAAAAKFJldHVybnMgdGhlIHByaWNlIGZlZWQgY29udHJhY3QgYWRkcmVzcy4AAAAKcHJpY2VfZmVlZAAAAAAAAAAAAAEAAAPoAAAAEwAAAAAAAABEQXNzaWducyBhIGpvYiB0byB0aGUgZXhlY3V0b3IgYW5kIHJldHVybnMgZmVlIHJlY2lwaWVudCBpbmZvcm1hdGlvbi4AAAAKYXNzaWduX2pvYgAAAAAABQAAAAAAAAAIc2VuZF9saWIAAAATAAAAAAAAAAZzZW5kZXIAAAAAABMAAAAAAAAAB2RzdF9laWQAAAAABAAAAAAAAAANY2FsbGRhdGFfc2l6ZQAAAAAAAAQAAAAAAAAAB29wdGlvbnMAAAAADgAAAAEAAAfQAAAADEZlZVJlY2lwaWVudAAAAAAAAAA3Q2FsY3VsYXRlcyB0aGUgZXhlY3V0aW9uIGZlZSBmb3IgYSBjcm9zcy1jaGFpbiBtZXNzYWdlLgAAAAAHZ2V0X2ZlZQAAAAAFAAAAAAAAAAhzZW5kX2xpYgAAABMAAAAAAAAABnNlbmRlcgAAAAAAEwAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAAAAAA1jYWxsZGF0YV9zaXplAAAAAAAABAAAAAAAAAAHb3B0aW9ucwAAAAAOAAAAAQAAAAsAAAAAAAAAQFNldHMgZGVzdGluYXRpb24tc3BlY2lmaWMgY29uZmlndXJhdGlvbnMgZm9yIG11bHRpcGxlIGVuZHBvaW50cy4AAAAOc2V0X2RzdF9jb25maWcAAAAAAAIAAAAAAAAABWFkbWluAAAAAAAAEwAAAAAAAAAGcGFyYW1zAAAAAAPqAAAH0AAAABFTZXREc3RDb25maWdQYXJhbQAAAAAAAAAAAAAAAAAAPlJldHVybnMgdGhlIGRlc3RpbmF0aW9uIGNvbmZpZ3VyYXRpb24gZm9yIGEgc3BlY2lmaWMgZW5kcG9pbnQuAAAAAAAKZHN0X2NvbmZpZwAAAAAAAQAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAQAAA+gAAAfQAAAACURzdENvbmZpZwAAAAAAAAAAAACRTmF0aXZlIHRva2VuIGRyb3BzLgoKVHJhbnNmZXJzIG5hdGl2ZSB0b2tlbnMgdG8gZWFjaCByZWNlaXZlciBzcGVjaWZpZWQgaW4gdGhlIHBhcmFtZXRlcnMgYW5kCnRyYWNrcyB0aGUgc3VjY2Vzcy9mYWlsdXJlIHN0YXR1cyBvZiBlYWNoIHRyYW5zZmVyLgAAAAAAAAtuYXRpdmVfZHJvcAAAAAAFAAAAAAAAAAVhZG1pbgAAAAAAABMAAAAAAAAABm9yaWdpbgAAAAAH0AAAAAZPcmlnaW4AAAAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAAAAAARvYXBwAAAAEwAAAAAAAAASbmF0aXZlX2Ryb3BfcGFyYW1zAAAAAAPqAAAH0AAAABBOYXRpdmVEcm9wUGFyYW1zAAAAAAAAAAAAAAAqUmV0dXJucyB0aGUgZW5kcG9pbnQgYWRkcmVzcyBmcm9tIHN0b3JhZ2UuAAAAAAAIZW5kcG9pbnQAAAAAAAAAAQAAABMAAAAAAAACSUluaXRpYWxpemVzIHRoZSBleGVjdXRvciBjb250cmFjdC4KClNldHMgdXAgb3duZXJzaGlwLCB3b3JrZXIgY29uZmlndXJhdGlvbiwgYW5kIGVuZHBvaW50IGFkZHJlc3MuCgojIEFyZ3VtZW50cwoqIGBlbmRwb2ludGAgLSBMYXllclplcm8gRW5kcG9pbnQgVjIgY29udHJhY3QgYWRkcmVzcwoqIGBvd25lcmAgLSBDb250cmFjdCBvd25lciBhZGRyZXNzCiogYGFkbWluc2AgLSBJbml0aWFsIGFkbWluIGFkZHJlc3NlcyAobXVzdCBub3QgYmUgZW1wdHkpCiogYG1lc3NhZ2VfbGlic2AgLSBTdXBwb3J0ZWQgbWVzc2FnZSBsaWJyYXJ5IGFkZHJlc3NlcyAoZS5nLiwgVUxOMzAyKQoqIGBwcmljZV9mZWVkYCAtIFByaWNlIGZlZWQgY29udHJhY3QgYWRkcmVzcyBmb3IgZmVlIGNhbGN1bGF0aW9ucwoqIGBkZWZhdWx0X211bHRpcGxpZXJfYnBzYCAtIERlZmF1bHQgZmVlIG11bHRpcGxpZXIgaW4gYmFzaXMgcG9pbnRzICgxMDAwMCA9IDF4KQoqIGB3b3JrZXJfZmVlX2xpYmAgLSBXb3JrZXIgZmVlIGxpYnJhcnkgY29udHJhY3QgYWRkcmVzcwoqIGBkZXBvc2l0X2FkZHJlc3NgIC0gQWRkcmVzcyB0byByZWNlaXZlIGZlZSBwYXltZW50cwAAAAAAAA1fX2NvbnN0cnVjdG9yAAAAAAAACAAAAAAAAAAIZW5kcG9pbnQAAAATAAAAAAAAAAVvd25lcgAAAAAAABMAAAAAAAAABmFkbWlucwAAAAAD6gAAABMAAAAAAAAADG1lc3NhZ2VfbGlicwAAA+oAAAATAAAAAAAAAApwcmljZV9mZWVkAAAAAAATAAAAAAAAABZkZWZhdWx0X211bHRpcGxpZXJfYnBzAAAAAAAEAAAAAAAAAA53b3JrZXJfZmVlX2xpYgAAAAAAEwAAAAAAAAAPZGVwb3NpdF9hZGRyZXNzAAAAABMAAAAAAAAAAAAAALJXaXRoZHJhd3MgYSB0b2tlbiBmcm9tIHRoZSBjb250cmFjdCB0byBhIHNwZWNpZmllZCBhZGRyZXNzLgoKIyBBcmd1bWVudHMKKiBgdG9rZW5gIC0gVGhlIHRva2VuIGNvbnRyYWN0IGFkZHJlc3MKKiBgdG9gIC0gVGhlIHJlY2lwaWVudCBhZGRyZXNzCiogYGFtb3VudGAgLSBUaGUgYW1vdW50IHRvIHdpdGhkcmF3AAAAAAAOd2l0aGRyYXdfdG9rZW4AAAAAAAQAAAAAAAAABWFkbWluAAAAAAAAEwAAAAAAAAAFdG9rZW4AAAAAAAATAAAAAAAAAAJ0bwAAAAAAEwAAAAAAAAAGYW1vdW50AAAAAAALAAAAAAAAAAAAAAAAAAAACmF1dGhvcml6ZXIAAAAAAAAAAAABAAAAEwAAAAIAAAAAAAAAAAAAAA9FeGVjdXRvclN0b3JhZ2UAAAAAAgAAAAEAAAAAAAAACURzdENvbmZpZwAAAAAAAAEAAAAEAAAAAAAAAAAAAAAIRW5kcG9pbnQAAAAAAAABj1NldHMgVFRMIGNvbmZpZ3MgZm9yIGluc3RhbmNlIGFuZCBwZXJzaXN0ZW50IHN0b3JhZ2UuCgotIGBOb25lYCB2YWx1ZXMgcmVtb3ZlIHRoZSBjb3JyZXNwb25kaW5nIGNvbmZpZyAoZGlzYWJsZXMgYXV0by1leHRlbnNpb24gZm9yIHRoYXQgdHlwZSkKLSBWYWxpZGF0ZXMgdGhhdCBgdGhyZXNob2xkIDw9IGV4dGVuZF90byA8PSBNQVhfVFRMYAoKIyBBcmd1bWVudHMKLSBgaW5zdGFuY2VgIC0gVFRMIGNvbmZpZyBmb3IgaW5zdGFuY2Ugc3RvcmFnZQotIGBwZXJzaXN0ZW50YCAtIFRUTCBjb25maWcgZm9yIHBlcnNpc3RlbnQgc3RvcmFnZQoKIyBQYW5pY3MKLSBgVHRsQ29uZmlnRnJvemVuYCBpZiBjb25maWdzIGFyZSBmcm96ZW4KLSBgSW52YWxpZFR0bENvbmZpZ2AgaWYgdmFsaWRhdGlvbiBmYWlscwAAAAAPc2V0X3R0bF9jb25maWdzAAAAAAIAAAAAAAAACGluc3RhbmNlAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAApwZXJzaXN0ZW50AAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAAAAAEhSZXR1cm5zIHRoZSBjdXJyZW50IFRUTCBjb25maWdzIGFzIChpbnN0YW5jZV9jb25maWcsIHBlcnNpc3RlbnRfY29uZmlnKS4AAAALdHRsX2NvbmZpZ3MAAAAAAAAAAAEAAAPtAAAAAgAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAADhUGVybWFuZW50bHkgZnJlZXplcyBUVEwgY29uZmlncywgcHJldmVudGluZyBhbnkgZnV0dXJlIG1vZGlmaWNhdGlvbnMuCgpUaGlzIGlzIGlycmV2ZXJzaWJsZSBhbmQgcHJvdmlkZXMgaW1tdXRhYmlsaXR5IGd1YXJhbnRlZXMgdG8gdXNlcnMuCkVtaXRzIGBUdGxDb25maWdzRnJvemVuYCBldmVudC4KCiMgUGFuaWNzCi0gYFR0bENvbmZpZ0FscmVhZHlGcm96ZW5gIGlmIGFscmVhZHkgZnJvemVuAAAAAAAAEmZyZWV6ZV90dGxfY29uZmlncwAAAAAAAAAAAAAAAAAAAAAAJ1JldHVybnMgd2hldGhlciBUVEwgY29uZmlncyBhcmUgZnJvemVuLgAAAAAVaXNfdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAAEAAAABAAAAAAAAAKVFeHRlbmRzIHRoZSBpbnN0YW5jZSBUVEwuCgojIEFyZ3VtZW50cwoKKiBgdGhyZXNob2xkYCAtIFRoZSB0aHJlc2hvbGQgdG8gZXh0ZW5kIHRoZSBUVEwgKGlmIGN1cnJlbnQgVFRMIGlzIGJlbG93IHRoaXMsIGV4dGVuZCkuCiogYGV4dGVuZF90b2AgLSBUaGUgVFRMIHRvIGV4dGVuZCB0by4AAAAAAAATZXh0ZW5kX2luc3RhbmNlX3R0bAAAAAACAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAlleHRlbmRfdG8AAAAAAAAEAAAAAAAAAAAAAAA+UmV0dXJucyB0aGUgY3VycmVudCBvd25lciBhZGRyZXNzLCBvciBOb25lIGlmIG5vIG93bmVyIGlzIHNldC4AAAAAAAVvd25lcgAAAAAAAAAAAAABAAAD6AAAABMAAAAAAAAAWVJldHVybnMgdGhlIHBlbmRpbmcgb3duZXIgYWRkcmVzcyBmb3IgMi1zdGVwIHRyYW5zZmVyLCBvciBOb25lIGlmIG5vIHRyYW5zZmVyIGlzIHBlbmRpbmcuAAAAAAAADXBlbmRpbmdfb3duZXIAAAAAAAAAAAAAAQAAA+gAAAATAAAAAAAAAStUcmFuc2ZlcnMgb3duZXJzaGlwIGltbWVkaWF0ZWx5IHRvIGEgbmV3IGFkZHJlc3MuCgpVc2Ugd2l0aCBjYXV0aW9uIC0gaWYgeW91IHRyYW5zZmVyIHRvIGEgd3JvbmcgYWRkcmVzcywgb3duZXJzaGlwIGlzIGxvc3QgZm9yZXZlci4KQ29uc2lkZXIgdXNpbmcgYHByb3Bvc2Vfb3duZXJzaGlwX3RyYW5zZmVyYCBpbnN0ZWFkLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgVHJhbnNmZXJJblByb2dyZXNzYCBpZiBhIDItc3RlcCB0cmFuc2ZlciBpcyBpbiBwcm9ncmVzcwAAAAASdHJhbnNmZXJfb3duZXJzaGlwAAAAAAABAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAAAAAJcUHJvcG9zZXMgYW4gb3duZXJzaGlwIHRyYW5zZmVyIHRvIGEgbmV3IGFkZHJlc3MuCgpUaGUgbmV3IG93bmVyIG11c3QgY2FsbCBgYWNjZXB0X293bmVyc2hpcCgpYCB3aXRoaW4gYHR0bGAgbGVkZ2Vycwp0byBjb21wbGV0ZSB0aGUgdHJhbnNmZXIuIFRoZSBwZW5kaW5nIHRyYW5zZmVyIHdpbGwgYXV0b21hdGljYWxseSBleHBpcmUgYWZ0ZXIuCgojIEFyZ3VtZW50cwotIGBuZXdfb3duZXJgIC0gVGhlIHByb3Bvc2VkIG5ldyBvd25lcgotIGB0dGxgIC0gTnVtYmVyIG9mIGxlZGdlcnMgdGhlIG5ldyBvd25lciBoYXMgdG8gYWNjZXB0LgpVc2UgYDBgIHRvIGNhbmNlbCBhIHBlbmRpbmcgdHJhbnNmZXIgKG5ld19vd25lciBtdXN0IG1hdGNoIHBlbmRpbmcpLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgTm9QZW5kaW5nVHJhbnNmZXJgIHdoZW4gY2FuY2VsbGluZyBhbmQgbm8gcGVuZGluZyB0cmFuc2ZlciBleGlzdHMKLSBgSW52YWxpZFR0bGAgaWYgdHRsIGV4Y2VlZHMgbWF4IFRUTAotIGBJbnZhbGlkUGVuZGluZ093bmVyYCB3aGVuIGNhbmNlbGxpbmcgd2l0aCB3cm9uZyBuZXdfb3duZXIgYWRkcmVzcwAAABpwcm9wb3NlX293bmVyc2hpcF90cmFuc2ZlcgAAAAAAAgAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAADdHRsAAAAAAQAAAAAAAAAAAAAALlBY2NlcHRzIGEgcGVuZGluZyAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyLgoKTXVzdCBiZSBjYWxsZWQgYnkgdGhlIHBlbmRpbmcgb3duZXIgYmVmb3JlIHRoZSBUVEwgZXhwaXJlcy4KCiMgUGFuaWNzCi0gYE5vUGVuZGluZ1RyYW5zZmVyYCBpZiB0aGVyZSBpcyBubyBwZW5kaW5nIHRyYW5zZmVyIChvciBpdCBleHBpcmVkKQAAAAAAABBhY2NlcHRfb3duZXJzaGlwAAAAAAAAAAAAAAAAAAAApFBlcm1hbmVudGx5IHJlbm91bmNlcyBvd25lcnNoaXAuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBUcmFuc2ZlckluUHJvZ3Jlc3NgIGlmIGEgMi1zdGVwIHRyYW5zZmVyIGlzIGluIHByb2dyZXNzIChjYW5jZWwgaXQgZmlyc3QpAAAAEnJlbm91bmNlX293bmVyc2hpcAAAAAAAAAAAAAAAAAAAAAAAlVRoZSB0eXBlIG9mIGRhdGEgcmVxdWlyZWQgZm9yIG1pZ3JhdGlvbi4KVXBncmFkZXMgdGhlIGNvbnRyYWN0IHRvIG5ldyBXQVNNIGJ5dGVjb2RlLgpTZXRzIGEgbWlncmF0aW9uIGZsYWcgdGhhdCBtdXN0IGJlIGNsZWFyZWQgYnkgY2FsbGluZyBgbWlncmF0ZWAuAAAAAAAAB3VwZ3JhZGUAAAAAAQAAAAAAAAANbmV3X3dhc21faGFzaAAAAAAAA+4AAAAgAAAAAAAAAAAAAAB2UnVucyBtaWdyYXRpb24gbG9naWMgYWZ0ZXIgYW4gdXBncmFkZS4KQ2FuIG9ubHkgYmUgY2FsbGVkIHdoZW4gdGhlIG1pZ3JhdGlvbiBmbGFnIGlzIHNldCBieSBhIHByZXZpb3VzIGB1cGdyYWRlYCBjYWxsLgAAAAAAB21pZ3JhdGUAAAAAAQAAAAAAAAAObWlncmF0aW9uX2RhdGEAAAAAAA4AAAAAAAAAAAAAAF5QZXJtYW5lbnRseSBmcmVlemVzIHRoZSBjb250cmFjdCwgcHJldmVudGluZyBhbnkgZnV0dXJlIHVwZ3JhZGVzLgpUaGlzIGFjdGlvbiBpcyBpcnJldmVyc2libGUuAAAAAAAGZnJlZXplAAAAAAAAAAAAAAAAAAAAAAA7UmV0dXJucyB3aGV0aGVyIHRoZSBjb250cmFjdCBpcyBmcm96ZW4gKHVwZ3JhZGVzIGRpc2FibGVkKS4AAAAACWlzX2Zyb3plbgAAAAAAAAAAAAABAAAAAQAAAAQAAAAAAAAAAAAAAA1FbmRwb2ludEVycm9yAAAAAAAAGQAAAAAAAAARQWxyZWFkeVJlZ2lzdGVyZWQAAAAAAAABAAAAAAAAAA1Db21wb3NlRXhpc3RzAAAAAAAAAgAAAAAAAAAPQ29tcG9zZU5vdEZvdW5kAAAAAAMAAAAAAAAAHERlZmF1bHRSZWNlaXZlTGliVW5hdmFpbGFibGUAAAAEAAAAAAAAABlEZWZhdWx0U2VuZExpYlVuYXZhaWxhYmxlAAAAAAAABQAAAAAAAAAVSW5zdWZmaWNpZW50TmF0aXZlRmVlAAAAAAAABgAAAAAAAAASSW5zdWZmaWNpZW50WnJvRmVlAAAAAAAHAAAAAAAAABBJbnZhbGlkRmVlQW1vdW50AAAACAAAAAAAAAANSW52YWxpZEV4cGlyeQAAAAAAAAkAAAAAAAAADEludmFsaWRJbmRleAAAAAoAAAAAAAAADEludmFsaWROb25jZQAAAAsAAAAAAAAAEkludmFsaWRQYXlsb2FkSGFzaAAAAAAADAAAAAAAAAAVSW52YWxpZFJlY2VpdmVMaWJyYXJ5AAAAAAAADQAAAAAAAAART25seU5vbkRlZmF1bHRMaWIAAAAAAAAOAAAAAAAAAA5Pbmx5UmVjZWl2ZUxpYgAAAAAADwAAAAAAAAART25seVJlZ2lzdGVyZWRMaWIAAAAAAAAQAAAAAAAAAAtPbmx5U2VuZExpYgAAAAARAAAAAAAAABRQYXRoTm90SW5pdGlhbGl6YWJsZQAAABIAAAAAAAAAEVBhdGhOb3RWZXJpZmlhYmxlAAAAAAAAEwAAAAAAAAATUGF5bG9hZEhhc2hOb3RGb3VuZAAAAAAUAAAAAAAAAAlTYW1lVmFsdWUAAAAAAAAVAAAAAAAAAAxVbmF1dGhvcml6ZWQAAAAWAAAAAAAAAA5VbnN1cHBvcnRlZEVpZAAAAAAAFwAAAAAAAAAKWmVyb1pyb0ZlZQAAAAAAGAAAAAAAAAAOWnJvVW5hdmFpbGFibGUAAAAAABkAAAAFAAAAAAAAAAAAAAAKUGFja2V0U2VudAAAAAAAAQAAAAtwYWNrZXRfc2VudAAAAAADAAAAAAAAAA5lbmNvZGVkX3BhY2tldAAAAAAADgAAAAAAAAAAAAAAB29wdGlvbnMAAAAADgAAAAAAAAAAAAAADHNlbmRfbGlicmFyeQAAABMAAAAAAAAAAgAAAAUAAAAAAAAAAAAAAA5QYWNrZXRWZXJpZmllZAAAAAAAAQAAAA9wYWNrZXRfdmVy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AAAAAAAFaW5kZXgAAAAAAAAEAAAAAQAAAAAAAAADZ2FzAAAAAAsAAAAAAAAAAAAAAAV2YWx1ZQAAAAAAAAsAAAAAAAAAAAAAAAdtZXNzYWdlAAAAAA4AAAAAAAAAAAAAAApleHRyYV9kYXRhAAAAAAAOAAAAAAAAAAAAAAAGcmVhc29uAAAAAAAOAAAAAAAAAAIAAAABAAAALVBhcmFtZXRlcnMgZm9yIHNlbmRpbmcgYSBjcm9zcy1jaGFpbiBtZXNzYWdlLgAAAAAAAAAAAAAPTWVzc2FnaW5nUGFyYW1zAAAAAAUAAAArRGVzdGluYXRpb24gZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpLgAAAAAHZHN0X2VpZAAAAAAEAAAAHFRoZSBtZXNzYWdlIHBheWxvYWQgdG8gc2VuZC4AAAAHbWVzc2FnZQAAAAAOAAAAIUVuY29kZWQgZXhlY3V0b3IgYW5kIERWTiBvcHRpb25zLgAAAAAAAAdvcHRpb25zAAAAAA4AAAA5V2hldGhlciB0byBwYXkgZmVlcyBpbiBaUk8gdG9rZW4gaW5zdGVhZCBvZiBuYXRpdmUgdG9rZW4uAAAAAAAACnBheV9pbl96cm8AAAAAAAEAAAA1UmVjZWl2ZXIgYWRkcmVzcyBvbiB0aGUgZGVzdGluYXRpb24gY2hhaW4gKDMyIGJ5dGVzKS4AAAAAAAAIcmVjZWl2ZXIAAAPuAAAAIAAAAAEAAABNU291cmNlIG1lc3NhZ2UgaW5mb3JtYXRpb24gaWRlbnRpZnlpbmcgd2hlcmUgYSBjcm9zcy1jaGFpbiBtZXNzYWdlIGNhbWUgZnJvbS4AAAAAAAAAAAAABk9yaWdpbgAAAAAAAwAAABdOb25jZSBmb3IgdGhpcyBwYXRod2F5LgAAAAAFbm9uY2UAAAAAAAAGAAAALlNlbmRlciBhZGRyZXNzIG9uIHRoZSBzb3VyY2UgY2hhaW4gKDMyIGJ5dGVzKS4AAAAAAAZzZW5kZXIAAAAAA+4AAAAgAAAAJlNvdXJjZSBlbmRwb2ludCBJRCAoY2hhaW4gaWRlbnRpZmllcikuAAAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAAChGZWUgc3RydWN0dXJlIGZvciBjcm9zcy1jaGFpbiBtZXNzYWdpbmcuAAAAAAAAAAxNZXNzYWdpbmdGZWUAAAACAAAAH0ZlZSBwYWlkIGluIG5hdGl2ZSB0b2tlbiAoWExNKS4AAAAACm5hdGl2ZV9mZWUAAAAAAAsAAAAoRmVlIHBhaWQgaW4gWlJPIHRva2VuIChMYXllclplcm8gdG9rZW4pLgAAAAd6cm9fZmVlAAAAAAsAAAABAAAAQlJlY2VpcHQgcmV0dXJuZWQgYWZ0ZXIgc3VjY2Vzc2Z1bGx5IHNlbmRpbmcgYSBjcm9zcy1jaGFpbiBtZXNzYWdlLgAAAAAAAAAAABBNZXNzYWdpbmdSZWNlaXB0AAAAAwAAAClUaGUgZmVlcyBjaGFyZ2VkIGZvciBzZW5kaW5nIHRoZSBtZXNzYWdlLgAAAAAAAANmZWUAAAAH0AAAAAxNZXNzYWdpbmdGZWUAAAArR2xvYmFsbHkgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBtZXNzYWdlLgAAAAAEZ3VpZAAAA+4AAAAgAAAAJFRoZSBvdXRib3VuZCBub25jZSBmb3IgdGhpcyBwYXRod2F5LgAAAAVub25jZQAAAAAAAAYAAAACAAAAOFR5cGUgb2YgbWVzc2FnZSBsaWJyYXJ5IGluZGljYXRpbmcgc3VwcG9ydGVkIG9wZXJhdGlvbnMuAAAAAAAAAA5NZXNzYWdlTGliVHlwZQAAAAAAAwAAAAAAAAAfU3VwcG9ydHMgb25seSBzZW5kaW5nIG1lc3NhZ2VzLgAAAAAEU2VuZAAAAAAAAAAhU3VwcG9ydHMgb25seSByZWNlaXZpbmcgbWVzc2FnZXMuAAAAAAAAB1JlY2VpdmUAAAAAAAAAAC1TdXBwb3J0cyBib3RoIHNlbmRpbmcgYW5kIHJlY2VpdmluZyBtZXNzYWdlcy4AAAAAAAAOU2VuZEFuZFJlY2VpdmUAAAAAAAEAAAC3VmVyc2lvbiBpbmZvcm1hdGlvbiBmb3IgYSBtZXNzYWdlIGxpYnJhcnkuCgpOb3RlOiBgbWlub3JgIGFuZCBgZW5kcG9pbnRfdmVyc2lvbmAgdXNlIGB1MzJgIGluc3RlYWQgb2YgYHU4YCBiZWNhdXNlIFN0ZWxsYXIgZG9lcyBub3QKc3VwcG9ydCBgdThgIHR5cGVzIGluIGNvbnRyYWN0IGludGVyZmFjZSBmdW5jdGlvbnMuAAAAAAAAAAARTWVzc2FnZUxpYlZlcnNpb24AAAAAAAADAAAAM0VuZHBvaW50IHZlcnNpb24gKHNob3VsZCBub3QgZXhjZWVkIHU4OjpNQVggPSAyNTUpLgAAAAAQZW5kcG9pbnRfdmVyc2lvbgAAAAQAAAAVTWFqb3IgdmVyc2lvbiBudW1iZXIuAAAAAAAABW1ham9yAAAAAAAABgAAADdNaW5vciB2ZXJzaW9uIG51bWJlciAoc2hvdWxkIG5vdCBleGNlZWQgdTg6Ok1BWCA9IDI1NSkuAAAAAAVtaW5vcgAAAAAAAAQAAAABAAAANlRpbWVvdXQgY29uZmlndXJhdGlvbiBmb3IgcmVjZWl2ZSBsaWJyYXJ5IHRyYW5zaXRpb25zLgAAAAAAAAAAAAdUaW1lb3V0AAAAAAIAAAAoVW5peCB0aW1lc3RhbXAgd2hlbiB0aGUgdGltZW91dCBleHBpcmVzLgAAAAZleHBpcnkAAAAAAAYAAAApVGhlIG5ldyBsaWJyYXJ5IGFkZHJlc3MgdG8gdHJhbnNpdGlvbiB0by4AAAAAAAADbGliAAAAABMAAAABAAAANVBhcmFtZXRlcnMgZm9yIHNldHRpbmcgbWVzc2FnZSBsaWJyYXJ5IGNvbmZpZ3VyYXRpb24uAAAAAAAAAAAAAA5TZXRDb25maWdQYXJhbQAAAAAAAwAAAB9YRFItZW5jb2RlZCBjb25maWd1cmF0aW9uIGRhdGEuAAAAAAZjb25maWcAAAAAAA4AAAAwVGhlIHR5cGUgb2YgY29uZmlndXJhdGlvbiAoZS5nLiwgZXhlY3V0b3IsIFVMTikuAAAAC2NvbmZpZ190eXBlAAAAAAQAAAAnVGhlIGVuZHBvaW50IElEIHRoaXMgY29uZmlnIGFwcGxpZXMgdG8uAAAAAANlaWQAAAAABAAAAAEAAAAxUmVzb2x2ZWQgbGlicmFyeSBpbmZvcm1hdGlvbiB3aXRoIGRlZmF1bHQgc3RhdHVzLgAAAAAAAAAAAAAPUmVzb2x2ZWRMaWJyYXJ5AAAAAAIAAABEV2hldGhlciB0aGlzIGlzIHRoZSBkZWZhdWx0IGxpYnJhcnkgKHRydWUpIG9yIE9BcHAtc3BlY2lmaWMgKGZhbHNlKS4AAAAKaXNfZGVmYXVsdAAAAAAAAQAAAB1UaGUgcmVzb2x2ZWQgbGlicmFyeSBhZGRyZXNzLgAAAAAAAANsaWIAAAAAEwAAAAEAAABIT3V0Ym91bmQgcGFja2V0IGNvbnRhaW5pbmcgYWxsIGluZm9ybWF0aW9uIGZvciBjcm9zcy1jaGFpbiB0cmFuc21pc3Npb24uAAAAAAAAAA5PdXRib3VuZFBhY2tldAAAAAAABwAAABhEZXN0aW5hdGlvbiBlbmRwb2ludCBJRC4AAAAHZHN0X2VpZAAAAAAEAAAALEdsb2JhbGx5IHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIG1lc3NhZ2UuAAAABGd1aWQAAAPuAAAAIAAAABRUaGUgbWVzc2FnZSBwYXlsb2FkLgAAAAdtZXNzYWdlAAAAAA4AAAAgT3V0Ym91bmQgbm9uY2UgZm9yIHRoaXMgcGF0aHdheS4AAAAFbm9uY2UAAAAAAAAGAAAAMVJlY2VpdmVyIGFkZHJlc3Mgb24gZGVzdGluYXRpb24gY2hhaW4gKDMyIGJ5dGVzKS4AAAAAAAAIcmVjZWl2ZXIAAAPuAAAAIAAAAB9TZW5kZXIgYWRkcmVzcyBvbiBzb3VyY2UgY2hhaW4uAAAAAAZzZW5kZXIAAAAAABMAAAATU291cmNlIGVuZHBvaW50IElELgAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAACtBIGZlZSByZWNpcGllbnQgd2l0aCB0aGUgYW1vdW50IHRvIGJlIHBhaWQuAAAAAAAAAAAMRmVlUmVjaXBpZW50AAAAAgAAABVBbW91bnQgb2YgZmVlIHRvIHBheS4AAAAAAAAGYW1vdW50AAAAAAALAAAAH1RoZSBhZGRyZXNzIHRvIHNlbmQgdGhlIGZlZSB0by4AAAAAAnRvAAAAAAATAAAAAQAAADxSZXN1bHQgb2Ygc2VuZCBvcGVyYXRpb24gY29udGFpbmluZyBmZWVzIGFuZCBlbmNvZGVkIHBhY2tldC4AAAAAAAAADUZlZXNBbmRQYWNrZXQAAAAAAAADAAAAKlRoZSBlbmNvZGVkIHBhY2tldCByZWFkeSBmb3IgdHJhbnNtaXNzaW9uLgAAAAAADmVuY29kZWRfcGFja2V0AAAAAAAOAAAAP0xpc3Qgb2YgbmF0aXZlIHRva2VuIGZlZSByZWNpcGllbnRzIChleGVjdXRvciwgRFZOcywgdHJlYXN1cnkpLgAAAAAVbmF0aXZlX2ZlZV9yZWNpcGllbnRzAAAAAAAD6gAAB9AAAAAMRmVlUmVjaXBpZW50AAAALExpc3Qgb2YgWlJPIHRva2VuIGZlZSByZWNpcGllbnRzICh0cmVhc3VyeSkuAAAAEnpyb19mZWVfcmVjaXBpZW50cwAAAAAD6gAAB9AAAAAMRmVlUmVjaXBpZW50AAAAAQAAAOFQYXJhbWV0ZXJzIGZvciBEVk4gZmVlIGNhbGN1bGF0aW9uLgoKQ29udGFpbnMgYWxsIGlucHV0cyBuZWVkZWQgYnkgdGhlIGZlZSBsaWJyYXJ5IHRvIGNhbGN1bGF0ZSB2ZXJpZmljYXRpb24gZmVlcwpmb3IgY3Jvc3MtY2hhaW4gbWVzc2FnZXMuIEluY2x1ZGVzIG1lc3NhZ2UgcGFyYW1ldGVycywgY29tbW9uIGNvbmZpZ3VyYXRpb24sCmFuZCBkZXN0aW5hdGlvbi1zcGVjaWZpYyBzZXR0aW5ncy4AAAAAAAAAAAAADER2bkZlZVBhcmFtcwAAAAoAAAAnTnVtYmVyIG9mIGJsb2NrIGNvbmZpcm1hdGlvbnMgcmVxdWlyZWQuAAAAAA1jb25maXJtYXRpb25zAAAAAAAABgAAAExEZWZhdWx0IGZlZSBtdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cyAodXNlZCBpZiBubyBkc3Qtc3BlY2lmaWMgbXVsdGlwbGllcikuAAAAFmRlZmF1bHRfbXVsdGlwbGllcl9icHMAAAAAAAQAAAArRGVzdGluYXRpb24gZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpLgAAAAAHZHN0X2VpZAAAAAAEAAAAI01pbmltdW0gZmVlIG1hcmdpbiBpbiBVU0QgKHNjYWxlZCkuAAAAABBmbG9vcl9tYXJnaW5fdXNkAAAACgAAARA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpEZXN0aW5hdGlvbi1TcGVjaWZpYyBDb25maWd1cmF0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkdhcyBlc3RpbWF0ZSBmb3IgdmVyaWZpY2F0aW9uIG9uIGRlc3RpbmF0aW9uIGNoYWluLgAAAANnYXMAAAAACgAAAEZEZXN0aW5hdGlvbi1zcGVjaWZpYyBmZWUgbXVsdGlwbGllciBpbiBiYXNpcyBwb2ludHMgKDAgPSB1c2UgZGVmYXVsdCkuAAAAAAAObXVsdGlwbGllcl9icHMAAAAAAAQAAAALRFZOIG9wdGlvbnMAAAAAB29wdGlvbnMAAAAADgAAARA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDb21tb24gQ29uZmlndXJhdGlvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpQcmljZSBmZWVkIGNvbnRyYWN0IGFkZHJlc3MgZm9yIGdhcyBwcmljZSBhbmQgZXhjaGFuZ2UgcmF0ZSBkYXRhLgAAAApwcmljZV9mZWVkAAAAAAATAAAAJ051bWJlciBvZiByZXF1aXJlZCBzaWduYXR1cmVzIChxdW9ydW0pLgAAAAAGcXVvcnVtAAAAAAAEAAAA5T09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ck1lc3NhZ2UgUGFyYW1ldGVycwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpUaGUgT0FwcCBzZW5kZXIgYWRkcmVzcy4AAAAAAAAGc2VuZGVyAAAAAAATAAAAAQAAAONQYXJhbWV0ZXJzIGZvciBleGVjdXRvciBmZWUgY2FsY3VsYXRpb24uCgpDb250YWlucyBhbGwgaW5wdXRzIG5lZWRlZCBieSB0aGUgZmVlIGxpYnJhcnkgdG8gY2FsY3VsYXRlIGV4ZWN1dGlvbiBmZWVzCmZvciBjcm9zcy1jaGFpbiBtZXNzYWdlcy4gSW5jbHVkZXMgbWVzc2FnZSBwYXJhbWV0ZXJzLCBjb21tb24gY29uZmlndXJhdGlvbiwKYW5kIGRlc3RpbmF0aW9uLXNwZWNpZmljIHNldHRpbmdzLgAAAAAAAAAACUZlZVBhcmFtcwAAAAAAAAsAAAAmU2l6ZSBvZiB0aGUgbWVzc2FnZSBjYWxsZGF0YSBpbiBieXRlcy4AAAAAAA1jYWxsZGF0YV9zaXplAAAAAAAABAAAAExEZWZhdWx0IGZlZSBtdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cyAodXNlZCBpZiBubyBkc3Qtc3BlY2lmaWMgbXVsdGlwbGllcikuAAAAFmRlZmF1bHRfbXVsdGlwbGllcl9icHMAAAAAAAQAAAArRGVzdGluYXRpb24gZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpLgAAAAAHZHN0X2VpZAAAAAAEAAAAI01pbmltdW0gZmVlIG1hcmdpbiBpbiBVU0QgKHNjYWxlZCkuAAAAABBmbG9vcl9tYXJnaW5fdXNkAAAACgAAADZCYXNlIGdhcyBmb3IgZWFjaCBsekNvbXBvc2UgY2FsbCBvbiBkZXN0aW5hdGlvbiBjaGFpbi4AAAAAABNsel9jb21wb3NlX2Jhc2VfZ2FzAAAAAAYAAAETPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KRGVzdGluYXRpb24tU3BlY2lmaWMgQ29uZmlndXJhdGlvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpCYXNlIGdhcyBmb3IgbHpSZWNlaXZlIGV4ZWN1dGlvbiBvbiBkZXN0aW5hdGlvbiBjaGFpbi4AAAAAE2x6X3JlY2VpdmVfYmFzZV9nYXMAAAAABgAAAEZEZXN0aW5hdGlvbi1zcGVjaWZpYyBmZWUgbXVsdGlwbGllciBpbiBiYXNpcyBwb2ludHMgKDAgPSB1c2UgZGVmYXVsdCkuAAAAAAAObXVsdGlwbGllcl9icHMAAAAAAAQAAAAsTWF4aW11bSBuYXRpdmUgdG9rZW4gdmFsdWUgdGhhdCBjYW4gYmUgc2VudC4AAAAKbmF0aXZlX2NhcAAAAAAACgAAAEZFbmNvZGVkIGV4ZWN1dG9yIG9wdGlvbnMgKGx6UmVjZWl2ZSBnYXMsIGx6Q29tcG9zZSwgbmF0aXZlRHJvcCwgZXRjLikuAAAAAAAHb3B0aW9ucwAAAAAOAAABED09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNvbW1vbiBDb25maWd1cmF0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClByaWNlIGZlZWQgY29udHJhY3QgYWRkcmVzcyBmb3IgZ2FzIHByaWNlIGFuZCBleGNoYW5nZSByYXRlIGRhdGEuAAAACnByaWNlX2ZlZWQAAAAAABMAAADlPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KTWVzc2FnZSBQYXJhbWV0ZXJzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClRoZSBPQXBwIHNlbmRlciBhZGRyZXNzLgAAAAAAAAZzZW5kZXIAAAAAABMAAAABAAAAhEdhcyBwcmljZSBpbmZvcm1hdGlvbiBmb3IgYSBkZXN0aW5hdGlvbiBlbmRwb2ludC4KCkNvbnRhaW5zIHRoZSBleGNoYW5nZSByYXRlIGFuZCBnYXMgY29zdHMgbmVlZGVkIGZvciBjcm9zcy1jaGFpbiBmZWUgY2FsY3VsYXRpb25zLgAAAAAAAAAFUHJpY2UAAAAAAAADAAAAN0dhcyBjb3N0IHBlciBieXRlIG9mIGNhbGxkYXRhIG9uIHRoZSBkZXN0aW5hdGlvbiBjaGFpbi4AAAAADGdhc19wZXJfYnl0ZQAAAAQAAABCR2FzIHByaWNlIGluIHRoZSBzbWFsbGVzdCB1bml0ICh3ZWkgZm9yIEVWTSwgc3Ryb29wcyBmb3IgU3RlbGxhcikuAAAAAAARZ2FzX3ByaWNlX2luX3VuaXQAAAAAAAAGAAAAqVByaWNlIHJhdGlvID0gKHJlbW90ZSBuYXRpdmUgdG9rZW4gcHJpY2UgLyBsb2NhbCBuYXRpdmUgdG9rZW4gcHJpY2UpICogUFJJQ0VfUkFUSU9fREVOT01JTkFUT1IuClVzZWQgdG8gY29udmVydCBkZXN0aW5hdGlvbiBjaGFpbiBnYXMgY29zdHMgdG8gc291cmNlIGNoYWluIG5hdGl2ZSB0b2tlbi4AAAAAAAALcHJpY2VfcmF0aW8AAAAACgAAAAEAAACARmVlIGVzdGltYXRpb24gcmVzdWx0IHdpdGggZGV0YWlsZWQgYnJlYWtkb3duLgoKQ29udGFpbnMgdGhlIGNhbGN1bGF0ZWQgZmVlIGFuZCBhbGwgaW50ZXJtZWRpYXRlIHZhbHVlcyB1c2VkIGluIHRoZSBjYWxjdWxhdGlvbi4AAAAAAAAAC0ZlZUVzdGltYXRlAAAAAAQAAAAwU291cmNlIGNoYWluIG5hdGl2ZSB0b2tlbiBwcmljZSBpbiBVU0QgKHNjYWxlZCkuAAAAEG5hdGl2ZV9wcmljZV91c2QAAAAKAAAAJVByaWNlIHJhdGlvIHVzZWQgZm9yIHRoZSBjYWxjdWxhdGlvbi4AAAAAAAALcHJpY2VfcmF0aW8AAAAACgAAADJEZW5vbWluYXRvciBmb3IgdGhlIHByaWNlIHJhdGlvICh0eXBpY2FsbHkgMTBeMjApLgAAAAAAF3ByaWNlX3JhdGlvX2Rlbm9taW5hdG9yAAAAAAoAAAAxVG90YWwgZ2FzIGZlZSBpbiBzb3VyY2UgY2hhaW4gbmF0aXZlIHRva2VuIHVuaXRzLgAAAAAAAA10b3RhbF9nYXNfZmVlAAAAAAAACwAAAAQAAAAdUGFja2V0Q29kZWNWMUVycm9yOiAxMTAwLTExMDkAAAAAAAAAAAAAElBhY2tldENvZGVjVjFFcnJvcgAAAAAAAgAAAAAAAAATSW52YWxpZFBhY2tldEhlYWRlcgAAAARMAAAAAAAAABRJbnZhbGlkUGFja2V0VmVyc2lvbgAABE0AAAAEAAAAHVdvcmtlck9wdGlvbnNFcnJvcjogMTExMC0xMTE5AAAAAAAAAAAAABJXb3JrZXJPcHRpb25zRXJyb3IAAAAAAAkAAAAAAAAAEkludmFsaWRCeXRlc0xlbmd0aAAAAAAEVgAAAAAAAAAZSW52YWxpZExlZ2FjeU9wdGlvbnNUeXBlMQAAAAAABFcAAAAAAAAAGUludmFsaWRMZWdhY3lPcHRpb25zVHlwZTIAAAAAAARYAAAAAAAAABFJbnZhbGlkT3B0aW9uVHlwZQAAAAAABFkAAAAAAAAADkludmFsaWRPcHRpb25zAAAAAARaAAAAAAAAAA9JbnZhbGlkV29ya2VySWQAAAAEWwAAAAAAAAAdTGVnYWN5T3B0aW9uc1R5cGUxR2FzT3ZlcmZsb3cAAAAAAARcAAAAAAAAACBMZWdhY3lPcHRpb25zVHlwZTJBbW91bnRPdmVyZmxvdwAABF0AAAAAAAAAHUxlZ2FjeU9wdGlvbnNUeXBlMkdhc092ZXJmbG93AAAAAAAEXgAAAAQAAAAcQnVmZmVyUmVhZGVyRXJyb3I6IDEwMDAtMTAwOQAAAAAAAAARQnVmZmVyUmVhZGVyRXJyb3IAAAAAAAACAAAAAAAAAA1JbnZhbGlkTGVuZ3RoAAAAAAAD6AAAAAAAAAAVSW52YWxpZEFkZHJlc3NQYXlsb2FkAAAAAAAD6QAAAAQAAAAcQnVmZmVyV3JpdGVyRXJyb3I6IDEwMTAtMTAxOQAAAAAAAAARQnVmZmVyV3JpdGVyRXJyb3IAAAAAAAABAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPyAAAABAAAAB9UdGxDb25maWd1cmFibGVFcnJvcjogMTAyMC0xMDI5AAAAAAAAAAAUVHRsQ29uZmlndXJhYmxlRXJyb3IAAAADAAAAAAAAABBJbnZhbGlkVHRsQ29uZmlnAAAD/AAAAAAAAAAPVHRsQ29uZmlnRnJvemVuAAAAA/0AAAAAAAAAFlR0bENvbmZpZ0FscmVhZHlGcm96ZW4AAAAAA/4AAAAEAAAAF093bmFibGVFcnJvcjogMTAzMC0xMDM5AAAAAAAAAAAMT3duYWJsZUVycm9yAAAABgAAAAAAAAATSW52YWxpZFBlbmRpbmdPd25lcgAAAAQGAAAAAAAAAApJbnZhbGlkVHRsAAAAAAQHAAAAAAAAABFOb1BlbmRpbmdUcmFuc2ZlcgAAAAAABAgAAAAAAAAAD093bmVyQWxyZWFkeVNldAAAAAQJAAAAAAAAAAtPd25lck5vdFNldAAAAAQKAAAAAAAAABJUcmFuc2ZlckluUHJvZ3Jlc3MAAAAABAsAAAAEAAAAGEJ5dGVzRXh0RXJyb3I6IDEwNDAtMTA0OQAAAAAAAAANQnl0ZXNFeHRFcnJvcgAAAAAAAAEAAAAAAAAADkxlbmd0aE1pc21hdGNoAAAAAAQQAAAABAAAABtVcGdyYWRlYWJsZUVycm9yOiAxMDUwLTEwNTkAAAAAAAAAABBVcGdyYWRlYWJsZUVycm9yAAAAAwAAAAAAAAAUSW52YWxpZE1pZ3JhdGlvbkRhdGEAAAQaAAAAAAAAABNNaWdyYXRpb25Ob3RBbGxvd2VkAAAABBsAAAAAAAAADlVwZ3JhZGVzRnJvemVuAAAAAAQcAAAABAAAABhNdWx0aXNpZ0Vycm9yOiAxMDYwLTEwNjkAAAAAAAAADU11bHRpc2lnRXJyb3IAAAAAAAAIAAAAAAAAABJBbHJlYWR5SW5pdGlhbGl6ZWQAAAAABCQAAAAAAAAADUludmFsaWRTaWduZXIAAAAAAAQlAAAAAAAAAA5TaWduYXR1cmVFcnJvcgAAAAAEJgAAAAAAAAATU2lnbmVyQWxyZWFkeUV4aXN0cwAAAAQnAAAAAAAAAA5TaWduZXJOb3RGb3VuZAAAAAAEKAAAAAAAAAAdVG90YWxTaWduZXJzTGVzc1RoYW5UaHJlc2hvbGQAAAAAAAQpAAAAAAAAAA9VbnNvcnRlZFNpZ25lcnMAAAAEKgAAAAAAAAANWmVyb1RocmVzaG9sZAAAAAAABCsAAAAFAAAAMEV2ZW50IGVtaXR0ZWQgd2hlbiBhIHNpZ25lciBpcyBhZGRlZCBvciByZW1vdmVkLgAAAAAAAAAJU2lnbmVyU2V0AAAAAAAAAQAAAApzaWduZXJfc2V0AAAAAAACAAAAAAAAAAZzaWduZXIAAAAAA+4AAAAUAAAAAQAAAAAAAAAGYWN0aXZlAAAAAAABAAAAAAAAAAIAAAAFAAAANkV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2lnbmF0dXJlIHRocmVzaG9sZCBpcyBjaGFuZ2VkLgAAAAAAAAAAAAxUaHJlc2hvbGRTZXQAAAABAAAADXRocmVzaG9sZF9zZXQAAAAAAAABAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAPTXVsdGlzaWdTdG9yYWdlAAAAAAIAAAAAAAAAAAAAAAdTaWduZXJzAAAAAAAAAAAAAAAACVRocmVzaG9sZAAAAAAAAAUAAABXRXZlbnQgZW1pdHRlZCB3aGVuIG93bmVyc2hpcCBpcyB0cmFuc2ZlcnJlZCAoYm90aCBzaW5nbGUtc3RlcCBhbmQgdHdvLXN0ZXAgY29tcGxldGlvbikuAAAAAAAAAAAUT3duZXJzaGlwVHJhbnNmZXJyZWQAAAABAAAAFW93bmVyc2hpcF90cmFuc2ZlcnJlZAAAAAAAAAIAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAIAAAAFAAAAO0V2ZW50IGVtaXR0ZWQgd2hlbiBhIDItc3RlcCBvd25lcnNoaXAgdHJhbnNmZXIgaXMgcHJvcG9zZWQuAAAAAAAAAAAVT3duZXJzaGlwVHJhbnNmZXJyaW5nAAAAAAAAAQAAABZvd25lcnNoaXBfdHJhbnNmZXJyaW5nAAAAAAADAAAAAAAAAAlvbGRfb3duZXIAAAAAAAATAAAAAAAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAAAAAAAA3R0bAAAAAAEAAAAAAAAAAIAAAAFAAAAKkV2ZW50IGVtaXR0ZWQgd2hlbiBvd25lcnNoaXAgaXMgcmVub3VuY2VkLgAAAAAAAAAAABJPd25lcnNoaXBSZW5vdW5jZWQAAAAAAAEAAAATb3duZXJzaGlwX3Jlbm91bmNlZAAAAAABAAAAAAAAAAlvbGRfb3duZXIA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AAAAAAAGZGVuaWVkAAAAAAABAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAGUGF1c2VkAAAAAAABAAAABnBhdXNlZAAAAAAAAQAAAAAAAAAGcGF1c2VyAAAAAAATAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAIVW5wYXVzZWQAAAABAAAACHVucGF1c2VkAAAAAQAAAAAAAAAIdW5wYXVzZXIAAAATAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAXU2V0RGVmYXVsdE11bHRpcGxpZXJCcHMAAAAAAQAAABpzZXRfZGVmYXVsdF9tdWx0aXBsaWVyX2JwcwAAAAAAAQAAAAAAAAAObXVsdGlwbGllcl9icHMAAAAAAAQAAAAAAAAAAgAAAAUAAAAAAAAAAAAAABFTZXREZXBvc2l0QWRkcmVzcwAAAAAAAAEAAAATc2V0X2RlcG9zaXRfYWRkcmVzcwAAAAABAAAAAAAAAA9kZXBvc2l0X2FkZHJlc3MAAAAAEwAAAAAAAAACAAAABQAAAAAAAAAAAAAADFNldFByaWNlRmVlZAAAAAEAAAAOc2V0X3ByaWNlX2ZlZWQAAAAAAAEAAAAAAAAACnByaWNlX2ZlZWQAAAAAABMAAAAAAAAAAgAAAAUAAAAAAAAAAAAAABdTZXRTdXBwb3J0ZWRPcHRpb25UeXBlcwAAAAABAAAAGnNldF9zdXBwb3J0ZWRfb3B0aW9uX3R5cGVzAAAAAAACAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAAAAAAAAAAAAAxvcHRpb25fdHlwZXMAAAAOAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAPU2V0V29ya2VyRmVlTGliAAAAAAEAAAASc2V0X3dvcmtlcl9mZWVfbGliAAAAAAABAAAAAAAAAAdmZWVfbGliAAAAABMAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA1Xb3JrZXJTdG9yYWdlAAAAAAAACwAAAAAAAAAAAAAABlBhdXNlZAAAAAAAAAAAAAAAAAAGQWRtaW5zAAAAAAAAAAAAAAAAAAtNZXNzYWdlTGlicwAAAAABAAAAAAAAAAlBbGxvd2xpc3QAAAAAAAABAAAAEwAAAAAAAAAAAAAADUFsbG93bGlzdFNpemUAAAAAAAABAAAAAAAAAAhEZW55bGlzdAAAAAEAAAATAAAAAAAAAAAAAAAURGVmYXVsdE11bHRpcGxpZXJCcHMAAAAAAAAAAAAAAA5EZXBvc2l0QWRkcmVzcwAAAAAAAQAAAAAAAAAUU3VwcG9ydGVkT3B0aW9uVHlwZXMAAAABAAAABAAAAAAAAAAAAAAADFdvcmtlckZlZUxpYgAAAAAAAAAAAAAACVByaWNlRmVlZAAAAACLAQ5jb250cmFjdG1ldGF2MAAAAAAAAAAGYmludmVyAAAAAAAFMC4wLjEAAAAAAAAAAAAABXJzdmVyAAAAAAAABjEuOTAuMAAAAAAAAAAAAAhyc3Nka3ZlcgAAAC8yMy40LjAjNjczZDZjNGYyMzY4ZDI4MmQyNWRhMjliZGE1NWMyMWI4YmU2OWNhNgAAHhFjb250cmFjdGVudm1ldGF2MAAAAAAAAAAXAAAAAA==";
11
+ export declare const WASM_BASE64 = "AGFzbQEAAAABsAEdYAR+fn5+AX5gAn5+AX5gAX4BfmAAAX5gA35+fgF+YAN/f38AYAJ/fwF+YAJ+fgF/YAN/fn4AYAAAYAABf2ABfwBgAn9/AGABfwF/YAF/AX5gAn5/AGABfgBgAn9+AGAEf39/fwF+YAF+AX9gBX5/f39/AGACf38Bf2ADf39+AGAFfn5+fn4BfmAFf35/f34AYAh+fn5+fn5+fgF+YAJ+fgBgA35/fwF+YAN/f38BfwL9ASoBbAE3AAABbAExAAEBYQEwAAIBdgFkAAEBdgEzAAIBdgEyAAEBdgE2AAEBeAExAAEBdgFfAAMBdgExAAEBYgE4AAIBYgEzAAEBYgFlAAEBYgEwAAIBYwEwAAQBdgE4AAIBdgE5AAIBbAEyAAEBbAFfAAQBeAE3AAMBZAFfAAQBaQEwAAIBZAEwAAQBbAE2AAIBaQEzAAEBaQE1AAIBaQE0AAIBbQFhAAABdgFnAAEBYgFtAAQBaQE4AAIBaQE3AAIBaQE2AAEBaQFfAAIBYgFqAAEBbQE5AAQBeAEwAAEBeAEzAAMBeAE4AAMBbAEwAAEBbAE4AAEBeAE1AAIDqQGnAQUGBwcHBwgJCgsMDQoOBwMDAwsPCQsQDgsFEQgPAxERCwUCEhATDwMGCwwMCgwTDQsLEwoTCg4TDwwRFBERDAgRCBEEEQwCFREREQMCCQIWAQEBCwsBAQsBEAQBEAEQEAMCAwIDAgMCAgMDAQIDAxcYCBcBDAYBAhcRAxkMDBAAAgsCAwwDAwMDAhoBCQoIAwMBAREOAwwDAwkNGwUREQUODAURDBwcBAUBcAEBAQUDAQARBiEEfwFBgIDAAAt/AEGohcAAC38AQYCNwAALfwBBgI3AAAsHkgc1Bm1lbW9yeQIADF9fY2hlY2tfYXV0aABtCnNldF9wYXVzZWQAeAlzZXRfYWRtaW4AehlzZXRfc3VwcG9ydGVkX21lc3NhZ2VfbGliAHsNc2V0X2FsbG93bGlzdAB8DHNldF9kZW55bGlzdAB/GnNldF9kZWZhdWx0X211bHRpcGxpZXJfYnBzAIABE3NldF9kZXBvc2l0X2FkZHJlc3MAggEac2V0X3N1cHBvcnRlZF9vcHRpb25fdHlwZXMAhAESc2V0X3dvcmtlcl9mZWVfbGliAIUBDnNldF9wcmljZV9mZWVkAIcBBnBhdXNlZACKAQhpc19hZG1pbgCLAQZhZG1pbnMAjAEYaXNfc3VwcG9ydGVkX21lc3NhZ2VfbGliAI0BDG1lc3NhZ2VfbGlicwCOAQ9pc19vbl9hbGxvd2xpc3QAjwEOYWxsb3dsaXN0X3NpemUAkAEOaXNfb25fZGVueWxpc3QAkQEHaGFzX2FjbACSARZkZWZhdWx0X211bHRpcGxpZXJfYnBzAJMBD2RlcG9zaXRfYWRkcmVzcwCUARpnZXRfc3VwcG9ydGVkX29wdGlvbl90eXBlcwCWAQ53b3JrZXJfZmVlX2xpYgCXAQpwcmljZV9mZWVkAJgBCmFzc2lnbl9qb2IAmQEHZ2V0X2ZlZQCcAQ5zZXRfZHN0X2NvbmZpZwCgAQpkc3RfY29uZmlnAKEBC25hdGl2ZV9kcm9wAKIBCGVuZHBvaW50AKQBDV9fY29uc3RydWN0b3IApQEOd2l0aGRyYXdfdG9rZW4AqQEHdXBncmFkZQCqAQdtaWdyYXRlAKwBBmZyZWV6ZQCtAQlpc19mcm96ZW4ArwEKYXV0aG9yaXplcgCwAQVvd25lcgCxAQ1wZW5kaW5nX293bmVyALIBEnRyYW5zZmVyX293bmVyc2hpcACzARpwcm9wb3NlX293bmVyc2hpcF90cmFuc2ZlcgC1ARBhY2NlcHRfb3duZXJzaGlwALkBEnJlbm91bmNlX293bmVyc2hpcAC6ARNleHRlbmRfaW5zdGFuY2VfdHRsALsBD3NldF90dGxfY29uZmlncwC8AQt0dGxfY29uZmlncwC/ARJmcmVlemVfdHRsX2NvbmZpZ3MAwQEVaXNfdHRsX2NvbmZpZ3NfZnJvemVuAMIBAV8DAQpfX2RhdGFfZW5kAwILX19oZWFwX2Jhc2UDAwqFrgGnAScAQQAgABCrgICAAEIBIAGtQiCGQgSEIAKtQiCGQgSEEICAgIAAGgubAQIBfwF+I4CAgIAAQRBrIgIkgICAgAACQAJAAkACQCAAQQFxRQ0AIAJBjYPAgABBCBDDgICAACACKAIADQIgAiACKQMIEMSAgIAADAELIAJBhIPAgABBCRDDgICAACACKAIADQEgAiACKQMIIAGtQiCGQgSEEMWAgIAACyACKQMIIQMgAikDAFANAQsACyACQRBqJICAgIAAIAMLDwAgACABEK2AgIAAQQFzCw0AIAAgARCkgICAAFALDwAgACABEK+AgIAAQQFzC6IBAQN/I4CAgIAAQRBrIgIkgICAgAACQAJAAkAgAEL/AYNCDlINACABQv8Bg0IOUQ0BCyAAIAEQpICAgABQIQMMAQsgAiABQgiINwMIIAIgAEIIiDcDAAJAA0AgAhDEgYCAACEDIAJBCGoQxIGAgAAhBCADQYCAxABGDQEgAyAERg0AC0EAIQMMAQsgBEGAgMQARiEDCyACQRBqJICAgIAAIAMLNwEBfkIAIQMCQAJAIAFCAlENACABp0EBcQ0BIAAgAjcDCEIBIQMLIAAgAzcDAA8LELGAgIAAAAsJABDDgYCAAAALWAECfyOAgICAAEEQayIAJICAgIAAIABBBGoQs4CAgAACQCAAKAIEQQFHDQAgACgCCCAAKAIMELSAgIAAC0EAELWAgIAAIQEgAEEQaiSAgICAACABQf0BcQsMACAAQQEQy4GAgAALGwAgAK1CIIZCBIQgAa1CIIZCBIQQqICAgAAaC0cCAX8BfkECIQECQCAAEMqBgIAAIgJCAhC4gICAAEUNAEEBIQECQAJAIAJCAhCBgICAAKdB/wFxDgIBAgALAAtBACEBCyABC4sBAgJ/AX4jgICAgABBEGsiACSAgICAACAAQQRqELOAgIAAAkAgACgCBEEBRw0AIAAoAgggACgCDBC0gICAAAtBACEBAkBBABC3gICAACICQgIQuICAgABFDQBBASEBAkACQCACQgIQgYCAgACnQf8BcQ4CAQIACwALQQAhAQsgAEEQaiSAgICAACABC8IBAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkACQAJAAkACQCAAQf8BcQ4DAAECAAsgAUG2iMCAAEEGEMOAgIAAIAEoAgANAyABIAEpAwgQxICAgAAMAgsgAUG8iMCAAEEIEMOAgIAAIAEoAgANAiABIAEpAwgQxICAgAAMAQsgAUHEiMCAAEEKEMOAgIAAIAEoAgANASABIAEpAwgQxICAgAALIAEpAwghAiABKQMAUA0BCwALIAFBEGokgICAgAAgAgsPACAAIAEQp4CAgABCAVELFQEBfhC6gICAACIAEIKAgIAAGiAAC2YCAX8BfiOAgICAAEEQayIAJICAgIAAIAAQs4CAgAACQCAAKAIAQQFHDQAgACgCBCAAKAIIELSAgIAACyAAELyAgIAAIAApAwghASAAKQMAQYoIEL2AgIAAIABBEGokgICAgAAgAQtKAgF/AX4jgICAgABBEGsiACSAgICAACAAELyAgIAAIAApAwghASAAKQMAQYoIEL2AgIAAIAEQgoCAgAAaIABBEGokgICAgAAgAQtQAQF/I4CAgIAAQRBrIgEkgICAgAAgAUEEahCzgICAAAJAIAEoAgRBAUcNACABKAIIIAEoAgwQtICAgAALIAAQwoCAgAAgAUEQaiSAgICAAAspAAJAIACnQQFxRQ0ADwsgAUH6d2qtQiCGQoOAgIDggAF8EMCAgIAAAAtCAQF/I4CAgIAAQRBrIgAkgICAgAAgABC/gICAAAJAIAApAwBQDQBCg4CAgLCBARDAgICAAAALIABBEGokgICAgAALkwECAX8CfiOAgICAAEEQayIBJICAgIAAIAFBBGoQs4CAgAACQCABKAIEQQFHDQAgASgCCCABKAIMELSAgIAAC0IAIQICQAJAQQEQwYCAgAAiA0IAELiAgIAARQ0AIANCABCBgICAACICQv8Bg0LNAFINASAAIAI3AwhCASECCyAAIAI3AwAgAUEQaiSAgICAAA8LAAsLACAAEKmAgIAAGguSAQIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAAkACQCAAQQFxRQ0AIAFByYfAgABBDBDDgICAACABKAIADQIgASABKQMIEMSAgIAADAELIAFBxIfAgABBBRDDgICAACABKAIADQEgASABKQMIEMSAgIAACyABKQMIIQIgASkDAFANAQsACyABQRBqJICAgIAAIAILTQECfkIAIQECQAJAQQAQwYCAgAAiAkICELiAgIAARQ0AIAJCAhCBgICAACIBQv8Bg0LNAFINASAAIAE3AwhCASEBCyAAIAE3AwAPCwALUQIBfwF+I4CAgIAAQRBrIgMkgICAgAAgAyABIAIQxoGAgABCASEEAkAgAygCAA0AIAAgAykDCDcDCEIAIQQLIAAgBDcDACADQRBqJICAgIAAC0QBAX8jgICAgABBEGsiAiSAgICAACACIAE3AwggAkEIakEBEJ+BgIAAIQEgAEIANwMAIAAgATcDCCACQRBqJICAgIAAC0gBAX8jgICAgABBEGsiAySAgICAACADIAI3AwggAyABNwMAIANBAhCfgYCAACECIABCADcDACAAIAI3AwggA0EQaiSAgICAAAvNAgMBfwJ+AX8jgICAgABBMGsiAiSAgICAABDHgICAACIDIAAQg4CAgAAhBAJAAkACQAJAAkAgAQ0AIAJBCGogBBDIgICAACACKAIIIgVBAkYNASAFQQFxRQ0CIAIoAgwiBSADEISAgIAAQiCIp08NBCADIAWtQiCGQgSEEIWAgIAAIQMMBAsgBEICUQ0CQoOAgICAlgEQwICAgAAACxCxgICAAAALQoOAgICQlgEQwICAgAAACyADIAAQhoCAgAAhAwsgAkEBNgIgIAJBIGogAxDJgICAACACQRRqEMqAgIAAAkAgAigCFEEBRw0AIAJBIGogAigCGCACKAIcEMuAgIAAC0KO5q656ozk1TgQzICAgAAhAyACIAA3AyggAiABrTcDICADQeSIwIAAQQIgAkEgakECEM2AgIAAEIeAgIAAGiACQTBqJICAgIAAC6kBAgF/A34jgICAgABBMGsiACSAgICAACAAQRBqELOAgIAAAkAgACgCEEEBRw0AIAAoAhQgACgCGBC0gICAAAsgAEEBNgIAIABBEGogABDVgICAAAJAIAApAxAiAVANACAAQSRqEMqAgIAAIAAoAiRBAUcNACAAIAAoAiggACgCLBDLgICAAAsQiICAgAAhAiAAKQMYIQMgAEEwaiSAgICAACADIAIgAacbCz0BAn8CQAJAIAFCAlINAEEAIQIMAQtBAUECIAFC/wGDQgRRGyECIAFCIIinIQMLIAAgAzYCBCAAIAI2AgALFQAgABDggICAACABQgEQkoCAgAAaCwwAIABBAhDLgYCAAAslACAAEOCAgIAAQgEgAa1CIIZCBIQgAq1CIIZCBIQQgICAgAAaC2MDAX8BfgF/I4CAgIAAQRBrIgEkgICAgAAgASAANwMAQgIhAkEBIQMCQANAIANFDQEgA0F/aiEDIAAhAgwACwsgASACNwMIIAFBCGpBARCfgYCAACEAIAFBEGokgICAgAAgAAsuAAJAIAEgA0YNAAALIACtQiCGQgSEIAKtQiCGQgSEIAGtQiCGQgSEEKOAgIAACycAIAAQgoCAgAAaAkAgABDPgICAAA0AQoOAgIDAlwEQwICAgAAACwtdAQF/I4CAgIAAQRBrIgEkgICAgAAgAUEEahCzgICAAAJAIAEoAgRBAUcNACABKAIIIAEoAgwQtICAgAALEMeAgIAAIAAQg4CAgAAhACABQRBqJICAgIAAIABCAlIL0QIDAX8CfgF/I4CAgIAAQTBrIgIkgICAgAAQ0YCAgAAiAyAAEIOAgIAAIQQCQAJAAkACQAJAIAENACACQQhqIAQQyICAgAAgAigCCCIFQQJGDQEgBUEBcUUNAiACKAIMIgUgAxCEgICAAEIgiKdPDQQgAyAFrUIghkIEhBCFgICAACEDDAQLIARCAlENAkKDgICA0JYBEMCAgIAAAAsQsYCAgAAAC0KDgICA4JYBEMCAgIAAAAsgAyAAEIaAgIAAIQMLIAJBAjYCICACQSBqIAMQyYCAgAAgAkEUahDKgICAAAJAIAIoAhRBAUcNACACQSBqIAIoAhggAigCHBDLgICAAAtB9IjAgABBGRDSgICAABDMgICAACEDIAIgAa03AyggAiAANwMgIANBpInAgABBAiACQSBqQQIQzYCAgAAQh4CAgAAaIAJBMGokgICAgAALqQECAX8DfiOAgICAAEEwayIAJICAgIAAIABBEGoQs4CAgAACQCAAKAIQQQFHDQAgACgCFCAAKAIYELSAgIAACyAAQQI2AgAgAEEQaiAAENWAgIAAAkAgACkDECIBUA0AIABBJGoQyoCAgAAgACgCJEEBRw0AIAAgACgCKCAAKAIsEMuAgIAACxCIgICAACECIAApAxghAyAAQTBqJICAgIAAIAMgAiABpxsLRQIBfwF+I4CAgIAAQRBrIgIkgICAgAAgAiAAIAEQxoGAgAACQCACKAIAQQFHDQAACyACKQMIIQMgAkEQaiSAgICAACADC1YBAX8jgICAgABBEGsiASSAgICAACABELOAgIAAAkAgASgCAEEBRw0AIAEoAgQgASgCCBC0gICAAAsgAUEKNgIAIAAgARDUgICAACABQRBqJICAgIAAC00BAn5CACECAkACQCABEOCAgIAAIgNCAhC4gICAAEUNACADQgIQgYCAgAAiAkL/AYNCzQBSDQEgACACNwMIQgEhAgsgACACNwMADwsAC00BAn5CACECAkACQCABEOCAgIAAIgNCARC4gICAAEUNACADQgEQgYCAgAAiAkL/AYNCywBSDQEgACACNwMIQgEhAgsgACACNwMADwsAC3cBA38jgICAgABBIGsiACSAgICAACAAQRBqELOAgIAAAkAgACgCEEEBRw0AIAAoAhQgACgCGBC0gICAAAsgAEEENgIQIABBCGogAEEQahDXgICAACAAKAIIIQEgACgCDCECIABBIGokgICAgAAgAkEAIAFBAXEbC1oCAX4BfwJAAkACQCABEOCAgIAAIgJCAhC4gICAAA0AQQAhAQwBCyACQgIQgYCAgAAiAkL/AYNCBFINASACQiCIpyEDQQEhAQsgACADNgIEIAAgATYCAA8LAAuMAQECfyOAgICAAEEgayIBJICAgIAAIAEQs4CAgAACQCABKAIAQQFHDQAgASgCBCABKAIIELSAgIAACyABQQU2AgAgASAANwMIAkAgARDZgICAACICRQ0AIAFBFGoQyoCAgAAgASgCFEEBRw0AIAEgASgCGCABKAIcEMuAgIAACyABQSBqJICAgIAAIAILEgAgABDggICAAEIBELiAgIAAC1YBAX8jgICAgABBEGsiASSAgICAACABELOAgIAAAkAgASgCAEEBRw0AIAEoAgQgASgCCBC0gICAAAsgAUEJNgIAIAAgARDUgICAACABQRBqJICAgIAAC1YBAX8jgICAgABBEGsiASSAgICAACABELOAgIAAAkAgASgCAEEBRw0AIAEoAgQgASgCCBC0gICAAAsgAUEHNgIAIAAgARDUgICAACABQRBqJICAgIAAC4wBAQJ/I4CAgIAAQSBrIgEkgICAgAAgARCzgICAAAJAIAEoAgBBAUcNACABKAIEIAEoAggQtICAgAALIAFBAzYCACABIAA3AwgCQCABENmAgIAAIgJFDQAgAUEUahDKgICAACABKAIUQQFHDQAgASABKAIYIAEoAhwQy4CAgAALIAFBIGokgICAgAAgAgt3AQN/I4CAgIAAQSBrIgAkgICAgAAgAEEQahCzgICAAAJAIAAoAhBBAUcNACAAKAIUIAAoAhgQtICAgAALIABBBjYCECAAQQhqIABBEGoQ14CAgAAgACgCCCEBIAAoAgwhAiAAQSBqJICAgIAAIAJBACABQQFxGwtdAQF/I4CAgIAAQRBrIgEkgICAgAAgAUEEahCzgICAAAJAIAEoAgRBAUcNACABKAIIIAEoAgwQtICAgAALENGAgIAAIAAQg4CAgAAhACABQRBqJICAgIAAIABCAlILjwECAn8BfiOAgICAAEEQayIAJICAgIAAIAAQs4CAgAACQCAAKAIAQQFHDQAgACgCBCAAKAIIELSAgIAAC0EAIQEgAEEANgIAAkAgABDggICAACICQgIQuICAgABFDQBBASEBAkACQCACQgIQgYCAgACnQf8BcQ4CAQIACwALQQAhAQsgAEEQaiSAgICAACABC6YEAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCAA4LAAECAwQFBgcICQoACyABQYCMwIAAQQYQw4CAgAAgASgCAA0LIAEgASkDCBDEgICAAAwKCyABQYaMwIAAQQYQw4CAgAAgASgCAA0KIAEgASkDCBDEgICAAAwJCyABQYyMwIAAQQsQw4CAgAAgASgCAA0JIAEgASkDCBDEgICAAAwICyABQZeMwIAAQQkQw4CAgAAgASgCAA0IIAEgASkDCCAAKQMIEMWAgIAADAcLIAFBoIzAgABBDRDDgICAACABKAIADQcgASABKQMIEMSAgIAADAYLIAFBrYzAgABBCBDDgICAACABKAIADQYgASABKQMIIAApAwgQxYCAgAAMBQsgAUG1jMCAAEEUEMOAgIAAIAEoAgANBSABIAEpAwgQxICAgAAMBAsgAUHJjMCAAEEOEMOAgIAAIAEoAgANBCABIAEpAwgQxICAgAAMAwsgAUHXjMCAAEEUEMOAgIAAIAEoAgANAyABIAEpAwggADUCBEIghkIEhBDFgICAAAwCCyABQeuMwIAAQQwQw4CAgAAgASgCAA0CIAEgASkDCBDEgICAAAwBCyABQfeMwIAAQQkQw4CAgAAgASgCAA0BIAEgASkDCBDEgICAAAsgASkDCCECIAEpAwBQDQELAAsgAUEQaiSAgICAACACC3wBAn8jgICAgABBEGsiASSAgICAACABQQRqELOAgIAAAkAgASgCBEEBRw0AIAEoAgggASgCDBC0gICAAAsCQAJAIAAQ2ICAgABFDQBBACECDAELAkAQ1oCAgAANAEEBIQIMAQsgABDcgICAACECCyABQRBqJICAgIAAIAILKQACQCAAp0EBcUUNAA8LIAFB0HZqrUIghkKDgICAgJYBhBDAgICAAAALaQIBfwF+AkAgASgCCCICIAEoAgxJDQAgAEICNwMADwsgASkDACACrUIghkIEhBCJgICAACEDAkAgAkEBaiICRQ0AIAAgAzcDCCABIAI2AgggACADQv8Bg0LNAFKtNwMADwsQsYCAgAAAC9wCAgJ/Bn4jgICAgABB0ABrIgIkgICAgABBACEDAkADQCADQShGDQEgAkEIaiADakICNwMAIANBCGohAwwACwtCACEEQgEhBQJAIAFC/wGDQswAUg0AIAFByIHAgABBBSACQQhqQQUQ5YCAgAAgAkEwaiACKQMIEOaAgIAAIAIoAjBBAUYNACACKQNIIQEgAikDQCEGIAJBMGogAikDEBDngICAACACKAIwDQAgAikDOCEHIAJBMGogAikDGBDngICAACACKAIwDQAgAikDICIIQv8Bg0IEUg0AIAIpAzghCSACQTBqIAIpAygQ5oCAgAAgAigCMEEBRg0AIAIpA0AhBCAAIAIpA0g3AyggACAENwMgIAAgATcDGCAAIAY3AxAgACAIQiCIpzYCQCAAIAc3AzggACAJNwMwQgAhBUIAIQQLIAAgBTcDACAAIAQ3AwggAkHQAGokgICAgAALMQACQCACIARGDQAACyAAIAGtQiCGQgSEIAOtQiCGQgSEIAKtQiCGQgSEEJuAgIAAGgt7AgF/AX4CQAJAAkAgAadB/wFxIgJBxABGDQAgAkEKRw0BQgAhAyAAQgA3AxggACABQgiINwMQDAILIAEQmYCAgAAhAyABEJqAgIAAIQEgACADNwMYIAAgATcDEEIAIQMMAQsgAEKDkICAgAE3AwhCASEDCyAAIAM3AwALXQIBfwF+AkACQCABp0H/AXEiAkHAAEYNAAJAIAJBBkYNAEIBIQNCg5CAgIABIQEMAgsgAUIIiCEBQgAhAwwBC0IAIQMgARCVgICAACEBCyAAIAM3AwAgACABNwMIC/wBAgF/BX4jgICAgABBMGsiAiSAgICAACACQQhqIAEpAwAgASkDCBDpgICAAEIBIQMCQCACKAIIDQAgAikDECEEIAJBCGogASkDKBDqgICAACACKAIIDQAgAikDECEFIAJBCGogASkDIBDqgICAACACKAIIDQAgAikDECEGIAE1AjAhByACQQhqIAEpAxAgASkDGBDpgICAACACKAIIDQAgAiACKQMQNwMoIAIgBjcDGCACIAU3AxAgAiAENwMIIAIgB0IghkIEhDcDICAAQciBwIAAQQUgAkEIakEFEM2AgIAANwMIQgAhAwsgACADNwMAIAJBMGokgICAgAALRgACQAJAIAFC//////////8AViACQgBSIAJQGw0AIAFCCIZCCoQhAgwBCyACIAEQmICAgAAhAgsgAEIANwMAIAAgAjcDCAtCAQF/I4CAgIAAQRBrIgIkgICAgAAgAiABEKOBgIAAIAIpAwghASAAIAIpAwA3AwAgACABNwMIIAJBEGokgICAgAALgQEBAn8jgICAgABBIGsiAySAgICAAAJAAkAgAadBAXENACAAQoGAgIAwNwMADAELIAMgAhDsgICAAAJAAkAgAygCAEEBRw0AIABBAzYCBEEBIQQMAQsgACADKQMYNwMYIAAgAykDEDcDEEEAIQQLIAAgBDYCAAsgA0EgaiSAgICAAAt9AgF/AX4CQAJAAkACQCABp0H/AXEiAkHFAEYNACACQQtHDQIgACABQj+HNwMYIAAgAUIIhzcDEAwBCyABEJ6AgIAAIQMgARCfgICAACEBIAAgAzcDGCAAIAE3AxALQgAhAQwBCyAAQoOQgICAATcDCEIBIQELIAAgATcDAAuuDQUBfwF+AX8DfgF/I4CAgIAAQcAAayIDJICAgIAAIANBEGogABDugICAAAJAIAMoAhBBAUYNACADKQMYIQRBACEFAkADQCAFQRBGDQEgA0EwaiAFakICNwMAIAVBCGohBQwACwsgAUL/AYNCzABSDQAgAUH0gsCAAEECIANBMGpBAhDlgICAACADQRBqIAMpAzAQ7oCAgAAgAygCEA0AIAMpAzgiAUL/AYNCyABSDQAgAykDGCEAIAEQioCAgABCgICAgHCDQoCAgICACFINACACQv8Bg0LLAFINACADQRBqELOAgIAAAkAgAygCEEEBRw0AIAMoAhQgAygCGBC0gICAAAtBqIXAgACtQiCGQgSEQoSAgIDAARCLgICAACAAEIyAgIAAEI2AgIAAIgZC/wGDQs0AUg0AAkACQCAGEM+AgIAADQBCg4CAgCAhAQwBCyAAIAQgARCOgICAABoCQAJAAkACQCACEISAgIAAQv////8vVg0AIAIQhICAgABCgICAgBBUDQAgAhCPgICAACIBQv8Bg0LLAFINBSABEISAgIAAIQAgA0EANgIIIAMgATcDACADIABCIIg+AgwgA0EQaiADEO+AgIAAIAMpAxAiAUICUQ0FIAGnQQFxDQUCQCADKQMYIgGnQf8BcSIFQcoARg0AIAVBDkcNBgsCQAJAAkACQAJAIAEQ8ICAgABCIIinDgMAAQIKCyADKAIIIAMoAgwQ8YCAgABBAUsNCSADQTBqIAMQ74CAgAAgAykDMCIBQgJRDQkgAadBAXENCSADQRBqIAMpAzgQ8oCAgAAgAygCEEEBRg0JIAMpAyghBiADKQMYIQAgAykDICIBQaSCwIAAQRAQ0oCAgAAQr4CAgAANAyABQbSCwIAAQRAQ0oCAgAAQr4CAgAANAwJAIAFBxILAgABBChDSgICAABCugICAAEUNACABQc6CwIAAQQoQ0oCAgAAQroCAgAANBQsgBhCEgICAAEL/////D1YNAiADQQM2AhQMBgsgAygCCCADKAIMEPGAgIAAQQFLDQggA0EwaiADEO+AgIAAIAMpAzAiAUICUQ0IIAGnQQFxDQggA0EQaiADKQM4EPOAgIAAIAMoAhBFDQMMCAsgAygCCCADKAIMEPGAgIAAQQFLDQcgA0EwaiADEO+AgIAAIAMpAzAiAUICUQ0HIAGnQQFxDQcgA0EQaiADKQM4EPSAgIAAIAMoAhANBwwCCyADQRBqQgEgBhCQgICAABDrgICAACADKAIQQQFxDQMgAykDKCEBIAMpAyAhACACEISAgIAAQiCIIQYCQCAAIAGEQgBSDQAgBkIBUg0CDAMLIAZCAlINAQJAAkAgAhCEgICAAEKAgICAIFQNACACQoSAgIAQEImAgIAAIgJC/wGDQssAUg0IIAIQhICAgAAhBiADQQA2AgggAyACNwMAIAMgBkIgiD4CDCADQRBqIAMQ74CAgAAgAykDECICQgJRDQggAqdBAXENCAJAIAMpAxgiAqdB/wFxIgVBygBGDQAgBUEORw0JCwJAAkACQCACEPCAgIAAQiCIpw4DAAECCwsgAygCCCADKAIMEPGAgIAAQQFLDQogA0EwaiADEO+AgIAAIAMpAzAiAkICUQ0KIAKnQQFxDQogA0EQaiADKQM4EPKAgIAAIAMoAhBBAUYNCiADKQMgIQYgAykDGCEEIAMpAyghAhD1gICAABD2gICAACEHIAIQhICAgABC/////y9WDQMgA0EDNgIUDAcLIAMoAgggAygCDBDxgICAAEEBSw0JIANBMGogAxDvgICAACADKQMwIgFCAlENCSABp0EBcQ0JIANBEGogAykDOBDzgICAACADKAIQDQkMBAsgAygCCCADKAIMEPGAgIAAQQFLDQggA0EwaiADEO+AgIAAIAMpAzAiAUICUQ0IIAGnQQFxDQggA0EQaiADKQM4EPSAgIAAIAMoAhANCAwDCxD3gICAAAALIANBEGpCASACQoSAgIAgEImAgIAAEOuAgIAAIAMoAhBBAXENAyADKQMoIQIgAykDICEIQQMhBSAGQdiCwIAAQQgQ0oCAgAAQroCAgAANBCAEIAcQrICAgAAhCSAIIACFIAIgAYWEQgBSDQQgCUUNAgwECyACEISAgIAAQoCAgIBwg0KAgICAEFINACAAEPWAgIAAEKyAgIAARQ0BC0KDgICAMCEBDAMLQgIhAQwCCyADKAIUIQULIAVBf2qtQiCGQoOAgIAQfCEBCyADQcAAaiSAgICAACABDwsAC0IBAX5CASECAkAgAUL/AYNCyABSDQAgARCKgICAAEKAgICAcINCgICAgIAEUg0AIAAgATcDCEIAIQILIAAgAjcDAAtKAgF+AX9CAiECAkAgASgCCCIDIAEoAgxPDQAgACABKQMAIAOtQiCGQgSEEImAgIAANwMIIAEgA0EBajYCCEIAIQILIAAgAjcDAAsSACAAQbiAwIAAQQMQxYGAgAALGQACQCABIABJDQAgASAAaw8LELGAgIAAAAvTAQICfwN+I4CAgIAAQSBrIgIkgICAgABBACEDAkADQCADQRhGDQEgAkEIaiADakICNwMAIANBCGohAwwACwtCASEEAkAgAUL/AYNCzABSDQAgAUHMhcCAAEEDIAJBCGpBAxDlgICAACACKQMIIgFC/wGDQssAUg0AIAIpAxAiBUL/AYNCzQBSDQACQCACKQMYIganQf8BcSIDQcoARg0AIANBDkcNAQsgACABNwMYIAAgBjcDECAAIAU3AwhCACEECyAAIAQ3AwAgAkEgaiSAgICAAAu+AQICfwF+I4CAgIAAQSBrIgIkgICAgABBACEDAkADQCADQRBGDQEgAiADakICNwMAIANBCGohAwwACwtCASEEAkAgAUL/AYNCzABSDQAgAUH0hcCAAEECIAJBAhDlgICAACACQRBqIAIpAwAQx4GAgAAgAigCEA0AIAIpAxghASACQRBqIAIpAwgQ7oCAgAAgAigCEA0AIAAgAikDGDcDECAAIAE3AwhCACEECyAAIAQ3AwAgAkEgaiSAgICAAAvgAQICfwJ+I4CAgIAAQTBrIgIkgICAgABBACEDAkADQCADQRhGDQEgAkEIaiADakICNwMAIANBCGohAwwACwtCASEEAkAgAUL/AYNCzABSDQAgAUGUhsCAAEEDIAJBCGpBAxDlgICAACACKQMIIgFC/wGDQssAUg0AIAJBIGogAikDEBDHgYCAACACKAIgDQAgAikDKCEFIAJBIGogAikDGBDugICAACACKAIgDQAgAikDKCEEIAAgATcDGCAAIAQ3AxAgACAFNwMIQgAhBAsgACAENwMAIAJBMGokgICAgAALhwECAX8BfiOAgICAAEEQayIAJICAgIAAIABBBGoQs4CAgAACQCAAKAIEQQFHDQAgACgCCCAAKAIMELSAgIAACwJAAkBBASAAEKuAgIAAIgFCAhC4gICAAEUNACABQgIQgYCAgAAiAUL/AYNCzQBRDQEACxD3gICAAAALIABBEGokgICAgAAgAQs2AAJAIABBvIPAgABBDBDSgICAABCIgICAABCUgICAACIAQv8Bg0LNAFENABCxgICAAAALIAALCQAQsYCAgAAAC50CAgJ/AX4jgICAgABBEGsiASSAgICAAAJAAkBBASAAp0H/AXEiAkEAR0EBdCACQQFGGyICQQJGDQAgARCzgICAAAJAIAEoAgBBAUcNACABKAIEIAEoAggQtICAgAALELmAgIAAIQAQ34CAgAAgAnNBAXFFDQEgAUEANgIAIAEgAkICEPmAgIAAAkACQCACQQFxDQBCjtKq3O6sz/UAEMyAgIAAIQMgASAANwMAIANBmIrAgABBASABQQEQzYCAgAAQh4CAgAAaDAELQo7SqtzurAMQzICAgAAhAyABIAA3AwAgA0GIisCAAEEBIAFBARDNgICAABCHgICAABoLIAFBEGokgICAgABCAg8LAAtCg4CAgKCXARDAgICAAAALGgAgABDggICAACABrUL/AYMgAhCSgICAABoLjQEBAn8jgICAgABBEGsiAiSAgICAAAJAIABC/wGDQs0AUg0AQQEgAadB/wFxIgNBAEdBAXQgA0EBRhsiA0ECRg0AIAJBBGoQs4CAgAACQCACKAIEQQFHDQAgAigCCCACKAIMELSAgIAACxC5gICAABogACADQQFxEMaAgIAAIAJBEGokgICAgABCAg8LAAuNAQECfyOAgICAAEEQayICJICAgIAAAkAgAEL/AYNCzQBSDQBBASABp0H/AXEiA0EAR0EBdCADQQFGGyIDQQJGDQAgAkEEahCzgICAAAJAIAIoAgRBAUcNACACKAIIIAIoAgwQtICAgAALELmAgIAAGiAAIANBAXEQ0ICAgAAgAkEQaiSAgICAAEICDwsAC6MDAQN/I4CAgIAAQSBrIgIkgICAgAACQAJAAkACQCAAQv8Bg0LNAFINAEEBIAGnQf8BcSIDQQBHQQF0IANBAUYbIgNBAkYNACACQRBqELOAgIAAAkAgAigCEEEBRw0AIAIoAhQgAigCGBC0gICAAAsQuYCAgAAaIAAQ3ICAgAAhBAJAAkAgA0EBcQ0AIARFDQMgAkEDNgIQIAIgADcDGCACQRBqEOCAgIAAQgEQkYCAgAAaENaAgIAAIgRFDQUgBEF/aiEEDAELIAQNAyACQQM2AhAgAiAANwMYIAJBEGoQ/YCAgAAgAkEEahDKgICAAAJAIAIoAgRBAUcNACACQRBqIAIoAgggAigCDBDLgICAAAsQ1oCAgABBAWoiBEUNBAsgBBD+gICAAEG0icCAAEENENKAgIAAEMyAgIAAIQEgAiAANwMYIAIgA603AxAgAUHMicCAAEECIAJBEGpBAhDNgICAABCHgICAABogAkEgaiSAgICAAEICDwsAC0KDgICAgJcBEMCAgIAAAAtCg4CAgKCWARDAgICAAAALELGAgIAAAAsOACAAQQFCARD5gICAAAsxAQF/I4CAgIAAQRBrIgEkgICAgAAgAUEENgIAIAEgABDOgYCAACABQRBqJICAgIAAC+4CAQN/I4CAgIAAQSBrIgIkgICAgAACQAJAAkAgAEL/AYNCzQBSDQBBASABp0H/AXEiA0EAR0EBdCADQQFGGyIDQQJGDQAgAkEQahCzgICAAAJAIAIoAhBBAUcNACACKAIUIAIoAhgQtICAgAALELmAgIAAGiAAENiAgIAAIQQCQAJAIANBAXENACAERQ0DIAJBBTYCECACIAA3AxggAkEQahDggICAAEIBEJGAgIAAGgwBCyAEDQMgAkEFNgIQIAIgADcDGCACQRBqEP2AgIAAIAJBBGoQyoCAgAAgAigCBEEBRw0AIAJBEGogAigCCCACKAIMEMuAgIAAC0HcicCAAEEMENKAgIAAEMyAgIAAIQEgAiAANwMYIAIgA603AxAgAUHwicCAAEECIAJBEGpBAhDNgICAABCHgICAABogAkEgaiSAgICAAEICDwsAC0KDgICAkJcBEMCAgIAAAAtCg4CAgLCWARDAgICAAAALegEBfyOAgICAAEEQayICJICAgIAAAkAgAEL/AYNCzQBSDQAgAUL/AYNCBFINACACQQRqELOAgIAAAkAgAigCBEEBRw0AIAIoAgggAigCDBC0gICAAAsgABDOgICAACABQiCIpxCBgYCAACACQRBqJICAgIAAQgIPCwALcgIBfwF+I4CAgIAAQRBrIgEkgICAgAAgAUEGNgIAIAEgABDOgYCAAEGgisCAAEEaENKAgIAAEMyAgIAAIQIgASAArUIghkIEhDcDACACQciKwIAAQQEgAUEBEM2AgIAAEIeAgIAAGiABQRBqJICAgIAAC6wBAQF/I4CAgIAAQRBrIgIkgICAgAACQCAAQv8Bg0LNAFINACABQv8Bg0LNAFINACACELOAgIAAAkAgAigCAEEBRw0AIAIoAgQgAigCCBC0gICAAAsgABDOgICAACABEIOBgIAAQdCKwIAAQRMQ0oCAgAAQzICAgAAhACACIAE3AwAgAEH0isCAAEEBIAJBARDNgICAABCHgICAABogAkEQaiSAgICAAEICDwsACzEBAX8jgICAgABBEGsiASSAgICAACABQQc2AgAgASAAEM2BgIAAIAFBEGokgICAgAALlwIBAX8jgICAgABBIGsiAySAgICAAAJAIABC/wGDQs0AUg0AIAFC/wGDQgRSDQAgAkL/AYNCyABSDQAgA0EQahCzgICAAAJAIAMoAhBBAUcNACADKAIUIAMoAhgQtICAgAALIAAQzoCAgAAgA0EINgIQIAMgAUIgiD4CFCADQRBqEOCAgIAAIAJCARCSgICAABogA0EEahDKgICAAAJAIAMoAgRBAUcNACADQRBqIAMoAgggAygCDBDLgICAAAtBnIvAgABBGhDSgICAABDMgICAACEAIAMgAjcDGCADIAFChICAgHCDNwMQIABBzIvAgABBAiADQRBqQQIQzYCAgAAQh4CAgAAaIANBIGokgICAgABCAg8LAAusAQEBfyOAgICAAEEQayICJICAgIAAAkAgAEL/AYNCzQBSDQAgAUL/AYNCzQBSDQAgAhCzgICAAAJAIAIoAgBBAUcNACACKAIEIAIoAggQtICAgAALIAAQzoCAgAAgARCGgYCAAEHci8CAAEESENKAgIAAEMyAgIAAIQAgAiABNwMAIABB+IvAgABBASACQQEQzYCAgAAQh4CAgAAaIAJBEGokgICAgABCAg8LAAsxAQF/I4CAgIAAQRBrIgEkgICAgAAgAUEJNgIAIAEgABDNgYCAACABQRBqJICAgIAAC38BAX8jgICAgABBEGsiAiSAgICAAAJAIABC/wGDQs0AUg0AIAFC/wGDQs0AUg0AIAJBBGoQs4CAgAACQCACKAIEQQFHDQAgAigCCCACKAIMELSAgIAACyAAEM6AgIAAIAEQiIGAgAAgARCJgYCAACACQRBqJICAgIAAQgIPCwALMQEBfyOAgICAAEEQayIBJICAgIAAIAFBCjYCACABIAAQzYGAgAAgAUEQaiSAgICAAAtdAgF/AX4jgICAgABBEGsiASSAgICAAEH8isCAAEEOENKAgIAAEMyAgIAAIQIgASAANwMIIAJBlIvAgABBASABQQhqQQEQzYCAgAAQh4CAgAAaIAFBEGokgICAgAALCQAQ34CAgACtCxsAAkAgAEL/AYNCzQBRDQAACyAAEM+AgIAArQsIABDHgICAAAsbAAJAIABC/wGDQs0AUQ0AAAsgABDegICAAK0LCAAQ0YCAgAALGwACQCAAQv8Bg0LNAFENAAALIAAQ3ICAgACtCw8AENaAgIAArUIghkIEhAsbAAJAIABC/wGDQs0AUQ0AAAsgABDYgICAAK0LGwACQCAAQv8Bg0LNAFENAAALIAAQ4YCAgACtCw8AEN2AgIAArUIghkIEhAs+AgF/AX4jgICAgABBEGsiACSAgICAACAAENuAgIAAIAApAwAgACkDCBCVgYCAACEBIABBEGokgICAgAAgAQsNACABQgIgAKdBAXEbC8gBAgJ/AX4jgICAgABBIGsiASSAgICAAAJAIABC/wGDQgRSDQAgAEIgiKchAiABELOAgIAAAkAgASgCAEEBRw0AIAEoAgQgASgCCBC0gICAAAsgAUEINgIAIAEgAjYCBEICIQACQCABEOCAgIAAIgNCARC4gICAAEUNACADQgEQgYCAgAAiAEL/AYNCyABSDQEgAUEUahDKgICAACABKAIUQQFHDQAgASABKAIYIAEoAhwQy4CAgAALIAFBIGokgICAgAAgAA8LAAs+AgF/AX4jgICAgABBEGsiACSAgICAACAAENqAgIAAIAApAwAgACkDCBCVgYCAACEBIABBEGokgICAgAAgAQs+AgF/AX4jgICAgABBEGsiACSAgICAACAAENOAgIAAIAApAwAgACkDCBCVgYCAACEBIABBEGokgICAgAAgAQuzAgEBfyOAgICAAEHAAGsiBSSAgICAAAJAAkACQCAAQv8Bg0LNAFINACABQv8Bg0LNAFINACACQv8Bg0IEUg0AIANC/wGDQgRSDQAgBEL/AYNCyABSDQAgBRCzgICAAAJAIAUoAgBBAUcNACAFKAIEIAUoAggQtICAgAALIAAQgoCAgAAaIAAQ3oCAgABFDQEgBSABIAJCIIinIANCIIinIAQQmoGAgAAgBUEwahDbgICAACAFKQM4IQAgBSkDMEG0CRDigICAACAFQTBqIAUpAwAgBSkDCBCbgYCAACAFKAIwQQFHDQILAAtCg4CAgNCXARDAgICAAAALIAUpAzghASAFIAA3AyggBSABNwMgQdCDwIAAQQIgBUEgakECEM2AgIAAIQAgBUHAAGokgICAgAAgAAvGBQQBfwl+AX8BfiOAgICAAEHwAGsiBSSAgICAACAFELOAgIAAAkAgBSgCAEEBRw0AIAUoAgQgBSgCCBC0gICAAAsCQBDfgICAAA0AAkAgARDhgICAAEUNACAFIAIQnoGAgAACQAJAIAUoAgBBAXFFDQAgBSkDKCEGIAUpAyAhByAFNQJAIQggBSkDOCEJIAUpAzAhCiAFKQMYIQsgBSkDECEMIAUQ04CAgAAgBSkDCCENIAUpAwBBuwkQ4oCAgAAgBRDagICAACAFKQMIIQ4gBSkDAEG+CRDigICAABDdgICAACEPEJOAgIAAIRAgBUHgAGogDCALEOmAgIAAIAUoAmANASAFKQNoIQsgBUHgAGogCRDqgICAACAFKAJgDQEgBSkDaCEMIAVB4ABqIAoQ6oCAgAAgBSgCYA0BIAUpA2ghCSAFQeAAaiAHIAYQ6YCAgAAgBSgCYEEBRg0BIAUpA2ghCiAFIAE3A1AgBSANNwNIIAUgBDcDQCAFIAo3AzggBSAJNwMoIAUgDDcDICAFIAs3AxggBSACrUIghkIEhDcDECAFIA+tQiCGQgSENwMIIAUgA61CIIZCBIQ3AwAgBSAIQiCGQgSENwMwIAVB0ITAgABBCyAFQQsQzYCAgAA3A2ggBSAQNwNgQQAhAgJAA0ACQCACQRBHDQBBACECAkADQCACQRBGDQEgBSACaiAFQeAAaiACaikDADcDACACQQhqIQIMAAsLIAUgDkKO1Oq1kNeyASAFQQIQn4GAgAAQlICAgAAQ7ICAgAAgBSgCAEEBRg0CIAUpAxAhASAAIAUpAxg3AwggACABNwMAIAVB8ABqJICAgIAADwsgBSACakICNwMAIAJBCGohAgwACwsQsYCAgAAAC0KDgICAEBDAgICAAAsAC0KDgICA8JYBEMCAgIAAAAtCg4CAgPCXARDAgICAAAALWwACQAJAIAFCgICAgICAgMAAfEL//////////wBWDQAgASABhSACIAFCP4eFhEIAUg0AIAFCCIZCC4QhAQwBCyACIAEQoICAgAAhAQsgAEIANwMAIAAgATcDCAuLAQEBfyOAgICAAEEQayIFJICAgIAAAkAgAEL/AYNCzQBSDQAgAUL/AYNCzQBSDQAgAkL/AYNCBFINACADQv8Bg0IEUg0AIARC/wGDQsgAUg0AIAUgASACQiCIpyADQiCIpyAEEJqBgIAAIAUpAwAgBSkDCBCdgYCAACEBIAVBEGokgICAgAAgAQ8LAAtDAQF/I4CAgIAAQRBrIgIkgICAgAAgAiAAIAEQm4GAgAACQCACKAIAQQFHDQAACyACKQMIIQEgAkEQaiSAgICAACABC90BAgF/AX4jgICAgABB0ABrIgIkgICAgAAgAhCzgICAAAJAIAIoAgBBAUcNACACKAIEIAIoAggQtICAgAALAkACQAJAQQAgARCrgICAACIDQgEQuICAgABFDQAgAiADQgEQgYCAgAAQ5ICAgAAgAigCAEEBcUUNAQALIABCADcDCCAAQgA3AwAMAQsgAEEQaiACQRBqQcAAENCBgIAAGiAAQgA3AwggAEIBNwMAIAIQyoCAgAAgAigCAEEBRw0AIAEgAigCBCACKAIIEKqAgIAACyACQdAAaiSAgICAAAsaACAArUIghkIEhCABrUIghkIEhBCcgICAAAvzBAUBfwF+AX8BfgJ/I4CAgIAAQaACayICJICAgIAAAkACQCAAQv8Bg0LNAFINACABQv8Bg0LLAFINACACQdABahCzgICAAAJAIAIoAtABQQFHDQAgAigC1AEgAigC2AEQtICAgAALIAAQzoCAgAAgARCEgICAAEIgiCEDIAJB0AFqQRBqIQRCACEAAkADQCAAIANRDQEgASAAQiCGQgSEEImAgIAAIQVBACEGAkADQCAGQRBGDQEgAkGAAWogBmpCAjcDACAGQQhqIQYMAAsLAkACQCAFQv8Bg0LMAFINACAFQfyBwIAAQQIgAkGAAWpBAhDlgICAACACQdABaiACKQOAARDkgICAACACKALQAUEBcQ0AIAJBkAFqIARBwAAQ0IGAgAAaIAIpA4gBIgVC/wGDQgRRDQELIABC/////w9RDQQgAiACQcAAakHAABDQgYCAABoMBAsgAkHAAGogAkGQAWpBwAAQ0IGAgAAaIABC/////w9RDQMgAiACQcAAakHAABDQgYCAACIGQdABaiAGQcAAENCBgIAAGiAGIAVCIIinIgc2ApACQQAgBxCrgICAACEFIAZBkAFqIAZB0AFqEOiAgIAAIAYoApABQQFGDQIgBSAGKQOYAUIBEJKAgIAAGiAGQZABahDKgICAAAJAIAYoApABQQFHDQAgByAGKAKUASAGKAKYARCqgICAAAsgAEIBfCEADAALC0HQgMCAAEEOENKAgIAAEMyAgIAAIQAgAiABNwPQASAAQeSAwIAAQQEgAkHQAWpBARDNgICAABCHgICAABogAkGgAmokgICAgABCAg8LAAsQsYCAgAAAC3oBAX8jgICAgABB4ABrIgEkgICAgAACQCAAQv8Bg0IEUg0AIAEgAEIgiKcQnoGAgAACQAJAIAEoAgBBAXENAEICIQAMAQsgAUHQAGogAUEQahDogICAACABKAJQQQFxDQEgASkDWCEACyABQeAAaiSAgICAACAADwsAC+AGAgJ/B34jgICAgABBwABrIgUkgICAgAACQAJAAkAgAEL/AYNCzQBSDQBBACEGAkADQCAGQRhGDQEgBSAGakICNwMAIAZBCGohBgwACwsgAUL/AYNCzABSDQAgAUGkg8CAAEEDIAVBAxDlgICAAAJAAkAgBSkDACIBp0H/AXEiBkHAAEYNACAGQQZHDQIgAUIIiCEHDAELIAEQlYCAgAAhBwsgBUEoaiAFKQMIEO6AgIAAIAUoAigNACAFKQMQIghC/wGDQgRSDQAgAkL/AYNCBFINACADQv8Bg0LNAFINACAEQv8Bg0LLAFINACAFKQMwIQkgBRCz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IAAQjYCAgABC/wGDQgJSDQJBABCrgYCAACABQRBqJICAgIAAQgIPCwALQoOAgICwgwEQwICAgAAAC0KDgICAoIMBEMCAgIAAAAtbAQF/I4CAgIAAQRBrIgAkgICAgAAgAEEEahCzgICAAAJAIAAoAgRBAUcNACAAKAIIIAAoAgwQtICAgAALELmAgIAAGkEAQQEQroGAgAAgAEEQaiSAgICAAEICCxoAIAAQyoGAgAAgAa1C/wGDQgIQkoCAgAAaCwkAELKAgIAArQsIABC6gICAAAs+AgF/AX4jgICAgABBEGsiACSAgICAACAAELyAgIAAIAApAwAgACkDCBCVgYCAACEBIABBEGokgICAgAAgAQs+AgF/AX4jgICAgABBEGsiACSAgICAACAAEL+AgIAAIAApAwAgACkDCBCVgYCAACEBIABBEGokgICAgAAgAQt9AgF/AX4jgICAgABBEGsiASSAgICAAAJAIABC/wGDQs0AUg0AIAFBBGoQs4CAgAACQCABKAIEQQFHDQAgASgCCCABKAIMELSAgIAACxC7gICAACECEL6AgIAAIAAQqIGAgAAgAiAAELSBgIAAIAFBEGokgICAgABCAg8LAAthAgF/AX4jgICAgABBEGsiAiSAgICAAEG9hsCAAEEVENKAgIAAEMyAgIAAIQMgAiAANwMIIAIgATcDACADQeSGwIAAQQIgAkECEM2AgIAAEIeAgIAAGiACQRBqJICAgIAAC9wCAgF/An4jgICAgABBIGsiAiSAgICAAAJAAkACQCAAQv8Bg0LNAFINACABQv8Bg0IEUg0AIAJBCGoQs4CAgAACQCACKAIIQQFHDQAgAigCDCACKAIQELSAgIAACxC7gICAACEDAkACQCABQv////8PVg0AIAJBCGoQv4CAgAAgAikDECEBIAIpAwhBiAgQvYCAgAAgASAAEK2AgIAARQ0DELaBgIAADAELELeBgIAAIAFCIIinSQ0DQQEgAEIAELiBgIAAQQEQwYCAgABCACABQoSAgIBwgyIBIAEQgICAgAAaQfSGwIAAQRYQ0oCAgAAQzICAgAAhBCACIAE3AxggAiADNwMQIAIgADcDCCAEQZCHwIAAQQMgAkEIakEDEM2AgIAAEIeAgIAAGgsgAkEgaiSAgICAAEICDwsAC0KDgICA4IABEMCAgIAAAAtCg4CAgPCAARDAgICAAAALEwBBARDBgICAAEIAEJGAgIAAGgszAQJ+EKWAgIAAIQACQBCmgICAAEIgiCIBIABCIIgiAFQNACABpyAAp2sPCxCxgICAAAALFQAgABDBgICAACABIAIQkoCAgAAaC6cBAgF/An4jgICAgABBEGsiACSAgICAACAAELOAgIAAAkAgACgCAEEBRw0AIAAoAgQgACgCCBC0gICAAAsgABC/gICAACAAKQMIIQEgACkDAEGICBC9gICAACABEIKAgIAAGiAAEMKAgIAAAkAgACgCAA0AEPeAgIAAAAsgACkDCCECELaBgIAAIAEQqIGAgAAgAiABELSBgIAAIABBEGokgICAgABCAgugAQIBfwJ+I4CAgIAAQRBrIgAkgICAgAAgABCzgICAAAJAIAAoAgBBAUcNACAAKAIEIAAoAggQtICAgAALELuAgIAAIQEQvoCAgABBABDBgICAAEICEJGAgIAAGkGoh8CAAEETENKAgIAAEMyAgIAAIQIgACABNwMAIAJBvIfAgABBASAAQQEQzYCAgAAQh4CAgAAaIABBEGokgICAgABCAgsxAAJAIABC/wGDQgRSDQAgAUL/AYNCBFINACAAQiCIpyABQiCIpxC0gICAAEICDwsAC98EAQV/I4CAgIAAQdAAayICJICAgIAAIAJBKGogABC9gYCAAAJAIAIoAihBAkYNACACQQhqQQhqIAJBKGpBCGoiAygCADYCACACIAIpAig3AwggAkEoaiABEL2BgIAAIAIoAihBAkYNACACQRhqQQhqIAMoAgA2AgAgAiACKQIoNwMYIAJBKGoQs4CAgAACQCACKAIoQQFHDQAgAigCLCACKAIwELSAgIAACxC5gICAABoCQAJAAkAQtoCAgAANABC3gYCAACIDQYD7gAMgA0GA+4ADSRshBCACIAJBGGo2AiwgAiACQQhqNgIoQQAhAwNAIANBCEYNAwJAIAJBKGogA2ooAgAiBSgCAEEBcUUNACAFKAIIIgYgBEsNAyAFKAIEIAZLDQMLIANBBGohAwwACwtCg4CAgND/ABDAgICAAAALQoOAgIDA/wAQwICAgAAACwJAAkAgAigCCEEBRw0AIAIoAgwgAigCEBCmgYCAAAwBC0EBELeAgIAAQgIQkYCAgAAaCwJAAkAgAigCGEEBRw0AIAIoAhwgAigC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IgEkgICAgAACQAJAAkACQCAAQQFxRQ0AIAFBzojAgABBCRDDgICAACABKAIADQIgASABKQMIEMSAgIAADAELIAFBtojAgABBBhDDgICAACABKAIADQEgASABKQMIEMSAgIAACyABKQMIIQIgASkDAFANAQsACyABQRBqJICAgIAAIAILdwICfwF+I4CAgIAAQRBrIgIkgICAgABBACEDAkACQCABELeAgIAAIgRCAhC4gICAAEUNACACQQRqIARCAhCBgICAABDIgYCAAEEBIQMgAigCBEEBRg0BIAAgAikCCDcCBAsgACADNgIAIAJBEGokgICAgAAPCwALVgIBfwF+I4CAgIAAQRBrIgMkgICAgAAgABC3gICAACEEIAMgASACEMmBgIAAAkAgAygCAEEBRw0AAAsgBCADKQMIQgIQkoCAgAAaIANBEGokgICAgAALFQAgABDggICAACABQgIQkoCAgAAaCxwAIAAQ4ICAgAAgAa1CIIZCBIRCAhCSgICAABoLuQcBDH8jgICAgABBEGshAwJAAkAgAkEQTw0AIAAhBAwBCwJAIAAgAEEAIABrQQNxIgVqIgZPDQAgBUF/aiEHIAAhBCABIQgCQCAFRQ0AIAUhCSAAIQQgASEIA0AgBCAILQAAOgAAIAhBAWohCCAEQQFqIQQgCUF/aiIJDQALCyAHQQdJDQADQCAEIAgtAAA6AAAgBEEBaiAIQQFqLQAAOgAAIARBAmogCEECai0AADoAACAEQQNqIAhBA2otAAA6AAAgBEEEaiAIQQRqLQAAOgAAIARBBWogCEEFai0AADoAACAEQQZqIAhBBmotAAA6AAAgBEEHaiAIQQdqLQAAOgAAIAhBCGohCCAEQQhqIgQgBkcNAAsLIAYgAiAFayIJQXxxIgdqIQQCQAJAIAEgBWoiCEEDcSIBDQAgBiAETw0BIAghAQNAIAYgASgCADYCACABQQRqIQEgBkEEaiIGIARJDQAMAgsLQQAhAiADQQA2AgwgA0EMaiABciEFAkBBBCABayIKQQFxRQ0AIAUgCC0AADoAAEEBIQILAkAgCkECcUUNACAFIAJqIAggAmovAQA7AQALIAggAWshAiABQQN0IQsgAygCDCEFAkACQCAGQQRqIARJDQAgBiEMDAELQQAgC2tBGHEhDQNAIAYgBSALdiACQQRqIgIoAgAiBSANdHI2AgAgBkEIaiEKIAZBBGoiDCEGIAogBEkNAAsLQQAhBiADQQA6AAggA0EAOgAGAkACQCABQQFHDQAgA0EIaiENQQAhAUEAIQpBACEODAELIAJBBWotAAAhCiADIAJBBGotAAAiAToACCAKQQh0IQpBAiEOIANBBmohDQsCQCAIQQFxRQ0AIA0gAkEEaiAOai0AADoAACADLQAGQRB0IQYgAy0ACCEBCyAMIAogBnIgAUH/AXFyQQAgC2tBGHF0IAUgC3ZyNgIACyAJQQNxIQIgCCAHaiEBCwJAIAQgBCACaiIGTw0AIAJBf2ohCQJAIAJBB3EiCEUNAANAIAQgAS0AADoAACABQQFqIQEgBEEBaiEEIAhBf2oiCA0ACwsgCUEHSQ0AA0AgBCABLQAAOgAAIARBAWogAUEBai0AADoAACAEQQJqIAFBAmotAAA6AAAgBEEDaiABQQNqLQAAOgAAIARBBGogAUEEai0AADoAACAEQQVqIAFBBWotAAA6AAAgBEEGaiABQQZqLQAAOgAAIARBB2ogAUEHai0AADoAACABQQhqIQEgBEEIaiIEIAZHDQALCyAACw4AIAAgASACEM+BgIAACwuKDQEAQYCAwAALgA1Db250cmFjdENyZWF0ZUNvbnRyYWN0SG9zdEZuQ3JlYXRlQ29udHJhY3RXaXRoQ3Rvckhvc3RGbgAAEAAIAAAACAAQABQAAAAcABAAHAAAAGRzdF9jb25maWdfc2V0cGFyYW1zXgAQAAYAAABuYXRpdmVfZHJvcF9hcHBsaWVkbmF0aXZlX2Ryb3BfcGFyYW1zb3JpZ2luc3VjY2VzcwAAtgUQAAcAAAB/ABAAEgAAAMgEEAAEAAAAkQAQAAYAAACXABAABwAAAPYBEAAQAAAAIAIQABMAAAAzAhAAEwAAADoFEAAOAAAARgIQAAoAAABkc3RfY29uZmlnAADwABAACgAAALYFEAAHAAAAcmVjZWl2ZXLIARAABgAAAAwBEAAIAAAAbHpfcmVjZWl2ZV9hbGVydGx6X2NvbXBvc2VfYWxlcnRsel9yZWNlaXZlbHpfY29tcG9zZXRyYW5zZmVycHVibGljX2tleXNpZ25hdHVyZQBgARAACgAAAGoBEAAJAAAARHN0Q29uZmlnRW5kcG9pbnRub25jZXNyY19laWQAAACVARAABQAAAA0CEAAGAAAAmgEQAAcAAABuYXRpdmVfdG9rZW5hbW91bnR0b8gBEAAGAAAAzgEQAAIAAABkZWZhdWx0X211bHRpcGxpZXJfYnBzZmxvb3JfbWFyZ2luX3VzZG9wdGlvbnNzZW5kZXJjYWxsZGF0YV9zaXplbHpfY29tcG9zZV9iYXNlX2dhc2x6X3JlY2VpdmVfYmFzZV9nYXNuYXRpdmVfY2FwEwIQAA0AAADgARAAFgAAALYFEAAHAAAA9gEQABAAAAAgAhAAEwAAADMCEAATAAAAOgUQAA4AAABGAhAACgAAAAYCEAAHAAAAigUQAAoAAAANAhAABgAAAAAAABIAAAAAAAAAAFdhc21hcmdzY29udHJhY3Rmbl9uYW1lALgCEAAEAAAAvAIQAAgAAADEAhAABwAAAGV4ZWN1dGFibGVzYWx0AADkAhAACgAAAO4CEAAEAAAAY29uc3RydWN0b3JfYXJncwQDEAAQAAAA5AIQAAoAAADuAhAABAAAALQCEAAEAAAAdGhyZXNob2xkb3duZXJzaGlwX3RyYW5zZmVycmVkbmV3X293bmVyb2xkX293bmVyUgMQAAkAAABbAxAACQAAAG93bmVyc2hpcF90cmFuc2ZlcnJpbmd0dGwAAABSAxAACQAAAFsDEAAJAAAAigMQAAMAAABvd25lcnNoaXBfcmVub3VuY2VkAFsDEAAJAAAAT3duZXJQZW5kaW5nT3duZXJleHRlbmRfdG8AANUDEAAJAAAANAMQAAkAAAB0dGxfY29uZmlnc19zZXRpbnN0YW5jZXBlcnNpc3RlbnQAAAD/AxAACAAAAAcEEAAKAAAAdHRsX2NvbmZpZ3NfZnJvemVuRnJvemVuSW5zdGFuY2VQZXJzaXN0ZW50TWlncmF0aW5nYWN0aXZlYWRtaW4AAFcEEAAGAAAAXQQQAAUAAABzZXRfc3VwcG9ydGVkX21lc3NhZ2VfbGlibWVzc2FnZV9saWJzdXBwb3J0ZWQAAACNBBAACwAAAJgEEAAJAAAAc2V0X2FsbG93bGlzdGFsbG93ZWRvYXBwwQQQAAcAAADIBBAABAAAAHNldF9kZW55bGlzdGRlbmllZAAA6AQQAAYAAADIBBAABAAAAHBhdXNlcgAAAAUQAAYAAAB1bnBhdXNlchAFEAAIAAAAc2V0X2RlZmF1bHRfbXVsdGlwbGllcl9icHNtdWx0aXBsaWVyX2JwczoFEAAOAAAAc2V0X2RlcG9zaXRfYWRkcmVzc2RlcG9zaXRfYWRkcmVzcwAAYwUQAA8AAABzZXRfcHJpY2VfZmVlZHByaWNlX2ZlZWSKBRAACgAAAHNldF9zdXBwb3J0ZWRfb3B0aW9uX3R5cGVzZHN0X2VpZG9wdGlvbl90eXBlcwAAALYFEAAHAAAAvQUQAAwAAABzZXRfd29ya2VyX2ZlZV9saWJmZWVfbGliAAAA7gUQAAcAAABQYXVzZWRBZG1pbnNNZXNzYWdlTGlic0FsbG93bGlzdEFsbG93bGlzdFNpemVEZW55bGlzdERlZmF1bHRNdWx0aXBsaWVyQnBzRGVwb3NpdEFkZHJlc3NTdXBwb3J0ZWRPcHRpb25UeXBlc1dvcmtlckZlZUxpYlByaWNlRmVlZADX9AEOY29udHJhY3RzcGVjdjAAAAAEAAAAAAAAAAAAAAANRXhlY3V0b3JFcnJvcgAAAAAAAAMAAAAAAAAAD0VpZE5vdFN1cHBvcnRlZAAAAAABAAAAAAAAAAxVbmF1dGhvcml6ZWQAAAACAAAAAAAAABNVbmF1dGhvcml6ZWRDb250ZXh0AAAAAAMAAAAFAAAAAAAAAAAAAAAMRHN0Q29uZmlnU2V0AAAAAQAAAA5kc3RfY29uZmlnX3NldAAAAAAAAQAAAAAAAAAGcGFyYW1zAAAAAAPqAAAH0AAAABFTZXREc3RDb25maWdQYXJhbQAAAAAAAAAAAAACAAAABQAAAAAAAAAAAAAAEU5hdGl2ZURyb3BBcHBsaWVkAAAAAAAAAQAAABNuYXRpdmVfZHJvcF9hcHBsaWVkAAAAAAUAAAAAAAAABm9yaWdpbgAAAAAH0AAAAAZPcmlnaW4AAAAAAAAAAAAAAAAAB2RzdF9laWQAAAAABAAAAAAAAAAAAAAABG9hcHAAAAATAAAAAAAAAAAAAAASbmF0aXZlX2Ryb3BfcGFyYW1zAAAAAAPqAAAH0AAAABBOYXRpdmVEcm9wUGFyYW1zAAAAAAAAAAAAAAAHc3VjY2VzcwAAAAPqAAAAAQAAAAAAAAACAAAAAQAAANtEZXN0aW5hdGlvbiBjaGFpbiBjb25maWd1cmF0aW9uIGZvciBleGVjdXRvciBmZWUgY2FsY3VsYXRpb24uCgpDb250YWlucyBnYXMgY29zdHMgYW5kIGZlZSBwYXJhbWV0ZXJzIHNwZWNpZmljIHRvIGVhY2ggZGVzdGluYXRpb24gY2hhaW4uClRoZXNlIHBhcmFtZXRlcnMgYXJlIHVzZWQgYnkgdGhlIGZlZSBsaWJyYXJ5IHRvIGNhbGN1bGF0ZSBhY2N1cmF0ZSBleGVjdXRpb24gZmVlcy4AAAAAAAAAAAlEc3RDb25maWcAAAAAAAAFAAAAO01pbmltdW0gZmVlIG1hcmdpbiBpbiBVU0QgKHNjYWxlZCkgdG8gZW5zdXJlIHByb2ZpdGFiaWxpdHkuAAAAABBmbG9vcl9tYXJnaW5fdXNkAAAACgAAADpCYXNlIGdhcyBjb3N0IHBlciBsekNvbXBvc2UgY2FsbCBvbiB0aGUgZGVzdGluYXRpb24gY2hhaW4uAAAAAAATbHpfY29tcG9zZV9iYXNlX2dhcwAAAAAGAAAAP0Jhc2UgZ2FzIGNvc3QgZm9yIGx6UmVjZWl2ZSBleGVjdXRpb24gb24gdGhlIGRlc3RpbmF0aW9uIGNoYWluLgAAAAATbHpfcmVjZWl2ZV9iYXNlX2dhcwAAAAAGAAAAUUZlZSBtdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cyBmb3IgdGhpcyBkZXN0aW5hdGlvbiAoMCA9IHVzZSBkZWZhdWx0IG11bHRpcGxpZXIpLgAAAAAAAA5tdWx0aXBsaWVyX2JwcwAAAAAABAAAAEZNYXhpbXVtIG5hdGl2ZSB0b2tlbiB2YWx1ZSB0aGF0IGNhbiBiZSB0cmFuc2ZlcnJlZCB0byB0aGUgZGVzdGluYXRpb24uAAAAAAAKbmF0aXZlX2NhcAAAAAAACgAAAAEAAAB8UGFyYW1ldGVycyBmb3Igc2V0dGluZyBkZXN0aW5hdGlvbiBjb25maWd1cmF0aW9uLgoKVXNlZCB3aGVuIGNvbmZpZ3VyaW5nIGV4ZWN1dG9yIHNldHRpbmdzIGZvciBhIHNwZWNpZmljIGRlc3RpbmF0aW9uIGNoYWluLgAAAAAAAAARU2V0RHN0Q29uZmlnUGFyYW0AAAAAAAACAAAAKENvbmZpZ3VyYXRpb24gZm9yIHRoZSBkZXN0aW5hdGlvbiBjaGFpbi4AAAAKZHN0X2NvbmZpZwAAAAAH0AAAAAlEc3RDb25maWcAAAAAAAArRGVzdGluYXRpb24gZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpLgAAAAAHZHN0X2VpZAAAAAAEAAAAAQAAAGhQYXJhbWV0ZXJzIGZvciBhIG5hdGl2ZSB0b2tlbiBkcm9wLgoKVXNlZCB0byBzcGVjaWZ5IG5hdGl2ZSB0b2tlbiB0cmFuc2ZlcnMgYXMgcGFydCBvZiBleGVjdXRvciBvcHRpb25zLgAAAAAAAAAQTmF0aXZlRHJvcFBhcmFtcwAAAAIAAAAkQW1vdW50IG9mIG5hdGl2ZSB0b2tlbnMgdG8gdHJhbnNmZXIuAAAABmFtb3VudAAAAAAACwAAAC9SZWNlaXZlciBhZGRyZXNzIGZvciB0aGUgbmF0aXZlIHRva2VuIHRyYW5zZmVyLgAAAAAIcmVjZWl2ZXIAAAATAAAAAAAAALhWZXJpZmllcyBhdXRob3JpemF0aW9uIGZvciB0aGUgZXhlY3V0b3IgY29udHJhY3QuCgpUaGUgcHVibGljIGtleSBtdXN0IGNvcnJlc3BvbmQgdG8gYSByZWdpc3RlcmVkIGFkbWluIGFuZCBtdXN0IGhhdmUgc2lnbmVkIHRoZSBzaWduYXR1cmVfcGF5bG9hZC4KVXNlcyBFZDI1NTE5IHNpZ25hdHVyZSB2ZXJpZmljYXRpb24uAAAADF9fY2hlY2tfYXV0aAAAAAMAAAAAAAAAEXNpZ25hdHVyZV9wYXlsb2FkAAAAAAAD7gAAACAAAAAAAAAACWF1dGhfZGF0YQAAAAAAB9AAAAARRXhlY3V0b3JTaWduYXR1cmUAAAAAAAAAAAAADWF1dGhfY29udGV4dHMAAAAAAAPqAAAH0AAAAAdDb250ZXh0AAAAAAEAAAPpAAAAAgAAAAMAAAABAAAAjFNpZ25hdHVyZSBkYXRhIGZvciBDdXN0b20gQWNjb3VudCBhdXRob3JpemF0aW9uLgpDb250YWlucyB0aGUgYWRtaW4ncyBwdWJsaWMga2V5IGFuZCB0aGVpciBFZDI1NTE5IHNpZ25hdHVyZSBvdmVyIHRoZSBhdXRob3JpemF0aW9uIHBheWxvYWQuAAAAAAAAABFFeGVjdXRvclNpZ25hdHVyZQAAAAAAAAIAAABNQWRtaW4ncyBFZDI1NTE5IHB1YmxpYyBrZXkgKDMyIGJ5dGVzKSAtIG11c3QgY29ycmVzcG9uZCB0byBhIHJlZ2lzdGVyZWQgYWRtaW4AAAAAAAAKcHVibGljX2tleQAAAAAD7gAAACAAAAA3RWQyNTUxOSBzaWduYXR1cmUgKDY0IGJ5dGVzKSBvdmVyIHRoZSBzaWduYXR1cmVfcGF5bG9hZAAAAAAJc2lnbmF0dXJlAAAAAAAD7gAAAEAAAAAAAAAA5FNldHMgdGhlIHBhdXNlZCBzdGF0ZSBvZiB0aGUgd29ya2VyLgoKV2hlbiBwYXVzZWQsIHRoZSB3b3JrZXIgd2lsbCByZWplY3QgbmV3IGpvYiBhc3NpZ25tZW50cyAoZS5nLiwgYXNzaWduX2pvYiwgZ2V0X2ZlZSkuCkV4aXN0aW5nIGpvYnMgaW4gcHJvZ3Jlc3MgYXJlIG5vdCBhZmZlY3RlZC4KCiMgQXJndW1lbnRzCiogYHBhdXNlZGAgLSBgdHJ1ZWAgdG8gcGF1c2UsIGBmYWxzZWAgdG8gdW5wYXVzZQAAAApzZXRfcGF1c2VkAAAAAAABAAAAAAAAAAZwYXVzZWQAAAAAAAEAAAAAAAAAAAAAAP1TZXRzIGFkbWluIHN0YXR1cyBmb3IgYW4gYWRkcmVzcy4KCkFkbWlucyBjYW4gY29uZmlndXJlIHdvcmtlciBzZXR0aW5ncyBsaWtlIGZlZSBtdWx0aXBsaWVycywgZGVwb3NpdCBhZGRyZXNzZXMsCmFuZCBzdXBwb3J0ZWQgb3B0aW9uIHR5cGVzLgoKIyBBcmd1bWVudHMKKiBgYWRtaW5gIC0gVGhlIGFkZHJlc3MgdG8gc2V0IGFkbWluIHN0YXR1cyBmb3IKKiBgYWN0aXZlYCAtIGB0cnVlYCB0byBhZGQgYWRtaW4sIGBmYWxzZWAgdG8gcmVtb3ZlAAAAAAAACXNldF9hZG1pbgAAAAAAAAIAAAAAAAAABWFkbWluAAAAAAAAEwAAAAAAAAAGYWN0aXZlAAAAAAABAAAAAAAAAAAAAAE3U2V0cyB3aGV0aGVyIGEgbWVzc2FnZSBsaWJyYXJ5IGlzIHN1cHBvcnRlZCBieSB0aGlzIHdvcmtlci4KCk1lc3NhZ2UgbGlicmFyaWVzIChlLmcuLCBVTE4zMDIpIGNhbGwgd29ya2VycyB0byBhc3NpZ24gam9icy4gT25seSBzdXBwb3J0ZWQKbGlicmFyaWVzIGNhbiBpbnRlcmFjdCB3aXRoIHRoaXMgd29ya2VyLgoKIyBBcmd1bWVudHMKKiBgbWVzc2FnZV9saWJgIC0gVGhlIG1lc3NhZ2UgbGlicmFyeSBjb250cmFjdCBhZGRyZXNzCiogYHN1cHBvcnRlZGAgLSBgdHJ1ZWAgdG8gYWRkIHN1cHBvcnQsIGBmYWxzZWAgdG8gcmVtb3ZlIHN1cHBvcnQAAAAAGXNldF9zdXBwb3J0ZWRfbWVzc2FnZV9saWIAAAAAAAACAAAAAAAAAAttZXNzYWdlX2xpYgAAAAATAAAAAAAAAAlzdXBwb3J0ZWQAAAAAAAABAAAAAAAAAAAAAAFYU2V0cyBhbGxvd2xpc3Qgc3RhdHVzIGZvciBhbiBPQXBwIGFkZHJlc3MuCgpXaGVuIHRoZSBhbGxvd2xpc3QgaXMgZW1wdHksIGFsbCBPQXBwcyBhcmUgYWxsb3dlZCAodW5sZXNzIG9uIGRlbnlsaXN0KS4KV2hlbiB0aGUgYWxsb3dsaXN0IGlzIG5vdCBlbXB0eSwgb25seSBhbGxvd2xpc3RlZCBPQXBwcyBhcmUgYWxsb3dlZC4KRGVueWxpc3QgYWx3YXlzIHRha2VzIHByZWNlZGVuY2Ugb3ZlciBhbGxvd2xpc3QuCgojIEFyZ3VtZW50cwoqIGBvYXBwYCAtIFRoZSBPQXBwIGNvbnRyYWN0IGFkZHJlc3MKKiBgYWxsb3dlZGAgLSBgdHJ1ZWAgdG8gYWRkIHRvIGFsbG93bGlzdCwgYGZhbHNlYCB0byByZW1vdmUAAAANc2V0X2FsbG93bGlzdAAAAAAAAAIAAAAAAAAABG9hcHAAAAATAAAAAAAAAAdhbGxvd2VkAAAAAAEAAAAAAAAAAAAAAQlTZXRzIGRlbnlsaXN0IHN0YXR1cyBmb3IgYW4gT0FwcCBhZGRyZXNzLgoKRGVueWxpc3RlZCBPQXBwcyBhcmUgYmxvY2tlZCBmcm9tIHVzaW5nIHRoaXMgd29ya2VyLCBldmVuIGlmIHRoZXkncmUgb24KdGhlIGFsbG93bGlzdCAoZGVueWxpc3QgdGFrZXMgcHJlY2VkZW5jZSkuCgojIEFyZ3VtZW50cwoqIGBvYXBwYCAtIFRoZSBPQXBwIGNvbnRyYWN0IGFkZHJlc3MKKiBgZGVuaWVkYCAtIGB0cnVlYCB0byBhZGQgdG8gZGVueWxpc3QsIGBmYWxzZWAgdG8gcmVtb3ZlAAAAAAAADHNldF9kZW55bGlzdAAAAAIAAAAAAAAABG9hcHAAAAATAAAAAAAAAAZkZW5pZWQAAAAAAAEAAAAAAAAAAAAAATtTZXRzIHRoZSBkZWZhdWx0IGZlZSBtdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cy4KClRoZSBtdWx0aXBsaWVyIGlzIGFwcGxpZWQgdG8gYmFzZSBmZWVzIGR1cmluZyBmZWUgY2FsY3VsYXRpb24uIFVzZWQgd2hlbgpubyBkZXN0aW5hdGlvbi1zcGVjaWZpYyBtdWx0aXBsaWVyIGlzIGNvbmZpZ3VyZWQuCgojIEFyZ3VtZW50cwoqIGBhZG1pbmAgLSBBZG1pbiBhZGRyZXNzIChtdXN0IHByb3ZpZGUgYXV0aG9yaXphdGlvbikKKiBgbXVsdGlwbGllcl9icHNgIC0gTXVsdGlwbGllciBpbiBiYXNpcyBwb2ludHMgKDEwMDAwID0gMXgsIDEyMDAwID0gMS4yeCkAAAAAGnNldF9kZWZhdWx0X211bHRpcGxpZXJfYnBzAAAAAAACAAAAAAAAAAVhZG1pbgAAAAAAABMAAAAAAAAADm11bHRpcGxpZXJfYnBzAAAAAAAEAAAAAAAAAAAAAADxU2V0cyB0aGUgZGVwb3NpdCBhZGRyZXNzIHdoZXJlIHdvcmtlciBmZWVzIGFyZSBjb2xsZWN0ZWQuCgpXaGVuIGpvYnMgYXJlIGFzc2lnbmVkLCBmZWVzIGFyZSBkaXJlY3RlZCB0byB0aGlzIGFkZHJlc3MuCgojIEFyZ3VtZW50cwoqIGBhZG1pbmAgLSBBZG1pbiBhZGRyZXNzIChtdXN0IHByb3ZpZGUgYXV0aG9yaXphdGlvbikKKiBgZGVwb3NpdF9hZGRyZXNzYCAtIEFkZHJlc3MgdG8gcmVjZWl2ZSBjb2xsZWN0ZWQgZmVlcwAAAAAAABNzZXRfZGVwb3NpdF9hZGRyZXNzAAAAAAIAAAAAAAAABWFkbWluAAAAAAAAEwAAAAAAAAAPZGVwb3NpdF9hZGRyZXNzAAAAABMAAAAAAAAAAAAAAQlTZXRzIHN1cHBvcnRlZCBleGVjdXRvciBvcHRpb24gdHlwZXMgZm9yIGEgZGVzdGluYXRpb24gZW5kcG9pbnQuCgojIEFyZ3VtZW50cwoqIGBhZG1pbmAgLSBBZG1pbiBhZGRyZXNzIChtdXN0IHByb3ZpZGUgYXV0aG9yaXphdGlvbikKKiBgZWlkYCAtIERlc3RpbmF0aW9uIGVuZHBvaW50IElEIChjaGFpbiBpZGVudGlmaWVyKQoqIGBvcHRpb25fdHlwZXNgIC0gU3VwcG9ydGVkIG9wdGlvbiB0eXBlcy4gRWFjaCBieXRlIHJlcHJlc2VudHMgYW4gb3B0aW9uIHR5cGUuAAAAAAAAGnNldF9zdXBwb3J0ZWRfb3B0aW9uX3R5cGVzAAAAAAADAAAAAAAAAAVhZG1pbgAAAAAAABMAAAAAAAAAA2VpZAAAAAAEAAAAAAAAAAxvcHRpb25fdHlwZXMAAAAOAAAAAAAAAAAAAAESU2V0cyB0aGUgd29ya2VyIGZlZSBsaWJyYXJ5IGNvbnRyYWN0IGFkZHJlc3MuCgpUaGUgZmVlIGxpYnJhcnkgY2FsY3VsYXRlcyBmZWVzIGJhc2VkIG9uIGV4ZWN1dG9yIG9wdGlvbnMgYW5kIHByaWNlIGZlZWQgZGF0YS4KCiMgQXJndW1lbnRzCiogYGFkbWluYCAtIEFkbWluIGFkZHJlc3MgKG11c3QgcHJvdmlkZSBhdXRob3JpemF0aW9uKQoqIGB3b3JrZXJfZmVlX2xpYmAgLSBGZWUgbGlicmFyeSBjb250cmFjdCBhZGRyZXNzIGltcGxlbWVudGluZyBgSUV4ZWN1dG9yRmVlTGliYAAAAAAAEnNldF93b3JrZXJfZmVlX2xpYgAAAAAAAgAAAAAAAAAFYWRtaW4AAAAAAAATAAAAAAAAAA53b3JrZXJfZmVlX2xpYgAAAAAAEwAAAAAAAAAAAAABElNldHMgdGhlIHByaWNlIGZlZWQgY29udHJhY3QgYWRkcmVzcy4KClRoZSBwcmljZSBmZWVkIHByb3ZpZGVzIGdhcyBwcmljZXMgYW5kIGV4Y2hhbmdlIHJhdGVzIGZvciBjcm9zcy1jaGFpbgpmZWUgY2FsY3VsYXRpb25zLgoKIyBBcmd1bWVudHMKKiBgYWRtaW5gIC0gQWRtaW4gYWRkcmVzcyAobXVzdCBwcm92aWRlIGF1dGhvcml6YXRpb24pCiogYHByaWNlX2ZlZWRgIC0gUHJpY2UgZmVlZCBjb250cmFjdCBhZGRyZXNzIGltcGxlbWVudGluZyBgSUxheWVyWmVyb1ByaWNlRmVlZGAAAAAAAA5zZXRfcHJpY2VfZmVlZAAAAAAAAgAAAAAAAAAFYWRtaW4AAAAAAAATAAAAAAAAAApwcmljZV9mZWVkAAAAAAATAAAAAAAAAAAAAAAlUmV0dXJucyB3aGV0aGVyIHRoZSB3b3JrZXIgaXMgcGF1c2VkLgAAAAAAAAZwYXVzZWQAAAAAAAAAAAABAAAAAQAAAAAAAABVUmV0dXJucyB3aGV0aGVyIGFuIGFkZHJlc3MgaXMgYW4gYWRtaW4uCgojIEFyZ3VtZW50cwoqIGBhZG1pbmAgLSBUaGUgYWRkcmVzcyB0byBjaGVjawAAAAAAAAhpc19hZG1pbgAAAAEAAAAAAAAABWFkbWluAAAAAAAAEwAAAAEAAAABAAAAAAAAABxSZXR1cm5zIGFsbCBhZG1pbiBhZGRyZXNzZXMuAAAABmFkbWlucwAAAAAAAAAAAAEAAAPqAAAAEwAAAAAAAABvUmV0dXJucyB3aGV0aGVyIGEgbWVzc2FnZSBsaWJyYXJ5IGlzIHN1cHBvcnRlZC4KCiMgQXJndW1lbnRzCiogYG1lc3NhZ2VfbGliYCAtIE1lc3NhZ2UgbGlicmFyeSBjb250cmFjdCBhZGRyZXNzAAAAABhpc19zdXBwb3J0ZWRfbWVzc2FnZV9saWIAAAABAAAAAAAAAAttZXNzYWdlX2xpYgAAAAATAAAAAQAAAAEAAAAAAAAAc1JldHVybnMgYWxsIHN1cHBvcnRlZCBtZXNzYWdlIGxpYnJhcnkgYWRkcmVzc2VzLgoKIyBSZXR1cm5zClZlY3RvciBvZiBzdXBwb3J0ZWQgbWVzc2FnZSBsaWJyYXJ5IGNvbnRyYWN0IGFkZHJlc3Nlcy4AAAAADG1lc3NhZ2VfbGlicwAAAAAAAAABAAAD6gAAABMAAAAAAAAAWlJldHVybnMgd2hldGhlciBhbiBPQXBwIGlzIG9uIHRoZSBhbGxvd2xpc3QuCgojIEFyZ3VtZW50cwoqIGBvYXBwYCAtIE9BcHAgY29udHJhY3QgYWRkcmVzcwAAAAAAD2lzX29uX2FsbG93bGlzdAAAAAABAAAAAAAAAARvYXBwAAAAEwAAAAEAAAABAAAAAAAAADFSZXR1cm5zIHRoZSBudW1iZXIgb2YgYWRkcmVzc2VzIG9uIHRoZSBhbGxvd2xpc3QuAAAAAAAADmFsbG93bGlzdF9zaXplAAAAAAAAAAAAAQAAAAQAAAAAAAAAWVJldHVybnMgd2hldGhlciBhbiBPQXBwIGlzIG9uIHRoZSBkZW55bGlzdC4KCiMgQXJndW1lbnRzCiogYG9hcHBgIC0gT0FwcCBjb250cmFjdCBhZGRyZXNzAAAAAAAADmlzX29uX2RlbnlsaXN0AAAAAAABAAAAAAAAAARvYXBwAAAAEwAAAAEAAAABAAAAAAAAAPlSZXR1cm5zIHdoZXRoZXIgYW4gT0FwcCBoYXMgYWNjZXNzIGNvbnRyb2wgbGlzdCAoQUNMKSBwZXJtaXNzaW9uLgoKQUNMIGV2YWx1YXRpb24gb3JkZXI6CjEuIElmIG9uIGRlbnlsaXN0IOKGkiBkZW5pZWQKMi4gSWYgYWxsb3dsaXN0IGlzIGVtcHR5IE9SIG9uIGFsbG93bGlzdCDihpIgYWxsb3dlZAozLiBPdGhlcndpc2Ug4oaSIGRlbmllZAoKIyBBcmd1bWVudHMKKiBgb2FwcGAgLSBPQXBwIGNvbnRyYWN0IGFkZHJlc3MgdG8gY2hlY2sAAAAAAAAHaGFzX2FjbAAAAAABAAAAAAAAAARvYXBwAAAAEwAAAAEAAAABAAAAAAAAADNSZXR1cm5zIHRoZSBkZWZhdWx0IGZlZSBtdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cy4AAAAAFmRlZmF1bHRfbXVsdGlwbGllcl9icHMAAAAAAAAAAAABAAAABAAAAAAAAAA1UmV0dXJucyB0aGUgZGVwb3NpdCBhZGRyZXNzIHdoZXJlIGZlZXMgYXJlIGNvbGxlY3RlZC4AAAAAAAAPZGVwb3NpdF9hZGRyZXNzAAAAAAAAAAABAAAD6AAAABMAAAAAAAAAfFJldHVybnMgc3VwcG9ydGVkIG9wdGlvbiB0eXBlcyBmb3IgYSBkZXN0aW5hdGlvbiBlbmRwb2ludC4KCiMgQXJndW1lbnRzCiogYGVpZGAgLSBEZXN0aW5hdGlvbiBlbmRwb2ludCBJRCAoY2hhaW4gaWRlbnRpZmllcikAAAAaZ2V0X3N1cHBvcnRlZF9vcHRpb25fdHlwZXMAAAAAAAEAAAAAAAAAA2VpZAAAAAAEAAAAAQAAA+gAAAAOAAAAAAAAADBSZXR1cm5zIHRoZSB3b3JrZXIgZmVlIGxpYnJhcnkgY29udHJhY3QgYWRkcmVzcy4AAAAOd29ya2VyX2ZlZV9saWIAAAAAAAAAAAABAAAD6AAAABMAAAAAAAAAKFJldHVybnMgdGhlIHByaWNlIGZlZWQgY29udHJhY3QgYWRkcmVzcy4AAAAKcHJpY2VfZmVlZAAAAAAAAAAAAAEAAAPoAAAAEwAAAAAAAABEQXNzaWducyBhIGpvYiB0byB0aGUgZXhlY3V0b3IgYW5kIHJldHVybnMgZmVlIHJlY2lwaWVudCBpbmZvcm1hdGlvbi4AAAAKYXNzaWduX2pvYgAAAAAABQAAAAAAAAAIc2VuZF9saWIAAAATAAAAAAAAAAZzZW5kZXIAAAAAABMAAAAAAAAAB2RzdF9laWQAAAAABAAAAAAAAAANY2FsbGRhdGFfc2l6ZQAAAAAAAAQAAAAAAAAAB29wdGlvbnMAAAAADgAAAAEAAAfQAAAADEZlZVJlY2lwaWVudAAAAAAAAAA3Q2FsY3VsYXRlcyB0aGUgZXhlY3V0aW9uIGZlZSBmb3IgYSBjcm9zcy1jaGFpbiBtZXNzYWdlLgAAAAAHZ2V0X2ZlZQAAAAAFAAAAAAAAAAhzZW5kX2xpYgAAABMAAAAAAAAABnNlbmRlcgAAAAAAEwAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAAAAAA1jYWxsZGF0YV9zaXplAAAAAAAABAAAAAAAAAAHb3B0aW9ucwAAAAAOAAAAAQAAAAsAAAAAAAAAQFNldHMgZGVzdGluYXRpb24tc3BlY2lmaWMgY29uZmlndXJhdGlvbnMgZm9yIG11bHRpcGxlIGVuZHBvaW50cy4AAAAOc2V0X2RzdF9jb25maWcAAAAAAAIAAAAAAAAABWFkbWluAAAAAAAAEwAAAAAAAAAGcGFyYW1zAAAAAAPqAAAH0AAAABFTZXREc3RDb25maWdQYXJhbQAAAAAAAAAAAAAAAAAAPlJldHVybnMgdGhlIGRlc3RpbmF0aW9uIGNvbmZpZ3VyYXRpb24gZm9yIGEgc3BlY2lmaWMgZW5kcG9pbnQuAAAAAAAKZHN0X2NvbmZpZwAAAAAAAQAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAQAAA+gAAAfQAAAACURzdENvbmZpZwAAAAAAAAAAAACRTmF0aXZlIHRva2VuIGRyb3BzLgoKVHJhbnNmZXJzIG5hdGl2ZSB0b2tlbnMgdG8gZWFjaCByZWNlaXZlciBzcGVjaWZpZWQgaW4gdGhlIHBhcmFtZXRlcnMgYW5kCnRyYWNrcyB0aGUgc3VjY2Vzcy9mYWlsdXJlIHN0YXR1cyBvZiBlYWNoIHRyYW5zZmVyLgAAAAAAAAtuYXRpdmVfZHJvcAAAAAAFAAAAAAAAAAVhZG1pbgAAAAAAABMAAAAAAAAABm9yaWdpbgAAAAAH0AAAAAZPcmlnaW4AAAAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAAAAAARvYXBwAAAAEwAAAAAAAAASbmF0aXZlX2Ryb3BfcGFyYW1zAAAAAAPqAAAH0AAAABBOYXRpdmVEcm9wUGFyYW1zAAAAAAAAAAAAAAAqUmV0dXJucyB0aGUgZW5kcG9pbnQgYWRkcmVzcyBmcm9tIHN0b3JhZ2UuAAAAAAAIZW5kcG9pbnQAAAAAAAAAAQAAABMAAAAAAAACSUluaXRpYWxpemVzIHRoZSBleGVjdXRvciBjb250cmFjdC4KClNldHMgdXAgb3duZXJzaGlwLCB3b3JrZXIgY29uZmlndXJhdGlvbiwgYW5kIGVuZHBvaW50IGFkZHJlc3MuCgojIEFyZ3VtZW50cwoqIGBlbmRwb2ludGAgLSBMYXllclplcm8gRW5kcG9pbnQgVjIgY29udHJhY3QgYWRkcmVzcwoqIGBvd25lcmAgLSBDb250cmFjdCBvd25lciBhZGRyZXNzCiogYGFkbWluc2AgLSBJbml0aWFsIGFkbWluIGFkZHJlc3NlcyAobXVzdCBub3QgYmUgZW1wdHkpCiogYG1lc3NhZ2VfbGlic2AgLSBTdXBwb3J0ZWQgbWVzc2FnZSBsaWJyYXJ5IGFkZHJlc3NlcyAoZS5nLiwgVUxOMzAyKQoqIGBwcmljZV9mZWVkYCAtIFByaWNlIGZlZWQgY29udHJhY3QgYWRkcmVzcyBmb3IgZmVlIGNhbGN1bGF0aW9ucwoqIGBkZWZhdWx0X211bHRpcGxpZXJfYnBzYCAtIERlZmF1bHQgZmVlIG11bHRpcGxpZXIgaW4gYmFzaXMgcG9pbnRzICgxMDAwMCA9IDF4KQoqIGB3b3JrZXJfZmVlX2xpYmAgLSBXb3JrZXIgZmVlIGxpYnJhcnkgY29udHJhY3QgYWRkcmVzcwoqIGBkZXBvc2l0X2FkZHJlc3NgIC0gQWRkcmVzcyB0byByZWNlaXZlIGZlZSBwYXltZW50cwAAAAAAAA1fX2NvbnN0cnVjdG9yAAAAAAAACAAAAAAAAAAIZW5kcG9pbnQAAAATAAAAAAAAAAVvd25lcgAAAAAAABMAAAAAAAAABmFkbWlucwAAAAAD6gAAABMAAAAAAAAADG1lc3NhZ2VfbGlicwAAA+oAAAATAAAAAAAAAApwcmljZV9mZWVkAAAAAAATAAAAAAAAABZkZWZhdWx0X211bHRpcGxpZXJfYnBzAAAAAAAEAAAAAAAAAA53b3JrZXJfZmVlX2xpYgAAAAAAEwAAAAAAAAAPZGVwb3NpdF9hZGRyZXNzAAAAABMAAAAAAAAAAAAAALJXaXRoZHJhd3MgYSB0b2tlbiBmcm9tIHRoZSBjb250cmFjdCB0byBhIHNwZWNpZmllZCBhZGRyZXNzLgoKIyBBcmd1bWVudHMKKiBgdG9rZW5gIC0gVGhlIHRva2VuIGNvbnRyYWN0IGFkZHJlc3MKKiBgdG9gIC0gVGhlIHJlY2lwaWVudCBhZGRyZXNzCiogYGFtb3VudGAgLSBUaGUgYW1vdW50IHRvIHdpdGhkcmF3AAAAAAAOd2l0aGRyYXdfdG9rZW4AAAAAAAQAAAAAAAAABWFkbWluAAAAAAAAEwAAAAAAAAAFdG9rZW4AAAAAAAATAAAAAAAAAAJ0bwAAAAAAEwAAAAAAAAAGYW1vdW50AAAAAAALAAAAAAAAAAAAAACVVGhlIHR5cGUgb2YgZGF0YSByZXF1aXJlZCBmb3IgbWlncmF0aW9uLgpVcGdyYWRlcyB0aGUgY29udHJhY3QgdG8gbmV3IFdBU00gYnl0ZWNvZGUuClNldHMgYSBtaWdyYXRpb24gZmxhZyB0aGF0IG11c3QgYmUgY2xlYXJlZCBieSBjYWxsaW5nIGBtaWdyYXRlYC4AAAAAAAAHdXBncmFkZQAAAAABAAAAAAAAAA1uZXdfd2FzbV9oYXNoAAAAAAAD7gAAACAAAAAAAAAAAAAAAHZSdW5zIG1pZ3JhdGlvbiBsb2dpYyBhZnRlciBhbiB1cGdyYWRlLgpDYW4gb25seSBiZSBjYWxsZWQgd2hlbiB0aGUgbWlncmF0aW9uIGZsYWcgaXMgc2V0IGJ5IGEgcHJldmlvdXMgYHVwZ3JhZGVgIGNhbGwuAAAAAAAHbWlncmF0ZQAAAAABAAAAAAAAAA5taWdyYXRpb25fZGF0YQAAAAAADgAAAAAAAAAAAAAAXlBlcm1hbmVudGx5IGZyZWV6ZXMgdGhlIGNvbnRyYWN0LCBwcmV2ZW50aW5nIGFueSBmdXR1cmUgdXBncmFkZXMuClRoaXMgYWN0aW9uIGlzIGlycmV2ZXJzaWJsZS4AAAAAAAZmcmVlemUAAAAAAAAAAAAAAAAAAAAAADtSZXR1cm5zIHdoZXRoZXIgdGhlIGNvbnRyYWN0IGlzIGZyb3plbiAodXBncmFkZXMgZGlzYWJsZWQpLgAAAAAJaXNfZnJvemVuAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAKYXV0aG9yaXplcgAAAAAAAAAAAAEAAAATAAAAAAAAAD5SZXR1cm5zIHRoZSBjdXJyZW50IG93bmVyIGFkZHJlc3MsIG9yIE5vbmUgaWYgbm8gb3duZXIgaXMgc2V0LgAAAAAABW93bmVyAAAAAAAAAAAAAAEAAAPoAAAAEwAAAAAAAABZUmV0dXJucyB0aGUgcGVuZGluZyBvd25lciBhZGRyZXNzIGZvciAyLXN0ZXAgdHJhbnNmZXIsIG9yIE5vbmUgaWYgbm8gdHJhbnNmZXIgaXMgcGVuZGluZy4AAAAAAAANcGVuZGluZ19vd25lcgAAAAAAAAAAAAABAAAD6AAAABMAAAAAAAABK1RyYW5zZmVycyBvd25lcnNoaXAgaW1tZWRpYXRlbHkgdG8gYSBuZXcgYWRkcmVzcy4KClVzZSB3aXRoIGNhdXRpb24gLSBpZiB5b3UgdHJhbnNmZXIgdG8gYSB3cm9uZyBhZGRyZXNzLCBvd25lcnNoaXAgaXMgbG9zdCBmb3JldmVyLgpDb25zaWRlciB1c2luZyBgcHJvcG9zZV9vd25lcnNoaXBfdHJhbnNmZXJgIGluc3RlYWQuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBUcmFuc2ZlckluUHJvZ3Jlc3NgIGlmIGEgMi1zdGVwIHRyYW5zZmVyIGlzIGluIHByb2dyZXNzAAAAABJ0cmFuc2Zlcl9vd25lcnNoaXAAAAAAAAEAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAAAAAlxQcm9wb3NlcyBhbiBvd25lcnNoaXAgdHJhbnNmZXIgdG8gYSBuZXcgYWRkcmVzcy4KClRoZSBuZXcgb3duZXIgbXVzdCBjYWxsIGBhY2NlcHRfb3duZXJzaGlwKClgIHdpdGhpbiBgdHRsYCBsZWRnZXJzCnRvIGNvbXBsZXRlIHRoZSB0cmFuc2Zlci4gVGhlIHBlbmRpbmcgdHJhbnNmZXIgd2lsbCBhdXRvbWF0aWNhbGx5IGV4cGlyZSBhZnRlci4KCiMgQXJndW1lbnRzCi0gYG5ld19vd25lcmAgLSBUaGUgcHJvcG9zZWQgbmV3IG93bmVyCi0gYHR0bGAgLSBOdW1iZXIgb2YgbGVkZ2VycyB0aGUgbmV3IG93bmVyIGhhcyB0byBhY2NlcHQuClVzZSBgMGAgdG8gY2FuY2VsIGEgcGVuZGluZyB0cmFuc2ZlciAobmV3X293bmVyIG11c3QgbWF0Y2ggcGVuZGluZykuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBOb1BlbmRpbmdUcmFuc2ZlcmAgd2hlbiBjYW5jZWxsaW5nIGFuZCBubyBwZW5kaW5nIHRyYW5zZmVyIGV4aXN0cwotIGBJbnZhbGlkVHRsYCBpZiB0dGwgZXhjZWVkcyBtYXggVFRMCi0gYEludmFsaWRQZW5kaW5nT3duZXJgIHdoZW4gY2FuY2VsbGluZyB3aXRoIHdyb25nIG5ld19vd25lciBhZGRyZXNzAAAAGnByb3Bvc2Vfb3duZXJzaGlwX3RyYW5zZmVyAAAAAAACAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAN0dGwAAAAABAAAAAAAAAAAAAAAuUFjY2VwdHMgYSBwZW5kaW5nIDItc3RlcCBvd25lcnNoaXAgdHJhbnNmZXIuCgpNdXN0IGJlIGNhbGxlZCBieSB0aGUgcGVuZGluZyBvd25lciBiZWZvcmUgdGhlIFRUTCBleHBpcmVzLgoKIyBQYW5pY3MKLSBgTm9QZW5kaW5nVHJhbnNmZXJgIGlmIHRoZXJlIGlzIG5vIHBlbmRpbmcgdHJhbnNmZXIgKG9yIGl0IGV4cGlyZWQpAAAAAAAAEGFjY2VwdF9vd25lcnNoaXAAAAAAAAAAAAAAAAAAAACkUGVybWFuZW50bHkgcmVub3VuY2VzIG93bmVyc2hpcC4KCiMgUGFuaWNzCi0gYE93bmVyTm90U2V0YCBpZiBubyBvd25lciBpcyBjdXJyZW50bHkgc2V0Ci0gYFRyYW5zZmVySW5Qcm9ncmVzc2AgaWYgYSAyLXN0ZXAgdHJhbnNmZXIgaXMgaW4gcHJvZ3Jlc3MgKGNhbmNlbCBpdCBmaXJzdCkAAAAScmVub3VuY2Vfb3duZXJzaGlwAAAAAAAAAAAAAAAAAAAAAAClRXh0ZW5kcyB0aGUgaW5zdGFuY2UgVFRMLgoKIyBBcmd1bWVudHMKCiogYHRocmVzaG9sZGAgLSBUaGUgdGhyZXNob2xkIHRvIGV4dGVuZCB0aGUgVFRMIChpZiBjdXJyZW50IFRUTCBpcyBiZWxvdyB0aGlzLCBleHRlbmQpLgoqIGBleHRlbmRfdG9gIC0gVGhlIFRUTCB0byBleHRlbmQgdG8uAAAAAAAAE2V4dGVuZF9pbnN0YW5jZV90dGwAAAAAAgAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAAJZXh0ZW5kX3RvAAAAAAAABAAAAAAAAAAAAAABj1NldHMgVFRMIGNvbmZpZ3MgZm9yIGluc3RhbmNlIGFuZCBwZXJzaXN0ZW50IHN0b3JhZ2UuCgotIGBOb25lYCB2YWx1ZXMgcmVtb3ZlIHRoZSBjb3JyZXNwb25kaW5nIGNvbmZpZyAoZGlzYWJsZXMgYXV0by1leHRlbnNpb24gZm9yIHRoYXQgdHlwZSkKLSBWYWxpZGF0ZXMgdGhhdCBgdGhyZXNob2xkIDw9IGV4dGVuZF90byA8PSBNQVhfVFRMYAoKIyBBcmd1bWVudHMKLSBgaW5zdGFuY2VgIC0gVFRMIGNvbmZpZyBmb3IgaW5zdGFuY2Ugc3RvcmFnZQotIGBwZXJzaXN0ZW50YCAtIFRUTCBjb25maWcgZm9yIHBlcnNpc3RlbnQgc3RvcmFnZQoKIyBQYW5pY3MKLSBgVHRsQ29uZmlnRnJvemVuYCBpZiBjb25maWdzIGFyZSBmcm96ZW4KLSBgSW52YWxpZFR0bENvbmZpZ2AgaWYgdmFsaWRhdGlvbiBmYWlscwAAAAAPc2V0X3R0bF9jb25maWdzAAAAAAIAAAAAAAAACGluc3RhbmNlAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAApwZXJzaXN0ZW50AAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAAAAAEhSZXR1cm5zIHRoZSBjdXJyZW50IFRUTCBjb25maWdzIGFzIChpbnN0YW5jZV9jb25maWcsIHBlcnNpc3RlbnRfY29uZmlnKS4AAAALdHRsX2NvbmZpZ3MAAAAAAAAAAAEAAAPtAAAAAgAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAADhUGVybWFuZW50bHkgZnJlZXplcyBUVEwgY29uZmlncywgcHJldmVudGluZyBhbnkgZnV0dXJlIG1vZGlmaWNhdGlvbnMuCgpUaGlzIGlzIGlycmV2ZXJzaWJsZSBhbmQgcHJvdmlkZXMgaW1tdXRhYmlsaXR5IGd1YXJhbnRlZXMgdG8gdXNlcnMuCkVtaXRzIGBUdGxDb25maWdzRnJvemVuYCBldmVudC4KCiMgUGFuaWNzCi0gYFR0bENvbmZpZ0FscmVhZHlGcm96ZW5gIGlmIGFscmVhZHkgZnJvemVuAAAAAAAAEmZyZWV6ZV90dGxfY29uZmlncwAAAAAAAAAAAAAAAAAAAAAAJ1JldHVybnMgd2hldGhlciBUVEwgY29uZmlncyBhcmUgZnJvemVuLgAAAAAVaXNfdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAAEAAAABAAAAAgAAAAAAAAAAAAAAD0V4ZWN1dG9yU3RvcmFnZQAAAAACAAAAAQAAAAAAAAAJRHN0Q29uZmlnAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAhFbmRwb2ludAAAAAUAAAAAAAAAAAAAAApQYWNrZXRTZW50AAAAAAABAAAAC3BhY2tldF9zZW50AAAAAAMAAAAAAAAADmVuY29kZWRfcGFja2V0AAAAAAAOAAAAAAAAAAAAAAAHb3B0aW9ucwAAAAAOAAAAAAAAAAAAAAAMc2VuZF9saWJyYXJ5AAAAEwAAAAAAAAACAAAABQAAAAAAAAAAAAAADlBhY2tldFZlcmlmaWVkAAAAAAABAAAAD3BhY2tldF92ZXJpZmllZAAAAAADAAAAAAAAAAZvcmlnaW4AAAAAB9AAAAAGT3JpZ2luAAAAAAABAAAAAAAAAAhyZWNlaXZlcgAAABMAAAABAAAAAAAAAAxwYXlsb2FkX2hhc2gAAAPuAAAAIAAAAAAAAAACAAAABQAAAAAAAAAAAAAAD1BhY2tldERlbGl2ZXJlZAAAAAABAAAAEHBhY2tldF9kZWxpdmVyZWQAAAACAAAAAAAAAAZvcmlnaW4AAAAAB9AAAAAGT3JpZ2luAAAAAAABAAAAAAAAAAhyZWNlaXZlcgAAABMAAAABAAAAAgAAAAUAAAAAAAAAAAAAAA5MelJlY2VpdmVBbGVydAAAAAAAAQAAABBsel9yZWNlaXZlX2FsZXJ0AAAACQAAAAAAAAAIcmVjZWl2ZXIAAAATAAAAAQAAAAAAAAAIZXhlY3V0b3IAAAATAAAAAQAAAAAAAAAGb3JpZ2luAAAAAAfQAAAABk9yaWdpbgAAAAAAAQAAAAAAAAAEZ3VpZAAAA+4AAAAgAAAAAQAAAAAAAAADZ2FzAAAAAAsAAAAAAAAAAAAAAAV2YWx1ZQAAAAAAAAsAAAAAAAAAAAAAAAdtZXNzYWdlAAAAAA4AAAAAAAAAAAAAAApleHRyYV9kYXRhAAAAAAAOAAAAAAAAAAAAAAAGcmVhc29uAAAAAAAOAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAGWnJvU2V0AAAAAAABAAAAB3pyb19zZXQAAAAAAQAAAAAAAAADenJvAAAAABMAAAAAAAAAAgAAAAUAAAAAAAAAAAAAAAtEZWxlZ2F0ZVNldAAAAAABAAAADGRlbGVnYXRlX3NldAAAAAIAAAAAAAAABG9hcHAAAAATAAAAAQAAAAAAAAAIZGVsZWdhdGUAAAPoAAAAEwAAAAAAAAACAAAABQAAAAAAAAAAAAAAE0luYm91bmROb25jZVNraXBwZWQAAAAAAQAAABVpbmJvdW5kX25vbmNlX3NraXBwZWQAAAAAAAAEAAAAAAAAAAdzcmNfZWlkAAAAAAQAAAABAAAAAAAAAAZzZW5kZXIAAAAAA+4AAAAgAAAAAQAAAAAAAAAIcmVjZWl2ZXIAAAATAAAAAQAAAAAAAAAFbm9uY2UAAAAAAAAGAAAAAQAAAAIAAAAFAAAAAAAAAAAAAAAOUGFja2V0TmlsaWZpZWQAAAAAAAEAAAAPcGFja2V0X25pbGlmaWVkAAAAAAUAAAAAAAAAB3NyY19laWQAAAAABAAAAAEAAAAAAAAABnNlbmRlcgAAAAAD7gAAACAAAAABAAAAAAAAAAhyZWNlaXZlcgAAABMAAAABAAAAAAAAAAVub25jZQAAAAAAAAYAAAABAAAAAAAAAAxwYXlsb2FkX2hhc2gAAAPoAAAD7gAAACAAAAAAAAAAAgAAAAUAAAAAAAAAAAAAAAtQYWNrZXRCdXJudAAAAAABAAAADHBhY2tldF9idXJudAAAAAUAAAAAAAAAB3NyY19laWQAAAAABAAAAAEAAAAAAAAABnNlbmRlcgAAAAAD7gAAACAAAAABAAAAAAAAAAhyZWNlaXZlcgAAABMAAAABAAAAAAAAAAVub25jZQAAAAAAAAYAAAABAAAAAAAAAAxwYXlsb2FkX2hhc2gAAAPuAAAAIAAAAAAAAAACAAAABQAAAAAAAAAAAAAAEUxpYnJhcnlSZWdpc3RlcmVkAAAAAAAAAQAAABJsaWJyYXJ5X3JlZ2lzdGVyZWQAAAAAAAEAAAAAAAAAB25ld19saWIAAAAAEwAAAAAAAAACAAAABQAAAAAAAAAAAAAAFURlZmF1bHRTZW5kTGlicmFyeVNldAAAAAAAAAEAAAAYZGVmYXVsdF9zZW5kX2xpYnJhcnlfc2V0AAAAAgAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAQAAAAAAAAAHbmV3X2xpYgAAAAATAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAYRGVmYXVsdFJlY2VpdmVMaWJyYXJ5U2V0AAAAAQAAABtkZWZhdWx0X3JlY2VpdmVfbGlicmFyeV9zZXQAAAAAAgAAAAAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAAAAAAAAHbmV3X2xpYgAAAAATAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAbRGVmYXVsdFJlY2VpdmVMaWJUaW1lb3V0U2V0AAAAAAEAAAAfZGVmYXVsdF9yZWNlaXZlX2xpYl90aW1lb3V0X3NldAAAAAACAAAAAAAAAAdzcmNfZWlkAAAAAAQAAAABAAAAAAAAAAd0aW1lb3V0AAAAA+gAAAfQAAAAB1RpbWVvdXQAAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAOU2VuZExpYnJhcnlTZXQAAAAAAAEAAAAQc2VuZF9saWJyYXJ5X3NldAAAAAMAAAAAAAAABnNlbmRlcgAAAAAAEwAAAAEAAAAAAAAAB2RzdF9laWQAAAAABAAAAAEAAAAAAAAAB25ld19saWIAAAAD6AAAABMAAAAAAAAAAgAAAAUAAAAAAAAAAAAAABFSZWNlaXZlTGlicmFyeVNldAAAAAAAAAEAAAATcmVjZWl2ZV9saWJyYXJ5X3NldAAAAAADAAAAAAAAAAhyZWNlaXZlcgAAABMAAAABAAAAAAAAAAdzcmNfZWlkAAAAAAQAAAABAAAAAAAAAAduZXdfbGliAAAAA+gAAAATAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAYUmVjZWl2ZUxpYnJhcnlUaW1lb3V0U2V0AAAAAQAAABtyZWNlaXZlX2xpYnJhcnlfdGltZW91dF9zZXQAAAAAAwAAAAAAAAAIcmVjZWl2ZXIAAAATAAAAAQAAAAAAAAADZWlkAAAAAAQAAAABAAAAAAAAAAd0aW1lb3V0AAAAA+gAAAfQAAAAB1RpbWVvdXQAAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAALQ29tcG9zZVNlbnQAAAAAAQAAAAxjb21wb3NlX3NlbnQAAAAFAAAAAAAAAARmcm9tAAAAEwAAAAEAAAAAAAAAAnRvAAAAAAATAAAAAQAAAAAAAAAEZ3VpZAAAA+4AAAAgAAAAAQAAAAAAAAAFaW5kZXgAAAAAAAAEAAAAAQAAAAAAAAAHbWVzc2FnZQAAAAAOAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAQQ29tcG9zZURlbGl2ZXJlZAAAAAEAAAARY29tcG9zZV9kZWxpdmVyZWQAAAAAAAAEAAAAAAAAAARmcm9tAAAAEwAAAAEAAAAAAAAAAnRvAAAAAAATAAAAAQAAAAAAAAAEZ3VpZAAAA+4AAAAgAAAAAQAAAAAAAAAFaW5kZXgAAAAAAAAEAAAAAQAAAAIAAAAFAAAAAAAAAAAAAAAOTHpDb21wb3NlQWxlcnQAAAAAAAEAAAAQbHpfY29tcG9zZV9hbGVydAAAAAoAAAAAAAAABGZyb20AAAATAAAAAQAAAAAAAAACdG8AAAAAABMAAAABAAAAAAAAAAhleGVjdXRvcgAAABMAAAABAAAAAAAAAARndWlkAAAD7gAAACAAAAABAAAAAAAAAAVpbmRleAAAAAAAAAQAAAABAAAAAAAAAANnYXMAAAAACwAAAAAAAAAAAAAABXZhbHVlAAAAAAAACwAAAAAAAAAAAAAAB21lc3NhZ2UAAAAADgAAAAAAAAAAAAAACmV4dHJhX2RhdGEAAAAAAA4AAAAAAAAAAAAAAAZyZWFzb24AAAAAAA4AAAAAAAAAAgAAAAQAAAAAAAAAAAAAAA1FbmRwb2ludEVycm9yAAAAAAAAGQAAAAAAAAARQWxyZWFkeVJlZ2lzdGVyZWQAAAAAAAABAAAAAAAAAA1Db21wb3NlRXhpc3RzAAAAAAAAAgAAAAAAAAAPQ29tcG9zZU5vdEZvdW5kAAAAAAMAAAAAAAAAHERlZmF1bHRSZWNlaXZlTGliVW5hdmFpbGFibGUAAAAEAAAAAAAAABlEZWZhdWx0U2VuZExpYlVuYXZhaWxhYmxlAAAAAAAABQAAAAAAAAAVSW5zdWZmaWNpZW50TmF0aXZlRmVlAAAAAAAABgAAAAAAAAASSW5zdWZmaWNpZW50WnJvRmVlAAAAAAAHAAAAAAAAABBJbnZhbGlkRmVlQW1vdW50AAAACAAAAAAAAAANSW52YWxpZEV4cGlyeQAAAAAAAAkAAAAAAAAADEludmFsaWRJbmRleAAAAAoAAAAAAAAADEludmFsaWROb25jZQAAAAsAAAAAAAAAEkludmFsaWRQYXlsb2FkSGFzaAAAAAAADAAAAAAAAAAVSW52YWxpZFJlY2VpdmVMaWJyYXJ5AAAAAAAADQAAAAAAAAART25seU5vbkRlZmF1bHRMaWIAAAAAAAAOAAAAAAAAAA5Pbmx5UmVjZWl2ZUxpYgAAAAAADwAAAAAAAAART25seVJlZ2lzdGVyZWRMaWIAAAAAAAAQAAAAAAAAAAtPbmx5U2VuZExpYgAAAAARAAAAAAAAABRQYXRoTm90SW5pdGlhbGl6YWJsZQAAABIAAAAAAAAAEVBhdGhOb3RWZXJpZmlhYmxlAAAAAAAAEwAAAAAAAAATUGF5bG9hZEhhc2hOb3RGb3VuZAAAAAAUAAAAAAAAAAlTYW1lVmFsdWUAAAAAAAAVAAAAAAAAAAxVbmF1dGhvcml6ZWQAAAAWAAAAAAAAAA5VbnN1cHBvcnRlZEVpZAAAAAAAFwAAAAAAAAAKWmVyb1pyb0ZlZQAAAAAAGAAAAAAAAAAOWnJvVW5hdmFpbGFibGUAAAAAABkAAAABAAAALVBhcmFtZXRlcnMgZm9yIHNlbmRpbmcgYSBjcm9zcy1jaGFpbiBtZXNzYWdlLgAAAAAAAAAAAAAPTWVzc2FnaW5nUGFyYW1zAAAAAAUAAAArRGVzdGluYXRpb24gZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpLgAAAAAHZHN0X2VpZAAAAAAEAAAAHFRoZSBtZXNzYWdlIHBheWxvYWQgdG8gc2VuZC4AAAAHbWVzc2FnZQAAAAAOAAAAIUVuY29kZWQgZXhlY3V0b3IgYW5kIERWTiBvcHRpb25zLgAAAAAAAAdvcHRpb25zAAAAAA4AAAA5V2hldGhlciB0byBwYXkgZmVlcyBpbiBaUk8gdG9rZW4gaW5zdGVhZCBvZiBuYXRpdmUgdG9rZW4uAAAAAAAACnBheV9pbl96cm8AAAAAAAEAAAA1UmVjZWl2ZXIgYWRkcmVzcyBvbiB0aGUgZGVzdGluYXRpb24gY2hhaW4gKDMyIGJ5dGVzKS4AAAAAAAAIcmVjZWl2ZXIAAAPuAAAAIAAAAAEAAABNU291cmNlIG1lc3NhZ2UgaW5mb3JtYXRpb24gaWRlbnRpZnlpbmcgd2hlcmUgYSBjcm9zcy1jaGFpbiBtZXNzYWdlIGNhbWUgZnJvbS4AAAAAAAAAAAAABk9yaWdpbgAAAAAAAwAAABdOb25jZSBmb3IgdGhpcyBwYXRod2F5LgAAAAAFbm9uY2UAAAAAAAAGAAAALlNlbmRlciBhZGRyZXNzIG9uIHRoZSBzb3VyY2UgY2hhaW4gKDMyIGJ5dGVzKS4AAAAAAAZzZW5kZXIAAAAAA+4AAAAgAAAAJlNvdXJjZSBlbmRwb2ludCBJRCAoY2hhaW4gaWRlbnRpZmllcikuAAAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAAChGZWUgc3RydWN0dXJlIGZvciBjcm9zcy1jaGFpbiBtZXNzYWdpbmcuAAAAAAAAAAxNZXNzYWdpbmdGZWUAAAACAAAAH0ZlZSBwYWlkIGluIG5hdGl2ZSB0b2tlbiAoWExNKS4AAAAACm5hdGl2ZV9mZWUAAAAAAAsAAAAoRmVlIHBhaWQgaW4gWlJPIHRva2VuIChMYXllclplcm8gdG9rZW4pLgAAAAd6cm9fZmVlAAAAAAsAAAABAAAAQlJlY2VpcHQgcmV0dXJuZWQgYWZ0ZXIgc3VjY2Vzc2Z1bGx5IHNlbmRpbmcgYSBjcm9zcy1jaGFpbiBtZXNzYWdlLgAAAAAAAAAAABBNZXNzYWdpbmdSZWNlaXB0AAAAAwAAAClUaGUgZmVlcyBjaGFyZ2VkIGZvciBzZW5kaW5nIHRoZSBtZXNzYWdlLgAAAAAAAANmZWUAAAAH0AAAAAxNZXNzYWdpbmdGZWUAAAArR2xvYmFsbHkgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBtZXNzYWdlLgAAAAAEZ3VpZAAAA+4AAAAgAAAAJFRoZSBvdXRib3VuZCBub25jZSBmb3IgdGhpcyBwYXRod2F5LgAAAAVub25jZQAAAAAAAAYAAAACAAAAOFR5cGUgb2YgbWVzc2FnZSBsaWJyYXJ5IGluZGljYXRpbmcgc3VwcG9ydGVkIG9wZXJhdGlvbnMuAAAAAAAAAA5NZXNzYWdlTGliVHlwZQAAAAAAAwAAAAAAAAAfU3VwcG9ydHMgb25seSBzZW5kaW5nIG1lc3NhZ2VzLgAAAAAEU2VuZAAAAAAAAAAhU3VwcG9ydHMgb25seSByZWNlaXZpbmcgbWVzc2FnZXMuAAAAAAAAB1JlY2VpdmUAAAAAAAAAAC1TdXBwb3J0cyBib3RoIHNlbmRpbmcgYW5kIHJlY2VpdmluZyBtZXNzYWdlcy4AAAAAAAAOU2VuZEFuZFJlY2VpdmUAAAAAAAEAAAC3VmVyc2lvbiBpbmZvcm1hdGlvbiBmb3IgYSBtZXNzYWdlIGxpYnJhcnkuCgpOb3RlOiBgbWlub3JgIGFuZCBgZW5kcG9pbnRfdmVyc2lvbmAgdXNlIGB1MzJgIGluc3RlYWQgb2YgYHU4YCBiZWNhdXNlIFN0ZWxsYXIgZG9lcyBub3QKc3VwcG9ydCBgdThgIHR5cGVzIGluIGNvbnRyYWN0IGludGVyZmFjZSBmdW5jdGlvbnMuAAAAAAAAAAARTWVzc2FnZUxpYlZlcnNpb24AAAAAAAADAAAAM0VuZHBvaW50IHZlcnNpb24gKHNob3VsZCBub3QgZXhjZWVkIHU4OjpNQVggPSAyNTUpLgAAAAAQZW5kcG9pbnRfdmVyc2lvbgAAAAQAAAAVTWFqb3IgdmVyc2lvbiBudW1iZXIuAAAAAAAABW1ham9yAAAAAAAABgAAADdNaW5vciB2ZXJzaW9uIG51bWJlciAoc2hvdWxkIG5vdCBleGNlZWQgdTg6Ok1BWCA9IDI1NSkuAAAAAAVtaW5vcgAAAAAAAAQAAAABAAAANlRpbWVvdXQgY29uZmlndXJhdGlvbiBmb3IgcmVjZWl2ZSBsaWJyYXJ5IHRyYW5zaXRpb25zLgAAAAAAAAAAAAdUaW1lb3V0AAAAAAIAAAAoVW5peCB0aW1lc3RhbXAgd2hlbiB0aGUgdGltZW91dCBleHBpcmVzLgAAAAZleHBpcnkAAAAAAAYAAAApVGhlIG5ldyBsaWJyYXJ5IGFkZHJlc3MgdG8gdHJhbnNpdGlvbiB0by4AAAAAAAADbGliAAAAABMAAAABAAAANVBhcmFtZXRlcnMgZm9yIHNldHRpbmcgbWVzc2FnZSBsaWJyYXJ5IGNvbmZpZ3VyYXRpb24uAAAAAAAAAAAAAA5TZXRDb25maWdQYXJhbQAAAAAAAwAAAB9YRFItZW5jb2RlZCBjb25maWd1cmF0aW9uIGRhdGEuAAAAAAZjb25maWcAAAAAAA4AAAAwVGhlIHR5cGUgb2YgY29uZmlndXJhdGlvbiAoZS5nLiwgZXhlY3V0b3IsIFVMTikuAAAAC2NvbmZpZ190eXBlAAAAAAQAAAAnVGhlIGVuZHBvaW50IElEIHRoaXMgY29uZmlnIGFwcGxpZXMgdG8uAAAAAANlaWQAAAAABAAAAAEAAAAxUmVzb2x2ZWQgbGlicmFyeSBpbmZvcm1hdGlvbiB3aXRoIGRlZmF1bHQgc3RhdHVzLgAAAAAAAAAAAAAPUmVzb2x2ZWRMaWJyYXJ5AAAAAAIAAABEV2hldGhlciB0aGlzIGlzIHRoZSBkZWZhdWx0IGxpYnJhcnkgKHRydWUpIG9yIE9BcHAtc3BlY2lmaWMgKGZhbHNlKS4AAAAKaXNfZGVmYXVsdAAAAAAAAQAAAB1UaGUgcmVzb2x2ZWQgbGlicmFyeSBhZGRyZXNzLgAAAAAAAANsaWIAAAAAEwAAAAEAAABIT3V0Ym91bmQgcGFja2V0IGNvbnRhaW5pbmcgYWxsIGluZm9ybWF0aW9uIGZvciBjcm9zcy1jaGFpbiB0cmFuc21pc3Npb24uAAAAAAAAAA5PdXRib3VuZFBhY2tldAAAAAAABwAAABhEZXN0aW5hdGlvbiBlbmRwb2ludCBJRC4AAAAHZHN0X2VpZAAAAAAEAAAALEdsb2JhbGx5IHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIG1lc3NhZ2UuAAAABGd1aWQAAAPuAAAAIAAAABRUaGUgbWVzc2FnZSBwYXlsb2FkLgAAAAdtZXNzYWdlAAAAAA4AAAAgT3V0Ym91bmQgbm9uY2UgZm9yIHRoaXMgcGF0aHdheS4AAAAFbm9uY2UAAAAAAAAGAAAAMVJlY2VpdmVyIGFkZHJlc3Mgb24gZGVzdGluYXRpb24gY2hhaW4gKDMyIGJ5dGVzKS4AAAAAAAAIcmVjZWl2ZXIAAAPuAAAAIAAAAB9TZW5kZXIgYWRkcmVzcyBvbiBzb3VyY2UgY2hhaW4uAAAAAAZzZW5kZXIAAAAAABMAAAATU291cmNlIGVuZHBvaW50IElELgAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAACtBIGZlZSByZWNpcGllbnQgd2l0aCB0aGUgYW1vdW50IHRvIGJlIHBhaWQuAAAAAAAAAAAMRmVlUmVjaXBpZW50AAAAAgAAABVBbW91bnQgb2YgZmVlIHRvIHBheS4AAAAAAAAGYW1vdW50AAAAAAALAAAAH1RoZSBhZGRyZXNzIHRvIHNlbmQgdGhlIGZlZSB0by4AAAAAAnRvAAAAAAATAAAAAQAAADxSZXN1bHQgb2Ygc2VuZCBvcGVyYXRpb24gY29udGFpbmluZyBmZWVzIGFuZCBlbmNvZGVkIHBhY2tldC4AAAAAAAAADUZlZXNBbmRQYWNrZXQAAAAAAAADAAAAKlRoZSBlbmNvZGVkIHBhY2tldCByZWFkeSBmb3IgdHJhbnNtaXNzaW9uLgAAAAAADmVuY29kZWRfcGFja2V0AAAAAAAOAAAAP0xpc3Qgb2YgbmF0aXZlIHRva2VuIGZlZSByZWNpcGllbnRzIChleGVjdXRvciwgRFZOcywgdHJlYXN1cnkpLgAAAAAVbmF0aXZlX2ZlZV9yZWNpcGllbnRzAAAAAAAD6gAAB9AAAAAMRmVlUmVjaXBpZW50AAAALExpc3Qgb2YgWlJPIHRva2VuIGZlZSByZWNpcGllbnRzICh0cmVhc3VyeSkuAAAAEnpyb19mZWVfcmVjaXBpZW50cwAAAAAD6gAAB9AAAAAMRmVlUmVjaXBpZW50AAAAAQAAAOFQYXJhbWV0ZXJzIGZvciBEVk4gZmVlIGNhbGN1bGF0aW9uLgoKQ29udGFpbnMgYWxsIGlucHV0cyBuZWVkZWQgYnkgdGhlIGZlZSBsaWJyYXJ5IHRvIGNhbGN1bGF0ZSB2ZXJpZmljYXRpb24gZmVlcwpmb3IgY3Jvc3MtY2hhaW4gbWVzc2FnZXMuIEluY2x1ZGVzIG1lc3NhZ2UgcGFyYW1ldGVycywgY29tbW9uIGNvbmZpZ3VyYXRpb24sCmFuZCBkZXN0aW5hdGlvbi1zcGVjaWZpYyBzZXR0aW5ncy4AAAAAAAAAAAAADER2bkZlZVBhcmFtcwAAAAoAAAAnTnVtYmVyIG9mIGJsb2NrIGNvbmZpcm1hdGlvbnMgcmVxdWlyZWQuAAAAAA1jb25maXJtYXRpb25zAAAAAAAABgAAAExEZWZhdWx0IGZlZSBtdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cyAodXNlZCBpZiBubyBkc3Qtc3BlY2lmaWMgbXVsdGlwbGllcikuAAAAFmRlZmF1bHRfbXVsdGlwbGllcl9icHMAAAAAAAQAAAArRGVzdGluYXRpb24gZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpLgAAAAAHZHN0X2VpZAAAAAAEAAAAI01pbmltdW0gZmVlIG1hcmdpbiBpbiBVU0QgKHNjYWxlZCkuAAAAABBmbG9vcl9tYXJnaW5fdXNkAAAACgAAARA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpEZXN0aW5hdGlvbi1TcGVjaWZpYyBDb25maWd1cmF0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkdhcyBlc3RpbWF0ZSBmb3IgdmVyaWZpY2F0aW9uIG9uIGRlc3RpbmF0aW9uIGNoYWluLgAAAANnYXMAAAAACgAAAEZEZXN0aW5hdGlvbi1zcGVjaWZpYyBmZWUgbXVsdGlwbGllciBpbiBiYXNpcyBwb2ludHMgKDAgPSB1c2UgZGVmYXVsdCkuAAAAAAAObXVsdGlwbGllcl9icHMAAAAAAAQAAAALRFZOIG9wdGlvbnMAAAAAB29wdGlvbnMAAAAADgAAARA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDb21tb24gQ29uZmlndXJhdGlvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpQcmljZSBmZWVkIGNvbnRyYWN0IGFkZHJlc3MgZm9yIGdhcyBwcmljZSBhbmQgZXhjaGFuZ2UgcmF0ZSBkYXRhLgAAAApwcmljZV9mZWVkAAAAAAATAAAAJ051bWJlciBvZiByZXF1aXJlZCBzaWduYXR1cmVzIChxdW9ydW0pLgAAAAAGcXVvcnVtAAAAAAAEAAAA5T09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ck1lc3NhZ2UgUGFyYW1ldGVycwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpUaGUgT0FwcCBzZW5kZXIgYWRkcmVzcy4AAAAAAAAGc2VuZGVyAAAAAAATAAAAAQAAAONQYXJhbWV0ZXJzIGZvciBleGVjdXRvciBmZWUgY2FsY3VsYXRpb24uCgpDb250YWlucyBhbGwgaW5wdXRzIG5lZWRlZCBieSB0aGUgZmVlIGxpYnJhcnkgdG8gY2FsY3VsYXRlIGV4ZWN1dGlvbiBmZWVzCmZvciBjcm9zcy1jaGFpbiBtZXNzYWdlcy4gSW5jbHVkZXMgbWVzc2FnZSBwYXJhbWV0ZXJzLCBjb21tb24gY29uZmlndXJhdGlvbiwKYW5kIGRlc3RpbmF0aW9uLXNwZWNpZmljIHNldHRpbmdzLgAAAAAAAAAACUZlZVBhcmFtcwAAAAAAAAsAAAAmU2l6ZSBvZiB0aGUgbWVzc2FnZSBjYWxsZGF0YSBpbiBieXRlcy4AAAAAAA1jYWxsZGF0YV9zaXplAAAAAAAABAAAAExEZWZhdWx0IGZlZSBtdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cyAodXNlZCBpZiBubyBkc3Qtc3BlY2lmaWMgbXVsdGlwbGllcikuAAAAFmRlZmF1bHRfbXVsdGlwbGllcl9icHMAAAAAAAQAAAArRGVzdGluYXRpb24gZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpLgAAAAAHZHN0X2VpZAAAAAAEAAAAI01pbmltdW0gZmVlIG1hcmdpbiBpbiBVU0QgKHNjYWxlZCkuAAAAABBmbG9vcl9tYXJnaW5fdXNkAAAACgAAADZCYXNlIGdhcyBmb3IgZWFjaCBsekNvbXBvc2UgY2FsbCBvbiBkZXN0aW5hdGlvbiBjaGFpbi4AAAAAABNsel9jb21wb3NlX2Jhc2VfZ2FzAAAAAAYAAAETPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KRGVzdGluYXRpb24tU3BlY2lmaWMgQ29uZmlndXJhdGlvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpCYXNlIGdhcyBmb3IgbHpSZWNlaXZlIGV4ZWN1dGlvbiBvbiBkZXN0aW5hdGlvbiBjaGFpbi4AAAAAE2x6X3JlY2VpdmVfYmFzZV9nYXMAAAAABgAAAEZEZXN0aW5hdGlvbi1zcGVjaWZpYyBmZWUgbXVsdGlwbGllciBpbiBiYXNpcyBwb2ludHMgKDAgPSB1c2UgZGVmYXVsdCkuAAAAAAAObXVsdGlwbGllcl9icHMAAAAAAAQAAAAsTWF4aW11bSBuYXRpdmUgdG9rZW4gdmFsdWUgdGhhdCBjYW4gYmUgc2VudC4AAAAKbmF0aXZlX2NhcAAAAAAACgAAAEZFbmNvZGVkIGV4ZWN1dG9yIG9wdGlvbnMgKGx6UmVjZWl2ZSBnYXMsIGx6Q29tcG9zZSwgbmF0aXZlRHJvcCwgZXRjLikuAAAAAAAHb3B0aW9ucwAAAAAOAAABED09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNvbW1vbiBDb25maWd1cmF0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClByaWNlIGZlZWQgY29udHJhY3QgYWRkcmVzcyBmb3IgZ2FzIHByaWNlIGFuZCBleGNoYW5nZSByYXRlIGRhdGEuAAAACnByaWNlX2ZlZWQAAAAAABMAAADlPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KTWVzc2FnZSBQYXJhbWV0ZXJzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClRoZSBPQXBwIHNlbmRlciBhZGRyZXNzLgAAAAAAAAZzZW5kZXIAAAAAABMAAAABAAAAhEdhcyBwcmljZSBpbmZvcm1hdGlvbiBmb3IgYSBkZXN0aW5hdGlvbiBlbmRwb2ludC4KCkNvbnRhaW5zIHRoZSBleGNoYW5nZSByYXRlIGFuZCBnYXMgY29zdHMgbmVlZGVkIGZvciBjcm9zcy1jaGFpbiBmZWUgY2FsY3VsYXRpb25zLgAAAAAAAAAFUHJpY2UAAAAAAAADAAAAN0dhcyBjb3N0IHBlciBieXRlIG9mIGNhbGxkYXRhIG9uIHRoZSBkZXN0aW5hdGlvbiBjaGFpbi4AAAAADGdhc19wZXJfYnl0ZQAAAAQAAABCR2FzIHByaWNlIGluIHRoZSBzbWFsbGVzdCB1bml0ICh3ZWkgZm9yIEVWTSwgc3Ryb29wcyBmb3IgU3RlbGxhcikuAAAAAAARZ2FzX3ByaWNlX2luX3VuaXQAAAAAAAAGAAAAqVByaWNlIHJhdGlvID0gKHJlbW90ZSBuYXRpdmUgdG9rZW4gcHJpY2UgLyBsb2NhbCBuYXRpdmUgdG9rZW4gcHJpY2UpICogUFJJQ0VfUkFUSU9fREVOT01JTkFUT1IuClVzZWQgdG8gY29udmVydCBkZXN0aW5hdGlvbiBjaGFpbiBnYXMgY29zdHMgdG8gc291cmNlIGNoYWluIG5hdGl2ZSB0b2tlbi4AAAAAAAALcHJpY2VfcmF0aW8AAAAACgAAAAEAAACARmVlIGVzdGltYXRpb24gcmVzdWx0IHdpdGggZGV0YWlsZWQgYnJlYWtkb3duLgoKQ29udGFpbnMgdGhlIGNhbGN1bGF0ZWQgZmVlIGFuZCBhbGwgaW50ZXJtZWRpYXRlIHZhbHVlcyB1c2VkIGluIHRoZSBjYWxjdWxhdGlvbi4AAAAAAAAAC0ZlZUVzdGltYXRlAAAAAAQAAAAwU291cmNlIGNoYWluIG5hdGl2ZSB0b2tlbiBwcmljZSBpbiBVU0QgKHNjYWxlZCkuAAAAEG5hdGl2ZV9wcmljZV91c2QAAAAKAAAAJVByaWNlIHJhdGlvIHVzZWQgZm9yIHRoZSBjYWxjdWxhdGlvbi4AAAAAAAALcHJpY2VfcmF0aW8AAAAACgAAADJEZW5vbWluYXRvciBmb3IgdGhlIHByaWNlIHJhdGlvICh0eXBpY2FsbHkgMTBeMjApLgAAAAAAF3ByaWNlX3JhdGlvX2Rlbm9taW5hdG9yAAAAAAoAAAAxVG90YWwgZ2FzIGZlZSBpbiBzb3VyY2UgY2hhaW4gbmF0aXZlIHRva2VuIHVuaXRzLgAAAAAAAA10b3RhbF9nYXNfZmVlAAAAAAAACwAAAAQAAAAdUGFja2V0Q29kZWNWMUVycm9yOiAxMTAwLTExMDkAAAAAAAAAAAAAElBhY2tldENvZGVjVjFFcnJvcgAAAAAAAgAAAAAAAAATSW52YWxpZFBhY2tldEhlYWRlcgAAAARMAAAAAAAAABRJbnZhbGlkUGFja2V0VmVyc2lvbgAABE0AAAAEAAAAHVdvcmtlck9wdGlvbnNFcnJvcjogMTExMC0xMTE5AAAAAAAAAAAAABJXb3JrZXJPcHRpb25zRXJyb3IAAAAAAAkAAAAAAAAAEkludmFsaWRCeXRlc0xlbmd0aAAAAAAEVgAAAAAAAAAZSW52YWxpZExlZ2FjeU9wdGlvbnNUeXBlMQAAAAAABFcAAAAAAAAAGUludmFsaWRMZWdhY3lPcHRpb25zVHlwZTIAAAAAAARYAAAAAAAAABFJbnZhbGlkT3B0aW9uVHlwZQAAAAAABFkAAAAAAAAADkludmFsaWRPcHRpb25zAAAAAARaAAAAAAAAAA9JbnZhbGlkV29ya2VySWQAAAAEWwAAAAAAAAAdTGVnYWN5T3B0aW9uc1R5cGUxR2FzT3ZlcmZsb3cAAAAAAARcAAAAAAAAACBMZWdhY3lPcHRpb25zVHlwZTJBbW91bnRPdmVyZmxvdwAABF0AAAAAAAAAHUxlZ2FjeU9wdGlvbnNUeXBlMkdhc092ZXJmbG93AAAAAAAEXgAAAAQAAAAcQnVmZmVyUmVhZGVyRXJyb3I6IDEwMDAtMTAwOQAAAAAAAAARQnVmZmVyUmVhZGVyRXJyb3IAAAAAAAACAAAAAAAAAA1JbnZhbGlkTGVuZ3RoAAAAAAAD6AAAAAAAAAAVSW52YWxpZEFkZHJlc3NQYXlsb2FkAAAAAAAD6QAAAAQAAAAcQnVmZmVyV3JpdGVyRXJyb3I6IDEwMTAtMTAxOQAAAAAAAAARQnVmZmVyV3JpdGVyRXJyb3IAAAAAAAABAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPyAAAABAAAAB9UdGxDb25maWd1cmFibGVFcnJvcjogMTAyMC0xMDI5AAAAAAAAAAAUVHRsQ29uZmlndXJhYmxlRXJyb3IAAAADAAAAAAAAABBJbnZhbGlkVHRsQ29uZmlnAAAD/AAAAAAAAAAPVHRsQ29uZmlnRnJvemVuAAAAA/0AAAAAAAAAFlR0bENvbmZpZ0FscmVhZHlGcm96ZW4AAAAAA/4AAAAEAAAAF093bmFibGVFcnJvcjogMTAzMC0xMDM5AAAAAAAAAAAMT3duYWJsZUVycm9yAAAABgAAAAAAAAATSW52YWxpZFBlbmRpbmdPd25lcgAAAAQGAAAAAAAAAApJbnZhbGlkVHRsAAAAAAQHAAAAAAAAABFOb1BlbmRpbmdUcmFuc2ZlcgAAAAAABAgAAAAAAAAAD093bmVyQWxyZWFkeVNldAAAAAQJAAAAAAAAAAtPd25lck5vdFNldAAAAAQKAAAAAAAAABJUcmFuc2ZlckluUHJvZ3Jlc3MAAAAABAsAAAAEAAAAGEJ5dGVzRXh0RXJyb3I6IDEwNDAtMTA0OQAAAAAAAAANQnl0ZXNFeHRFcnJvcgAAAAAAAAEAAAAAAAAADkxlbmd0aE1pc21hdGNoAAAAAAQQAAAABAAAABtVcGdyYWRlYWJsZUVycm9yOiAxMDUwLTEwNTkAAAAAAAAAABBVcGdyYWRlYWJsZUVycm9yAAAAAwAAAAAAAAAUSW52YWxpZE1pZ3JhdGlvbkRhdGEAAAQaAAAAAAAAABNNaWdyYXRpb25Ob3RBbGxvd2VkAAAABBsAAAAAAAAADlVwZ3JhZGVzRnJvemVuAAAAAAQcAAAABAAAABhNdWx0aXNpZ0Vycm9yOiAxMDYwLTEwNjkAAAAAAAAADU11bHRpc2lnRXJyb3IAAAAAAAAIAAAAAAAAABJBbHJlYWR5SW5pdGlhbGl6ZWQAAAAABCQAAAAAAAAADUludmFsaWRTaWduZXIAAAAAAAQlAAAAAAAAAA5TaWduYXR1cmVFcnJvcgAAAAAEJgAAAAAAAAATU2lnbmVyQWxyZWFkeUV4aXN0cwAAAAQnAAAAAAAAAA5TaWduZXJOb3RGb3VuZAAAAAAEKAAAAAAAAAAdVG90YWxTaWduZXJzTGVzc1RoYW5UaHJlc2hvbGQAAAAAAAQpAAAAAAAAAA9VbnNvcnRlZFNpZ25lcnMAAAAEKgAAAAAAAAANWmVyb1RocmVzaG9sZAAAAAAABCsAAAAFAAAAMEV2ZW50IGVtaXR0ZWQgd2hlbiBhIHNpZ25lciBpcyBhZGRlZCBvciByZW1vdmVkLgAAAAAAAAAJU2lnbmVyU2V0AAAAAAAAAQAAAApzaWduZXJfc2V0AAAAAAACAAAAAAAAAAZzaWduZXIAAAAAA+4AAAAUAAAAAQAAAAAAAAAGYWN0aXZlAAAAAAABAAAAAAAAAAIAAAAFAAAANkV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2lnbmF0dXJlIHRocmVzaG9sZCBpcyBjaGFuZ2VkLgAAAAAAAAAAAAxUaHJlc2hvbGRTZXQAAAABAAAADXRocmVzaG9sZF9zZXQAAAAAAAABAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAPTXVsdGlzaWdTdG9yYWdlAAAAAAIAAAAAAAAAAAAAAAdTaWduZXJzAAAAAAAAAAAAAAAACVRocmVzaG9sZAAAAAAAAAUAAABXRXZlbnQgZW1pdHRlZCB3aGVuIG93bmVyc2hpcCBpcyB0cmFuc2ZlcnJlZCAoYm90aCBzaW5nbGUtc3RlcCBhbmQgdHdvLXN0ZXAgY29tcGxldGlvbikuAAAAAAAAAAAUT3duZXJzaGlwVHJhbnNmZXJyZWQAAAABAAAAFW93bmVyc2hpcF90cmFuc2ZlcnJlZAAAAAAAAAIAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAIAAAAFAAAAO0V2ZW50IGVtaXR0ZWQgd2hlbiBhIDItc3RlcCBvd25lcnNoaXAgdHJhbnNmZXIgaXMgcHJvcG9zZWQuAAAAAAAAAAAVT3duZXJzaGlwVHJhbnNmZXJyaW5nAAAAAAAAAQAAABZvd25lcnNoaXBfdHJhbnNmZXJyaW5nAAAAAAADAAAAAAAAAAlvbGRfb3duZXIAAAAAAAATAAAAAAAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAAAAAAAA3R0bAAAAAAEAAAAAAAAAAIAAAAFAAAAKkV2ZW50IGVtaXR0ZWQgd2hlbiBvd25lcnNoaXAgaXMgcmVub3VuY2VkLgAAAAAAAAAAABJPd25lcnNoaXBSZW5vdW5jZWQAAAAAAAEAAAATb3duZXJzaGlwX3Jlbm91bmNlZAAAAAAB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AAAABG9hcHAAAAATAAAAAAAAAAAAAAAGZGVuaWVkAAAAAAABAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAGUGF1c2VkAAAAAAABAAAABnBhdXNlZAAAAAAAAQAAAAAAAAAGcGF1c2VyAAAAAAATAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAIVW5wYXVzZWQAAAABAAAACHVucGF1c2VkAAAAAQAAAAAAAAAIdW5wYXVzZXIAAAATAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAXU2V0RGVmYXVsdE11bHRpcGxpZXJCcHMAAAAAAQAAABpzZXRfZGVmYXVsdF9tdWx0aXBsaWVyX2JwcwAAAAAAAQAAAAAAAAAObXVsdGlwbGllcl9icHMAAAAAAAQAAAAAAAAAAgAAAAUAAAAAAAAAAAAAABFTZXREZXBvc2l0QWRkcmVzcwAAAAAAAAEAAAATc2V0X2RlcG9zaXRfYWRkcmVzcwAAAAABAAAAAAAAAA9kZXBvc2l0X2FkZHJlc3MAAAAAEwAAAAAAAAACAAAABQAAAAAAAAAAAAAADFNldFByaWNlRmVlZAAAAAEAAAAOc2V0X3ByaWNlX2ZlZWQAAAAAAAEAAAAAAAAACnByaWNlX2ZlZWQAAAAAABMAAAAAAAAAAgAAAAUAAAAAAAAAAAAAABdTZXRTdXBwb3J0ZWRPcHRpb25UeXBlcwAAAAABAAAAGnNldF9zdXBwb3J0ZWRfb3B0aW9uX3R5cGVzAAAAAAACAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAAAAAAAAAAAAAxvcHRpb25fdHlwZXMAAAAOAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAPU2V0V29ya2VyRmVlTGliAAAAAAEAAAASc2V0X3dvcmtlcl9mZWVfbGliAAAAAAABAAAAAAAAAAdmZWVfbGliAAAAABMAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA1Xb3JrZXJTdG9yYWdlAAAAAAAACwAAAAAAAAAAAAAABlBhdXNlZAAAAAAAAAAAAAAAAAAGQWRtaW5zAAAAAAAAAAAAAAAAAAtNZXNzYWdlTGlicwAAAAABAAAAAAAAAAlBbGxvd2xpc3QAAAAAAAABAAAAEwAAAAAAAAAAAAAADUFsbG93bGlzdFNpemUAAAAAAAABAAAAAAAAAAhEZW55bGlzdAAAAAEAAAATAAAAAAAAAAAAAAAURGVmYXVsdE11bHRpcGxpZXJCcHMAAAAAAAAAAAAAAA5EZXBvc2l0QWRkcmVzcwAAAAAAAQAAAAAAAAAUU3VwcG9ydGVkT3B0aW9uVHlwZXMAAAABAAAABAAAAAAAAAAAAAAADFdvcmtlckZlZUxpYgAAAAAAAAAAAAAACVByaWNlRmVlZAAAAACLAQ5jb250cmFjdG1ldGF2MAAAAAAAAAAGYmludmVyAAAAAAAFMC4wLjEAAAAAAAAAAAAABXJzdmVyAAAAAAAABjEuOTAuMAAAAAAAAAAAAAhyc3Nka3ZlcgAAAC8yNS4wLjEjOTQxNDQ4MDc5ZWNjZjk1NjI3ZDJmZmVhMTNiYTI2OGUzMDVhOTA3NwAAHhFjb250cmFjdGVudm1ldGF2MAAAAAAAAAAZAAAAAABTDmNvbnRyYWN0bWV0YXYwAAAAAAAAAAZjbGl2ZXIAAAAAAC8yNS4wLjAjYTY0OTI1ZTkzOTFjM2QzYjNlZjhlNTNkYzYwYzIzZGI5ZTZhODJlNAA=";
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 = "ec6441f915add093cc083aec8a44de354224ca57b5ffc5c9bbc39b6a79dabf4d";
16
+ export declare const WASM_HASH = "68df81efe2d090ace4a1802098c00dcdacaa4c9e4e21c329536c60d715da8bef";
17
17
  /**
18
18
  * Get the WASM bytecode as a Buffer
19
19
  * Use this to upload the WASM to the network
@@ -1571,40 +1571,13 @@ export interface Client {
1571
1571
  simulate?: boolean;
1572
1572
  }) => Promise<AssembledTransaction<null>>;
1573
1573
  /**
1574
- * 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.
1575
- */
1576
- authorizer: (txnOptions?: {
1577
- /**
1578
- * The fee to pay for the transaction. Default: BASE_FEE
1579
- */
1580
- fee?: number;
1581
- /**
1582
- * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1583
- */
1584
- timeoutInSeconds?: number;
1585
- /**
1586
- * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1587
- */
1588
- simulate?: boolean;
1589
- }) => Promise<AssembledTransaction<string>>;
1590
- /**
1591
- * 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.
1592
- * Sets TTL configs for instance and persistent storage.
1593
- *
1594
- * - `None` values remove the corresponding config (disables auto-extension for that type)
1595
- * - Validates that `threshold <= extend_to <= MAX_TTL`
1596
- *
1597
- * # Arguments
1598
- * - `instance` - TTL config for instance storage
1599
- * - `persistent` - TTL config for persistent storage
1600
- *
1601
- * # Panics
1602
- * - `TtlConfigFrozen` if configs are frozen
1603
- * - `InvalidTtlConfig` if validation fails
1574
+ * Construct and simulate a upgrade 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.
1575
+ * The type of data required for migration.
1576
+ * Upgrades the contract to new WASM bytecode.
1577
+ * Sets a migration flag that must be cleared by calling `migrate`.
1604
1578
  */
1605
- set_ttl_configs: ({ instance, persistent }: {
1606
- instance: Option<TtlConfig>;
1607
- persistent: Option<TtlConfig>;
1579
+ upgrade: ({ new_wasm_hash }: {
1580
+ new_wasm_hash: Buffer;
1608
1581
  }, txnOptions?: {
1609
1582
  /**
1610
1583
  * The fee to pay for the transaction. Default: BASE_FEE
@@ -1620,10 +1593,13 @@ export interface Client {
1620
1593
  simulate?: boolean;
1621
1594
  }) => Promise<AssembledTransaction<null>>;
1622
1595
  /**
1623
- * 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.
1624
- * Returns the current TTL configs as (instance_config, persistent_config).
1596
+ * Construct and simulate a migrate 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.
1597
+ * Runs migration logic after an upgrade.
1598
+ * Can only be called when the migration flag is set by a previous `upgrade` call.
1625
1599
  */
1626
- ttl_configs: (txnOptions?: {
1600
+ migrate: ({ migration_data }: {
1601
+ migration_data: Buffer;
1602
+ }, txnOptions?: {
1627
1603
  /**
1628
1604
  * The fee to pay for the transaction. Default: BASE_FEE
1629
1605
  */
@@ -1636,18 +1612,13 @@ export interface Client {
1636
1612
  * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1637
1613
  */
1638
1614
  simulate?: boolean;
1639
- }) => Promise<AssembledTransaction<readonly [Option<TtlConfig>, Option<TtlConfig>]>>;
1615
+ }) => Promise<AssembledTransaction<null>>;
1640
1616
  /**
1641
- * 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.
1642
- * Permanently freezes TTL configs, preventing any future modifications.
1643
- *
1644
- * This is irreversible and provides immutability guarantees to users.
1645
- * Emits `TtlConfigsFrozen` event.
1646
- *
1647
- * # Panics
1648
- * - `TtlConfigAlreadyFrozen` if already frozen
1617
+ * Construct and simulate a freeze 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.
1618
+ * Permanently freezes the contract, preventing any future upgrades.
1619
+ * This action is irreversible.
1649
1620
  */
1650
- freeze_ttl_configs: (txnOptions?: {
1621
+ freeze: (txnOptions?: {
1651
1622
  /**
1652
1623
  * The fee to pay for the transaction. Default: BASE_FEE
1653
1624
  */
@@ -1662,10 +1633,10 @@ export interface Client {
1662
1633
  simulate?: boolean;
1663
1634
  }) => Promise<AssembledTransaction<null>>;
1664
1635
  /**
1665
- * 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.
1666
- * Returns whether TTL configs are frozen.
1636
+ * Construct and simulate a is_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.
1637
+ * Returns whether the contract is frozen (upgrades disabled).
1667
1638
  */
1668
- is_ttl_configs_frozen: (txnOptions?: {
1639
+ is_frozen: (txnOptions?: {
1669
1640
  /**
1670
1641
  * The fee to pay for the transaction. Default: BASE_FEE
1671
1642
  */
@@ -1680,18 +1651,9 @@ export interface Client {
1680
1651
  simulate?: boolean;
1681
1652
  }) => Promise<AssembledTransaction<boolean>>;
1682
1653
  /**
1683
- * 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.
1684
- * Extends the instance TTL.
1685
- *
1686
- * # Arguments
1687
- *
1688
- * * `threshold` - The threshold to extend the TTL (if current TTL is below this, extend).
1689
- * * `extend_to` - The TTL to extend to.
1654
+ * 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.
1690
1655
  */
1691
- extend_instance_ttl: ({ threshold, extend_to }: {
1692
- threshold: u32;
1693
- extend_to: u32;
1694
- }, txnOptions?: {
1656
+ authorizer: (txnOptions?: {
1695
1657
  /**
1696
1658
  * The fee to pay for the transaction. Default: BASE_FEE
1697
1659
  */
@@ -1704,7 +1666,7 @@ export interface Client {
1704
1666
  * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1705
1667
  */
1706
1668
  simulate?: boolean;
1707
- }) => Promise<AssembledTransaction<null>>;
1669
+ }) => Promise<AssembledTransaction<string>>;
1708
1670
  /**
1709
1671
  * 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.
1710
1672
  * Returns the current owner address, or None if no owner is set.
@@ -1849,13 +1811,17 @@ export interface Client {
1849
1811
  simulate?: boolean;
1850
1812
  }) => Promise<AssembledTransaction<null>>;
1851
1813
  /**
1852
- * Construct and simulate a upgrade 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.
1853
- * The type of data required for migration.
1854
- * Upgrades the contract to new WASM bytecode.
1855
- * Sets a migration flag that must be cleared by calling `migrate`.
1814
+ * 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.
1815
+ * Extends the instance TTL.
1816
+ *
1817
+ * # Arguments
1818
+ *
1819
+ * * `threshold` - The threshold to extend the TTL (if current TTL is below this, extend).
1820
+ * * `extend_to` - The TTL to extend to.
1856
1821
  */
1857
- upgrade: ({ new_wasm_hash }: {
1858
- new_wasm_hash: Buffer;
1822
+ extend_instance_ttl: ({ threshold, extend_to }: {
1823
+ threshold: u32;
1824
+ extend_to: u32;
1859
1825
  }, txnOptions?: {
1860
1826
  /**
1861
1827
  * The fee to pay for the transaction. Default: BASE_FEE
@@ -1871,12 +1837,23 @@ export interface Client {
1871
1837
  simulate?: boolean;
1872
1838
  }) => Promise<AssembledTransaction<null>>;
1873
1839
  /**
1874
- * Construct and simulate a migrate 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.
1875
- * Runs migration logic after an upgrade.
1876
- * Can only be called when the migration flag is set by a previous `upgrade` call.
1840
+ * 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.
1841
+ * Sets TTL configs for instance and persistent storage.
1842
+ *
1843
+ * - `None` values remove the corresponding config (disables auto-extension for that type)
1844
+ * - Validates that `threshold <= extend_to <= MAX_TTL`
1845
+ *
1846
+ * # Arguments
1847
+ * - `instance` - TTL config for instance storage
1848
+ * - `persistent` - TTL config for persistent storage
1849
+ *
1850
+ * # Panics
1851
+ * - `TtlConfigFrozen` if configs are frozen
1852
+ * - `InvalidTtlConfig` if validation fails
1877
1853
  */
1878
- migrate: ({ migration_data }: {
1879
- migration_data: Buffer;
1854
+ set_ttl_configs: ({ instance, persistent }: {
1855
+ instance: Option<TtlConfig>;
1856
+ persistent: Option<TtlConfig>;
1880
1857
  }, txnOptions?: {
1881
1858
  /**
1882
1859
  * The fee to pay for the transaction. Default: BASE_FEE
@@ -1892,11 +1869,34 @@ export interface Client {
1892
1869
  simulate?: boolean;
1893
1870
  }) => Promise<AssembledTransaction<null>>;
1894
1871
  /**
1895
- * Construct and simulate a freeze 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.
1896
- * Permanently freezes the contract, preventing any future upgrades.
1897
- * This action is irreversible.
1872
+ * 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.
1873
+ * Returns the current TTL configs as (instance_config, persistent_config).
1898
1874
  */
1899
- freeze: (txnOptions?: {
1875
+ ttl_configs: (txnOptions?: {
1876
+ /**
1877
+ * The fee to pay for the transaction. Default: BASE_FEE
1878
+ */
1879
+ fee?: number;
1880
+ /**
1881
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
1882
+ */
1883
+ timeoutInSeconds?: number;
1884
+ /**
1885
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
1886
+ */
1887
+ simulate?: boolean;
1888
+ }) => Promise<AssembledTransaction<readonly [Option<TtlConfig>, Option<TtlConfig>]>>;
1889
+ /**
1890
+ * 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.
1891
+ * Permanently freezes TTL configs, preventing any future modifications.
1892
+ *
1893
+ * This is irreversible and provides immutability guarantees to users.
1894
+ * Emits `TtlConfigsFrozen` event.
1895
+ *
1896
+ * # Panics
1897
+ * - `TtlConfigAlreadyFrozen` if already frozen
1898
+ */
1899
+ freeze_ttl_configs: (txnOptions?: {
1900
1900
  /**
1901
1901
  * The fee to pay for the transaction. Default: BASE_FEE
1902
1902
  */
@@ -1911,10 +1911,10 @@ export interface Client {
1911
1911
  simulate?: boolean;
1912
1912
  }) => Promise<AssembledTransaction<null>>;
1913
1913
  /**
1914
- * Construct and simulate a is_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.
1915
- * Returns whether the contract is frozen (upgrades disabled).
1914
+ * 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.
1915
+ * Returns whether TTL configs are frozen.
1916
1916
  */
1917
- is_frozen: (txnOptions?: {
1917
+ is_ttl_configs_frozen: (txnOptions?: {
1918
1918
  /**
1919
1919
  * The fee to pay for the transaction. Default: BASE_FEE
1920
1920
  */
@@ -1985,21 +1985,21 @@ export declare class Client extends ContractClient {
1985
1985
  native_drop: (json: string) => AssembledTransaction<null>;
1986
1986
  endpoint: (json: string) => AssembledTransaction<string>;
1987
1987
  withdraw_token: (json: string) => AssembledTransaction<null>;
1988
+ upgrade: (json: string) => AssembledTransaction<null>;
1989
+ migrate: (json: string) => AssembledTransaction<null>;
1990
+ freeze: (json: string) => AssembledTransaction<null>;
1991
+ is_frozen: (json: string) => AssembledTransaction<boolean>;
1988
1992
  authorizer: (json: string) => AssembledTransaction<string>;
1989
- set_ttl_configs: (json: string) => AssembledTransaction<null>;
1990
- ttl_configs: (json: string) => AssembledTransaction<readonly [Option<TtlConfig>, Option<TtlConfig>]>;
1991
- freeze_ttl_configs: (json: string) => AssembledTransaction<null>;
1992
- is_ttl_configs_frozen: (json: string) => AssembledTransaction<boolean>;
1993
- extend_instance_ttl: (json: string) => AssembledTransaction<null>;
1994
1993
  owner: (json: string) => AssembledTransaction<Option<string>>;
1995
1994
  pending_owner: (json: string) => AssembledTransaction<Option<string>>;
1996
1995
  transfer_ownership: (json: string) => AssembledTransaction<null>;
1997
1996
  propose_ownership_transfer: (json: string) => AssembledTransaction<null>;
1998
1997
  accept_ownership: (json: string) => AssembledTransaction<null>;
1999
1998
  renounce_ownership: (json: string) => AssembledTransaction<null>;
2000
- upgrade: (json: string) => AssembledTransaction<null>;
2001
- migrate: (json: string) => AssembledTransaction<null>;
2002
- freeze: (json: string) => AssembledTransaction<null>;
2003
- is_frozen: (json: string) => AssembledTransaction<boolean>;
1999
+ extend_instance_ttl: (json: string) => AssembledTransaction<null>;
2000
+ set_ttl_configs: (json: string) => AssembledTransaction<null>;
2001
+ ttl_configs: (json: string) => AssembledTransaction<readonly [Option<TtlConfig>, Option<TtlConfig>]>;
2002
+ freeze_ttl_configs: (json: string) => AssembledTransaction<null>;
2003
+ is_ttl_configs_frozen: (json: string) => AssembledTransaction<boolean>;
2004
2004
  };
2005
2005
  }