@dydxprotocol/v4-client-js 0.33.0 → 0.33.2

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 (929) hide show
  1. package/README.md +13 -2
  2. package/__native__/__ios__/v4-native-client.js +305 -305
  3. package/__tests__/modules/client/Transfers.test.ts +5 -9
  4. package/__tests__/modules/client/ValidatorPostEndpoints.test.ts +1 -1
  5. package/build/__tests__/modules/client/Transfers.test.js +4 -5
  6. package/build/__tests__/modules/client/ValidatorPostEndpoints.test.js +2 -2
  7. package/build/examples/constants.js +2 -2
  8. package/build/examples/transfer_example_withdraw_other.js +2 -2
  9. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/amino/amino.js +3 -0
  10. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/amino/bundle.js +30 -0
  11. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/app/runtime/v1alpha1/module.js +206 -0
  12. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/app/v1alpha1/config.js +223 -0
  13. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/app/v1alpha1/module.js +207 -0
  14. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/app/v1alpha1/query.js +108 -0
  15. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/app/v1alpha1/query.rpc.Query.js +52 -0
  16. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/auth/module/v1/module.js +161 -0
  17. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/auth/v1beta1/auth.js +323 -0
  18. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/auth/v1beta1/genesis.js +92 -0
  19. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/auth/v1beta1/query.js +937 -0
  20. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/auth/v1beta1/query.rpc.Query.js +135 -0
  21. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/auth/v1beta1/tx.js +119 -0
  22. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/auth/v1beta1/tx.rpc.msg.js +41 -0
  23. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/authz/module/v1/module.js +61 -0
  24. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/authz/v1beta1/authz.js +259 -0
  25. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/authz/v1beta1/event.js +161 -0
  26. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/authz/v1beta1/genesis.js +80 -0
  27. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/authz/v1beta1/query.js +402 -0
  28. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/authz/v1beta1/query.rpc.Query.js +70 -0
  29. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/authz/v1beta1/tx.js +341 -0
  30. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/authz/v1beta1/tx.rpc.msg.js +53 -0
  31. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/bank/module/v1/module.js +90 -0
  32. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/bank/v1beta1/authz.js +95 -0
  33. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/bank/v1beta1/bank.js +512 -0
  34. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/bank/v1beta1/genesis.js +198 -0
  35. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/bank/v1beta1/query.js +1235 -0
  36. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/bank/v1beta1/query.rpc.Query.js +146 -0
  37. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/bank/v1beta1/tx.js +432 -0
  38. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/bank/v1beta1/tx.rpc.msg.js +59 -0
  39. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/base/abci/v1beta1/abci.js +814 -0
  40. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/base/kv/v1beta1/kv.js +136 -0
  41. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/base/node/v1beta1/query.js +108 -0
  42. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/base/node/v1beta1/query.rpc.Service.js +52 -0
  43. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/base/query/v1beta1/pagination.js +171 -0
  44. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/base/reflection/v1beta1/reflection.js +210 -0
  45. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/base/reflection/v2alpha1/reflection.js +1330 -0
  46. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/base/snapshots/v1beta1/snapshot.js +592 -0
  47. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/base/store/v1beta1/commit_info.js +202 -0
  48. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/base/store/v1beta1/listening.js +262 -0
  49. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/base/tendermint/v1beta1/query.js +1234 -0
  50. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/base/tendermint/v1beta1/query.rpc.Service.js +108 -0
  51. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/base/tendermint/v1beta1/types.js +284 -0
  52. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/base/v1beta1/coin.js +233 -0
  53. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/bundle.d.ts +5570 -0
  54. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/bundle.js +607 -0
  55. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/capability/module/v1/module.js +75 -0
  56. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/capability/v1beta1/capability.js +181 -0
  57. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/capability/v1beta1/genesis.js +146 -0
  58. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/consensus/module/v1/module.js +75 -0
  59. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/consensus/v1/query.js +108 -0
  60. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/consensus/v1/query.rpc.Query.js +52 -0
  61. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/consensus/v1/tx.js +139 -0
  62. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/consensus/v1/tx.rpc.msg.js +41 -0
  63. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/crisis/module/v1/module.js +85 -0
  64. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/crisis/v1beta1/genesis.js +75 -0
  65. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/crisis/v1beta1/tx.js +218 -0
  66. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/crisis/v1beta1/tx.rpc.msg.js +47 -0
  67. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/crypto/ed25519/keys.js +121 -0
  68. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/crypto/hd/v1/hd.js +115 -0
  69. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/crypto/keyring/v1/record.js +283 -0
  70. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/crypto/multisig/keys.js +91 -0
  71. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/crypto/multisig/v1beta1/multisig.js +136 -0
  72. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/crypto/secp256k1/keys.js +121 -0
  73. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/crypto/secp256r1/keys.js +121 -0
  74. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/distribution/module/v1/module.js +85 -0
  75. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/distribution/v1beta1/distribution.js +782 -0
  76. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/distribution/v1beta1/genesis.js +639 -0
  77. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/distribution/v1beta1/query.js +1043 -0
  78. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/distribution/v1beta1/query.rpc.Query.js +133 -0
  79. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/distribution/v1beta1/tx.js +611 -0
  80. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/distribution/v1beta1/tx.rpc.msg.js +71 -0
  81. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/evidence/module/v1/module.js +61 -0
  82. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/evidence/v1beta1/evidence.js +106 -0
  83. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/evidence/v1beta1/genesis.js +80 -0
  84. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/evidence/v1beta1/query.js +238 -0
  85. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/evidence/v1beta1/query.rpc.Query.js +63 -0
  86. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/evidence/v1beta1/tx.js +132 -0
  87. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/evidence/v1beta1/tx.rpc.msg.js +41 -0
  88. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/feegrant/module/v1/module.js +61 -0
  89. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/feegrant/v1beta1/feegrant.js +317 -0
  90. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/feegrant/v1beta1/genesis.js +80 -0
  91. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/feegrant/v1beta1/query.js +366 -0
  92. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/feegrant/v1beta1/query.rpc.Query.js +70 -0
  93. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/feegrant/v1beta1/tx.js +218 -0
  94. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/feegrant/v1beta1/tx.rpc.msg.js +47 -0
  95. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/genutil/module/v1/module.js +61 -0
  96. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/genutil/v1beta1/genesis.js +80 -0
  97. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/gov/module/v1/module.js +85 -0
  98. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/gov/v1/genesis.js +161 -0
  99. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/gov/v1/gov.js +944 -0
  100. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/gov/v1/query.js +903 -0
  101. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/gov/v1/query.rpc.Query.js +115 -0
  102. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/gov/v1/tx.js +688 -0
  103. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/gov/v1/tx.rpc.msg.js +71 -0
  104. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/gov/v1beta1/genesis.js +151 -0
  105. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/gov/v1beta1/gov.js +814 -0
  106. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/gov/v1beta1/query.js +893 -0
  107. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/gov/v1beta1/query.rpc.Query.js +115 -0
  108. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/gov/v1beta1/tx.js +455 -0
  109. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/gov/v1beta1/tx.rpc.msg.js +59 -0
  110. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/group/module/v1/module.js +85 -0
  111. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/group/v1/events.js +469 -0
  112. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/group/v1/genesis.js +171 -0
  113. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/group/v1/query.js +1426 -0
  114. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/group/v1/query.rpc.Query.js +160 -0
  115. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/group/v1/tx.js +1630 -0
  116. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/group/v1/tx.rpc.msg.js +119 -0
  117. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/group/v1/types.js +1135 -0
  118. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/mint/module/v1/module.js +85 -0
  119. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/mint/v1beta1/genesis.js +85 -0
  120. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/mint/v1beta1/mint.js +181 -0
  121. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/mint/v1beta1/query.js +266 -0
  122. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/mint/v1beta1/query.rpc.Query.js +70 -0
  123. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/mint/v1beta1/tx.js +119 -0
  124. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/mint/v1beta1/tx.rpc.msg.js +41 -0
  125. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/msg/v1/msg.js +3 -0
  126. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/nft/module/v1/module.js +61 -0
  127. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/nft/v1beta1/event.js +237 -0
  128. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/nft/v1beta1/genesis.js +157 -0
  129. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/nft/v1beta1/nft.js +222 -0
  130. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/nft/v1beta1/query.js +750 -0
  131. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/nft/v1beta1/query.rpc.Query.js +108 -0
  132. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/nft/v1beta1/tx.js +138 -0
  133. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/nft/v1beta1/tx.rpc.msg.js +41 -0
  134. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/orm/module/v1alpha1/module.js +61 -0
  135. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/orm/query/v1alpha1/query.js +529 -0
  136. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/orm/query/v1alpha1/query.rpc.Query.js +61 -0
  137. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/orm/v1/orm.js +268 -0
  138. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/orm/v1alpha1/schema.js +243 -0
  139. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/params/module/v1/module.js +61 -0
  140. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/params/v1beta1/params.js +166 -0
  141. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/params/v1beta1/query.js +276 -0
  142. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/params/v1beta1/query.rpc.Query.js +61 -0
  143. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/query/v1/query.js +3 -0
  144. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/reflection/v1/reflection.js +113 -0
  145. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/rpc.query.d.ts +216 -0
  146. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/rpc.query.js +103 -0
  147. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/rpc.tx.js +81 -0
  148. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/slashing/module/v1/module.js +75 -0
  149. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/slashing/v1beta1/genesis.js +279 -0
  150. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/slashing/v1beta1/query.js +306 -0
  151. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/slashing/v1beta1/query.rpc.Query.js +72 -0
  152. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/slashing/v1beta1/slashing.js +213 -0
  153. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/slashing/v1beta1/tx.js +198 -0
  154. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/slashing/v1beta1/tx.rpc.msg.js +47 -0
  155. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/staking/module/v1/module.js +90 -0
  156. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/staking/v1beta1/authz.js +212 -0
  157. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/staking/v1beta1/genesis.js +227 -0
  158. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/staking/v1beta1/query.js +1510 -0
  159. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/staking/v1beta1/query.rpc.Query.js +169 -0
  160. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/staking/v1beta1/staking.js +1639 -0
  161. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/staking/v1beta1/tx.js +810 -0
  162. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/staking/v1beta1/tx.rpc.msg.js +77 -0
  163. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/tx/config/v1/config.js +85 -0
  164. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/tx/signing/v1beta1/signing.js +424 -0
  165. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/tx/v1beta1/service.js +1130 -0
  166. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/tx/v1beta1/service.rpc.Service.js +124 -0
  167. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/tx/v1beta1/tx.js +964 -0
  168. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/upgrade/module/v1/module.js +75 -0
  169. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/upgrade/v1beta1/query.js +466 -0
  170. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/upgrade/v1beta1/query.rpc.Query.js +88 -0
  171. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/upgrade/v1beta1/tx.js +198 -0
  172. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/upgrade/v1beta1/tx.rpc.msg.js +47 -0
  173. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/upgrade/v1beta1/upgrade.js +295 -0
  174. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/vesting/module/v1/module.js +61 -0
  175. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/vesting/v1beta1/tx.js +373 -0
  176. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/vesting/v1beta1/tx.rpc.msg.js +53 -0
  177. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos/vesting/v1beta1/vesting.js +409 -0
  178. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos_proto/bundle.js +30 -0
  179. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/cosmos_proto/cosmos.js +206 -0
  180. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/assets/asset.js +145 -0
  181. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/assets/genesis.js +80 -0
  182. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/assets/query.js +3 -0
  183. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/assets/query.rpc.Query.js +17 -0
  184. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/assets/tx.js +3 -0
  185. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/blocktime.js +193 -0
  186. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/genesis.js +75 -0
  187. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/params.js +91 -0
  188. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/query.js +265 -0
  189. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/query.rpc.Query.js +70 -0
  190. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/tx.js +198 -0
  191. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/blocktime/tx.rpc.msg.js +47 -0
  192. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/bridge/bridge_event.js +106 -0
  193. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/bridge/bridge_event_info.js +85 -0
  194. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/bridge/genesis.js +106 -0
  195. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/bridge/params.js +228 -0
  196. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/bridge/query.js +421 -0
  197. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/bridge/query.rpc.Query.js +88 -0
  198. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/bridge/tx.js +471 -0
  199. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/bridge/tx.rpc.msg.js +65 -0
  200. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/bundle.d.ts +2299 -0
  201. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/bundle.js +273 -0
  202. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/block_rate_limit_config.js +166 -0
  203. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/clob_pair.js +337 -0
  204. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/equity_tier_limit_config.js +151 -0
  205. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/genesis.js +114 -0
  206. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/liquidations.js +167 -0
  207. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/liquidations_config.js +282 -0
  208. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/matches.js +439 -0
  209. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/mev.js +445 -0
  210. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/operation.js +183 -0
  211. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/order.js +811 -0
  212. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/order_removals.js +198 -0
  213. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/process_proposer_matches_events.js +181 -0
  214. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.js +639 -0
  215. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/query.rpc.Query.js +90 -0
  216. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/tx.js +359 -0
  217. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/clob/tx.rpc.msg.js +53 -0
  218. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/daemons/bridge/bridge.js +113 -0
  219. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/daemons/liquidation/liquidation.js +113 -0
  220. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/daemons/pricefeed/price_feed.js +241 -0
  221. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/epochs/epoch_info.js +135 -0
  222. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/epochs/genesis.js +80 -0
  223. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/epochs/query.js +228 -0
  224. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/epochs/query.rpc.Query.js +63 -0
  225. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/genesis.js +75 -0
  226. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/params.js +176 -0
  227. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/query.js +210 -0
  228. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/query.rpc.Query.js +61 -0
  229. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/tx.js +119 -0
  230. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/feetiers/tx.rpc.msg.js +41 -0
  231. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/events/events.js +1257 -0
  232. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/indexer_manager/event.js +359 -0
  233. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/off_chain_updates/off_chain_updates.js +406 -0
  234. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/protocol/v1/clob.js +426 -0
  235. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/protocol/v1/subaccount.js +227 -0
  236. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/redis/redis_order.js +173 -0
  237. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/shared/removal_reason.js +159 -0
  238. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/indexer/socks/messages.js +475 -0
  239. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/perpetuals/genesis.js +107 -0
  240. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/perpetuals/params.js +95 -0
  241. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/perpetuals/perpetual.js +373 -0
  242. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/perpetuals/query.js +228 -0
  243. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/perpetuals/query.rpc.Query.js +63 -0
  244. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/perpetuals/tx.js +169 -0
  245. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/perpetuals/tx.rpc.msg.js +41 -0
  246. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/genesis.js +96 -0
  247. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/market_param.js +125 -0
  248. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/market_price.js +95 -0
  249. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/query.js +426 -0
  250. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/query.rpc.Query.js +83 -0
  251. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/tx.js +169 -0
  252. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/prices/tx.rpc.msg.js +41 -0
  253. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/rewards/genesis.js +75 -0
  254. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/rewards/params.js +115 -0
  255. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/rewards/query.js +108 -0
  256. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/rewards/query.rpc.Query.js +52 -0
  257. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/rewards/reward_share.js +85 -0
  258. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/rewards/tx.js +119 -0
  259. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/rewards/tx.rpc.msg.js +41 -0
  260. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/rpc.query.d.ts +273 -0
  261. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/rpc.query.js +118 -0
  262. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/rpc.tx.js +93 -0
  263. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/sending/genesis.js +61 -0
  264. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/sending/query.js +3 -0
  265. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/sending/query.rpc.Query.js +17 -0
  266. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/sending/transfer.js +258 -0
  267. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/sending/tx.js +174 -0
  268. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/sending/tx.rpc.msg.js +54 -0
  269. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/stats/genesis.js +75 -0
  270. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/stats/params.js +75 -0
  271. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/stats/query.js +356 -0
  272. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/stats/query.rpc.Query.js +79 -0
  273. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/stats/stats.js +410 -0
  274. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/stats/tx.js +119 -0
  275. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/stats/tx.rpc.msg.js +41 -0
  276. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/subaccounts/asset_position.js +95 -0
  277. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/subaccounts/genesis.js +80 -0
  278. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/subaccounts/perpetual_position.js +95 -0
  279. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/subaccounts/query.js +238 -0
  280. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/subaccounts/query.rpc.Query.js +63 -0
  281. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/subaccounts/subaccount.js +173 -0
  282. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vest/genesis.js +80 -0
  283. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vest/query.js +121 -0
  284. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vest/query.rpc.Query.js +52 -0
  285. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vest/tx.js +208 -0
  286. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vest/tx.rpc.msg.js +47 -0
  287. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/dydxprotocol/vest/vest_entry.js +116 -0
  288. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/gogoproto/bundle.js +30 -0
  289. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/gogoproto/gogo.js +3 -0
  290. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/google/api/annotations.js +3 -0
  291. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/google/api/http.js +287 -0
  292. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/google/bundle.js +44 -0
  293. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/google/protobuf/any.js +85 -0
  294. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/google/protobuf/descriptor.js +2842 -0
  295. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/google/protobuf/duration.js +85 -0
  296. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/google/protobuf/timestamp.js +85 -0
  297. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/helpers.js +184 -0
  298. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/index.js +29 -0
  299. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/tendermint/abci/types.js +3662 -0
  300. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/tendermint/bundle.js +61 -0
  301. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/tendermint/crypto/keys.js +85 -0
  302. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/tendermint/crypto/proof.js +349 -0
  303. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/tendermint/libs/bits/types.js +100 -0
  304. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/tendermint/p2p/types.js +332 -0
  305. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/tendermint/types/block.js +106 -0
  306. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/tendermint/types/evidence.js +314 -0
  307. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/tendermint/types/params.js +376 -0
  308. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/tendermint/types/types.js +1164 -0
  309. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/tendermint/types/validator.js +232 -0
  310. package/build/node_modules/@dydxprotocol/v4-proto/src/codegen/tendermint/version/types.js +140 -0
  311. package/build/node_modules/@dydxprotocol/v4-proto/src/index.js +18 -0
  312. package/build/src/clients/composite-client.js +3 -3
  313. package/build/src/clients/constants.d.ts +1 -1
  314. package/build/src/clients/lib/registry.js +4 -4
  315. package/build/src/clients/modules/post.d.ts +1 -1
  316. package/build/src/clients/modules/post.js +5 -5
  317. package/build/src/clients/modules/proto-includes.d.ts +15 -15
  318. package/build/src/clients/modules/proto-includes.js +16 -16
  319. package/build/src/clients/native.d.ts +1 -1
  320. package/build/src/clients/types.d.ts +1 -1
  321. package/examples/constants.ts +1 -1
  322. package/examples/transfer_example_withdraw_other.ts +0 -1
  323. package/package.json +2 -2
  324. package/src/clients/composite-client.ts +2 -2
  325. package/src/clients/constants.ts +1 -1
  326. package/src/clients/lib/registry.ts +3 -3
  327. package/src/clients/modules/post.ts +3 -4
  328. package/src/clients/modules/proto-includes.ts +15 -15
  329. package/src/clients/native.ts +1 -1
  330. package/src/clients/types.ts +1 -1
  331. package/tsconfig.json +1 -1
  332. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/amino/amino.js +0 -3
  333. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/amino/bundle.js +0 -30
  334. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/app/runtime/v1alpha1/module.js +0 -206
  335. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/app/v1alpha1/config.js +0 -223
  336. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/app/v1alpha1/module.js +0 -207
  337. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/app/v1alpha1/query.js +0 -108
  338. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/app/v1alpha1/query.rpc.Query.js +0 -52
  339. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/module/v1/module.js +0 -161
  340. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/auth.js +0 -323
  341. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/genesis.js +0 -92
  342. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/query.js +0 -937
  343. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/query.rpc.Query.js +0 -135
  344. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/tx.js +0 -119
  345. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/tx.rpc.msg.js +0 -41
  346. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/module/v1/module.js +0 -61
  347. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/authz.js +0 -259
  348. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/event.js +0 -161
  349. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/genesis.js +0 -80
  350. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/query.js +0 -402
  351. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/query.rpc.Query.js +0 -70
  352. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/tx.js +0 -341
  353. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/tx.rpc.msg.js +0 -53
  354. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/module/v1/module.js +0 -90
  355. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/authz.js +0 -95
  356. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/bank.js +0 -512
  357. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/genesis.js +0 -198
  358. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/query.js +0 -1235
  359. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/query.rpc.Query.js +0 -146
  360. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/tx.js +0 -432
  361. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/tx.rpc.msg.js +0 -59
  362. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/abci/v1beta1/abci.js +0 -814
  363. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/kv/v1beta1/kv.js +0 -136
  364. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/node/v1beta1/query.js +0 -108
  365. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/node/v1beta1/query.rpc.Service.js +0 -52
  366. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/query/v1beta1/pagination.js +0 -171
  367. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/reflection/v1beta1/reflection.js +0 -210
  368. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/reflection/v2alpha1/reflection.js +0 -1330
  369. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/snapshots/v1beta1/snapshot.js +0 -592
  370. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/store/v1beta1/commit_info.js +0 -202
  371. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/store/v1beta1/listening.js +0 -262
  372. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/tendermint/v1beta1/query.js +0 -1234
  373. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/tendermint/v1beta1/query.rpc.Service.js +0 -108
  374. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/tendermint/v1beta1/types.js +0 -284
  375. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/v1beta1/coin.js +0 -233
  376. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bundle.d.ts +0 -5570
  377. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bundle.js +0 -607
  378. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/capability/module/v1/module.js +0 -75
  379. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/capability/v1beta1/capability.js +0 -181
  380. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/capability/v1beta1/genesis.js +0 -146
  381. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/consensus/module/v1/module.js +0 -75
  382. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/consensus/v1/query.js +0 -108
  383. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/consensus/v1/query.rpc.Query.js +0 -52
  384. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/consensus/v1/tx.js +0 -139
  385. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/consensus/v1/tx.rpc.msg.js +0 -41
  386. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crisis/module/v1/module.js +0 -85
  387. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crisis/v1beta1/genesis.js +0 -75
  388. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crisis/v1beta1/tx.js +0 -218
  389. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crisis/v1beta1/tx.rpc.msg.js +0 -47
  390. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/ed25519/keys.js +0 -121
  391. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/hd/v1/hd.js +0 -115
  392. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/keyring/v1/record.js +0 -283
  393. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/multisig/keys.js +0 -91
  394. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/multisig/v1beta1/multisig.js +0 -136
  395. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/secp256k1/keys.js +0 -121
  396. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/secp256r1/keys.js +0 -121
  397. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/module/v1/module.js +0 -85
  398. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/distribution.js +0 -782
  399. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/genesis.js +0 -639
  400. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/query.js +0 -1043
  401. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/query.rpc.Query.js +0 -133
  402. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/tx.js +0 -611
  403. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/tx.rpc.msg.js +0 -71
  404. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/module/v1/module.js +0 -61
  405. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/evidence.js +0 -106
  406. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/genesis.js +0 -80
  407. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/query.js +0 -238
  408. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/query.rpc.Query.js +0 -63
  409. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/tx.js +0 -132
  410. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/tx.rpc.msg.js +0 -41
  411. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/module/v1/module.js +0 -61
  412. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/feegrant.js +0 -317
  413. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/genesis.js +0 -80
  414. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/query.js +0 -366
  415. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/query.rpc.Query.js +0 -70
  416. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/tx.js +0 -218
  417. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/tx.rpc.msg.js +0 -47
  418. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/genutil/module/v1/module.js +0 -61
  419. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/genutil/v1beta1/genesis.js +0 -80
  420. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/module/v1/module.js +0 -85
  421. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/genesis.js +0 -161
  422. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/gov.js +0 -944
  423. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/query.js +0 -903
  424. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/query.rpc.Query.js +0 -115
  425. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/tx.js +0 -688
  426. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/tx.rpc.msg.js +0 -71
  427. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/genesis.js +0 -151
  428. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/gov.js +0 -814
  429. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/query.js +0 -893
  430. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/query.rpc.Query.js +0 -115
  431. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/tx.js +0 -455
  432. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/tx.rpc.msg.js +0 -59
  433. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/module/v1/module.js +0 -85
  434. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/events.js +0 -469
  435. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/genesis.js +0 -171
  436. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/query.js +0 -1426
  437. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/query.rpc.Query.js +0 -160
  438. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/tx.js +0 -1630
  439. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/tx.rpc.msg.js +0 -119
  440. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/types.js +0 -1135
  441. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/module/v1/module.js +0 -85
  442. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/genesis.js +0 -85
  443. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/mint.js +0 -181
  444. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/query.js +0 -266
  445. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/query.rpc.Query.js +0 -70
  446. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/tx.js +0 -119
  447. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/tx.rpc.msg.js +0 -41
  448. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/msg/v1/msg.js +0 -3
  449. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/module/v1/module.js +0 -61
  450. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/event.js +0 -237
  451. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/genesis.js +0 -157
  452. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/nft.js +0 -222
  453. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/query.js +0 -750
  454. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/query.rpc.Query.js +0 -108
  455. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/tx.js +0 -138
  456. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/tx.rpc.msg.js +0 -41
  457. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/orm/module/v1alpha1/module.js +0 -61
  458. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/orm/query/v1alpha1/query.js +0 -529
  459. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/orm/query/v1alpha1/query.rpc.Query.js +0 -61
  460. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/orm/v1/orm.js +0 -268
  461. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/orm/v1alpha1/schema.js +0 -243
  462. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/params/module/v1/module.js +0 -61
  463. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/params/v1beta1/params.js +0 -166
  464. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/params/v1beta1/query.js +0 -276
  465. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/params/v1beta1/query.rpc.Query.js +0 -61
  466. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/query/v1/query.js +0 -3
  467. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/reflection/v1/reflection.js +0 -113
  468. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/rpc.query.d.ts +0 -216
  469. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/rpc.query.js +0 -103
  470. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/rpc.tx.js +0 -81
  471. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/module/v1/module.js +0 -75
  472. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/genesis.js +0 -279
  473. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/query.js +0 -306
  474. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/query.rpc.Query.js +0 -72
  475. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/slashing.js +0 -213
  476. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/tx.js +0 -198
  477. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/tx.rpc.msg.js +0 -47
  478. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/module/v1/module.js +0 -90
  479. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/authz.js +0 -212
  480. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/genesis.js +0 -227
  481. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/query.js +0 -1510
  482. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/query.rpc.Query.js +0 -169
  483. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/staking.js +0 -1639
  484. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/tx.js +0 -810
  485. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/tx.rpc.msg.js +0 -77
  486. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/tx/config/v1/config.js +0 -85
  487. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/tx/signing/v1beta1/signing.js +0 -424
  488. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/tx/v1beta1/service.js +0 -1130
  489. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/tx/v1beta1/service.rpc.Service.js +0 -124
  490. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/tx/v1beta1/tx.js +0 -964
  491. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/module/v1/module.js +0 -75
  492. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/v1beta1/query.js +0 -466
  493. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/v1beta1/query.rpc.Query.js +0 -88
  494. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/v1beta1/tx.js +0 -198
  495. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/v1beta1/tx.rpc.msg.js +0 -47
  496. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/v1beta1/upgrade.js +0 -295
  497. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/vesting/module/v1/module.js +0 -61
  498. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/vesting/v1beta1/tx.js +0 -373
  499. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/vesting/v1beta1/tx.rpc.msg.js +0 -53
  500. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/vesting/v1beta1/vesting.js +0 -409
  501. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos_proto/bundle.js +0 -30
  502. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos_proto/cosmos.js +0 -206
  503. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/assets/asset.js +0 -145
  504. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/assets/genesis.js +0 -80
  505. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/assets/query.js +0 -3
  506. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/assets/query.rpc.Query.js +0 -17
  507. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/assets/tx.js +0 -3
  508. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/blocktime.js +0 -193
  509. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/genesis.js +0 -75
  510. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/params.js +0 -91
  511. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/query.js +0 -265
  512. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/query.rpc.Query.js +0 -70
  513. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/tx.js +0 -198
  514. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/tx.rpc.msg.js +0 -47
  515. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/bridge_event.js +0 -106
  516. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/bridge_event_info.js +0 -85
  517. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/genesis.js +0 -106
  518. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/params.js +0 -228
  519. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/query.js +0 -421
  520. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/query.rpc.Query.js +0 -88
  521. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/tx.js +0 -471
  522. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/tx.rpc.msg.js +0 -65
  523. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bundle.d.ts +0 -2299
  524. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bundle.js +0 -273
  525. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/block_rate_limit_config.js +0 -166
  526. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/clob_pair.js +0 -337
  527. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/equity_tier_limit_config.js +0 -151
  528. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/genesis.js +0 -114
  529. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/liquidations.js +0 -167
  530. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/liquidations_config.js +0 -282
  531. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/matches.js +0 -439
  532. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/mev.js +0 -445
  533. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/operation.js +0 -183
  534. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/order.js +0 -811
  535. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/order_removals.js +0 -198
  536. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/process_proposer_matches_events.js +0 -181
  537. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/query.js +0 -639
  538. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/query.rpc.Query.js +0 -90
  539. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/tx.js +0 -359
  540. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/tx.rpc.msg.js +0 -53
  541. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/daemons/bridge/bridge.js +0 -113
  542. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/daemons/liquidation/liquidation.js +0 -113
  543. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/daemons/pricefeed/price_feed.js +0 -241
  544. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/epochs/epoch_info.js +0 -135
  545. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/epochs/genesis.js +0 -80
  546. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/epochs/query.js +0 -228
  547. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/epochs/query.rpc.Query.js +0 -63
  548. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/genesis.js +0 -75
  549. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/params.js +0 -176
  550. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/query.js +0 -210
  551. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/query.rpc.Query.js +0 -61
  552. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/tx.js +0 -119
  553. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/tx.rpc.msg.js +0 -41
  554. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/events/events.js +0 -1257
  555. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/indexer_manager/event.js +0 -359
  556. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/off_chain_updates/off_chain_updates.js +0 -406
  557. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/protocol/v1/clob.js +0 -426
  558. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/protocol/v1/subaccount.js +0 -227
  559. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/redis/redis_order.js +0 -173
  560. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/shared/removal_reason.js +0 -159
  561. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/socks/messages.js +0 -475
  562. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/genesis.js +0 -107
  563. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/params.js +0 -95
  564. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/perpetual.js +0 -373
  565. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/query.js +0 -228
  566. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/query.rpc.Query.js +0 -63
  567. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/tx.js +0 -169
  568. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/tx.rpc.msg.js +0 -41
  569. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/genesis.js +0 -96
  570. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/market_param.js +0 -125
  571. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/market_price.js +0 -95
  572. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/query.js +0 -426
  573. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/query.rpc.Query.js +0 -83
  574. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/tx.js +0 -169
  575. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/tx.rpc.msg.js +0 -41
  576. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/genesis.js +0 -75
  577. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/params.js +0 -115
  578. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/query.js +0 -108
  579. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/query.rpc.Query.js +0 -52
  580. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/reward_share.js +0 -85
  581. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/tx.js +0 -119
  582. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/tx.rpc.msg.js +0 -41
  583. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rpc.query.d.ts +0 -273
  584. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rpc.query.js +0 -118
  585. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rpc.tx.js +0 -93
  586. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/genesis.js +0 -61
  587. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/query.js +0 -3
  588. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/query.rpc.Query.js +0 -17
  589. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/transfer.js +0 -258
  590. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/tx.js +0 -174
  591. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/tx.rpc.msg.js +0 -54
  592. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/genesis.js +0 -75
  593. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/params.js +0 -75
  594. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/query.js +0 -356
  595. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/query.rpc.Query.js +0 -79
  596. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/stats.js +0 -410
  597. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/tx.js +0 -119
  598. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/tx.rpc.msg.js +0 -41
  599. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/asset_position.js +0 -95
  600. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/genesis.js +0 -80
  601. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/perpetual_position.js +0 -95
  602. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/query.js +0 -238
  603. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/query.rpc.Query.js +0 -63
  604. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/subaccount.js +0 -173
  605. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/genesis.js +0 -80
  606. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/query.js +0 -121
  607. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/query.rpc.Query.js +0 -52
  608. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/tx.js +0 -208
  609. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/tx.rpc.msg.js +0 -47
  610. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/vest_entry.js +0 -116
  611. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/gogoproto/bundle.js +0 -30
  612. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/gogoproto/gogo.js +0 -3
  613. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/api/annotations.js +0 -3
  614. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/api/http.js +0 -287
  615. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/bundle.js +0 -44
  616. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/protobuf/any.js +0 -85
  617. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/protobuf/descriptor.js +0 -2842
  618. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/protobuf/duration.js +0 -85
  619. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/protobuf/timestamp.js +0 -85
  620. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/helpers.js +0 -184
  621. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/index.js +0 -29
  622. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/abci/types.js +0 -3662
  623. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/bundle.js +0 -61
  624. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/crypto/keys.js +0 -85
  625. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/crypto/proof.js +0 -349
  626. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/libs/bits/types.js +0 -100
  627. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/p2p/types.js +0 -332
  628. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/types/block.js +0 -106
  629. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/types/evidence.js +0 -314
  630. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/types/params.js +0 -376
  631. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/types/types.js +0 -1164
  632. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/types/validator.js +0 -232
  633. package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/version/types.js +0 -140
  634. package/build/node_modules/@dydxprotocol/dydxjs/src/index.js +0 -18
  635. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/amino/amino.d.ts +0 -0
  636. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/amino/bundle.d.ts +0 -0
  637. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/app/runtime/v1alpha1/module.d.ts +0 -0
  638. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/app/v1alpha1/config.d.ts +0 -0
  639. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/app/v1alpha1/module.d.ts +0 -0
  640. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/app/v1alpha1/query.d.ts +0 -0
  641. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/app/v1alpha1/query.rpc.Query.d.ts +0 -0
  642. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/auth/module/v1/module.d.ts +0 -0
  643. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/auth/v1beta1/auth.d.ts +0 -0
  644. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/auth/v1beta1/genesis.d.ts +0 -0
  645. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/auth/v1beta1/query.d.ts +0 -0
  646. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/auth/v1beta1/query.rpc.Query.d.ts +0 -0
  647. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/auth/v1beta1/tx.d.ts +0 -0
  648. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/auth/v1beta1/tx.rpc.msg.d.ts +0 -0
  649. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/authz/module/v1/module.d.ts +0 -0
  650. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/authz/v1beta1/authz.d.ts +0 -0
  651. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/authz/v1beta1/event.d.ts +0 -0
  652. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/authz/v1beta1/genesis.d.ts +0 -0
  653. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/authz/v1beta1/query.d.ts +0 -0
  654. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/authz/v1beta1/query.rpc.Query.d.ts +0 -0
  655. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/authz/v1beta1/tx.d.ts +0 -0
  656. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/authz/v1beta1/tx.rpc.msg.d.ts +0 -0
  657. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/bank/module/v1/module.d.ts +0 -0
  658. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/bank/v1beta1/authz.d.ts +0 -0
  659. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/bank/v1beta1/bank.d.ts +0 -0
  660. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/bank/v1beta1/genesis.d.ts +0 -0
  661. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/bank/v1beta1/query.d.ts +0 -0
  662. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/bank/v1beta1/query.rpc.Query.d.ts +0 -0
  663. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/bank/v1beta1/tx.d.ts +0 -0
  664. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/bank/v1beta1/tx.rpc.msg.d.ts +0 -0
  665. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/base/abci/v1beta1/abci.d.ts +0 -0
  666. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/base/kv/v1beta1/kv.d.ts +0 -0
  667. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/base/node/v1beta1/query.d.ts +0 -0
  668. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/base/node/v1beta1/query.rpc.Service.d.ts +0 -0
  669. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/base/query/v1beta1/pagination.d.ts +0 -0
  670. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/base/reflection/v1beta1/reflection.d.ts +0 -0
  671. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/base/reflection/v2alpha1/reflection.d.ts +0 -0
  672. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/base/snapshots/v1beta1/snapshot.d.ts +0 -0
  673. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/base/store/v1beta1/commit_info.d.ts +0 -0
  674. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/base/store/v1beta1/listening.d.ts +0 -0
  675. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/base/tendermint/v1beta1/query.d.ts +0 -0
  676. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/base/tendermint/v1beta1/query.rpc.Service.d.ts +0 -0
  677. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/base/tendermint/v1beta1/types.d.ts +0 -0
  678. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/base/v1beta1/coin.d.ts +0 -0
  679. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/capability/module/v1/module.d.ts +0 -0
  680. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/capability/v1beta1/capability.d.ts +0 -0
  681. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/capability/v1beta1/genesis.d.ts +0 -0
  682. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/consensus/module/v1/module.d.ts +0 -0
  683. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/consensus/v1/query.d.ts +0 -0
  684. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/consensus/v1/query.rpc.Query.d.ts +0 -0
  685. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/consensus/v1/tx.d.ts +0 -0
  686. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/consensus/v1/tx.rpc.msg.d.ts +0 -0
  687. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/crisis/module/v1/module.d.ts +0 -0
  688. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/crisis/v1beta1/genesis.d.ts +0 -0
  689. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/crisis/v1beta1/tx.d.ts +0 -0
  690. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/crisis/v1beta1/tx.rpc.msg.d.ts +0 -0
  691. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/crypto/ed25519/keys.d.ts +0 -0
  692. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/crypto/hd/v1/hd.d.ts +0 -0
  693. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/crypto/keyring/v1/record.d.ts +0 -0
  694. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/crypto/multisig/keys.d.ts +0 -0
  695. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/crypto/multisig/v1beta1/multisig.d.ts +0 -0
  696. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/crypto/secp256k1/keys.d.ts +0 -0
  697. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/crypto/secp256r1/keys.d.ts +0 -0
  698. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/distribution/module/v1/module.d.ts +0 -0
  699. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/distribution/v1beta1/distribution.d.ts +0 -0
  700. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/distribution/v1beta1/genesis.d.ts +0 -0
  701. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/distribution/v1beta1/query.d.ts +0 -0
  702. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/distribution/v1beta1/query.rpc.Query.d.ts +0 -0
  703. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/distribution/v1beta1/tx.d.ts +0 -0
  704. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/distribution/v1beta1/tx.rpc.msg.d.ts +0 -0
  705. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/evidence/module/v1/module.d.ts +0 -0
  706. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/evidence/v1beta1/evidence.d.ts +0 -0
  707. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/evidence/v1beta1/genesis.d.ts +0 -0
  708. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/evidence/v1beta1/query.d.ts +0 -0
  709. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/evidence/v1beta1/query.rpc.Query.d.ts +0 -0
  710. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/evidence/v1beta1/tx.d.ts +0 -0
  711. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/evidence/v1beta1/tx.rpc.msg.d.ts +0 -0
  712. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/feegrant/module/v1/module.d.ts +0 -0
  713. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/feegrant/v1beta1/feegrant.d.ts +0 -0
  714. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/feegrant/v1beta1/genesis.d.ts +0 -0
  715. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/feegrant/v1beta1/query.d.ts +0 -0
  716. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/feegrant/v1beta1/query.rpc.Query.d.ts +0 -0
  717. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/feegrant/v1beta1/tx.d.ts +0 -0
  718. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/feegrant/v1beta1/tx.rpc.msg.d.ts +0 -0
  719. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/genutil/module/v1/module.d.ts +0 -0
  720. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/genutil/v1beta1/genesis.d.ts +0 -0
  721. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/gov/module/v1/module.d.ts +0 -0
  722. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/gov/v1/genesis.d.ts +0 -0
  723. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/gov/v1/gov.d.ts +0 -0
  724. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/gov/v1/query.d.ts +0 -0
  725. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/gov/v1/query.rpc.Query.d.ts +0 -0
  726. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/gov/v1/tx.d.ts +0 -0
  727. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/gov/v1/tx.rpc.msg.d.ts +0 -0
  728. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/gov/v1beta1/genesis.d.ts +0 -0
  729. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/gov/v1beta1/gov.d.ts +0 -0
  730. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/gov/v1beta1/query.d.ts +0 -0
  731. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/gov/v1beta1/query.rpc.Query.d.ts +0 -0
  732. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/gov/v1beta1/tx.d.ts +0 -0
  733. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/gov/v1beta1/tx.rpc.msg.d.ts +0 -0
  734. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/group/module/v1/module.d.ts +0 -0
  735. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/group/v1/events.d.ts +0 -0
  736. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/group/v1/genesis.d.ts +0 -0
  737. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/group/v1/query.d.ts +0 -0
  738. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/group/v1/query.rpc.Query.d.ts +0 -0
  739. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/group/v1/tx.d.ts +0 -0
  740. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/group/v1/tx.rpc.msg.d.ts +0 -0
  741. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/group/v1/types.d.ts +0 -0
  742. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/mint/module/v1/module.d.ts +0 -0
  743. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/mint/v1beta1/genesis.d.ts +0 -0
  744. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/mint/v1beta1/mint.d.ts +0 -0
  745. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/mint/v1beta1/query.d.ts +0 -0
  746. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/mint/v1beta1/query.rpc.Query.d.ts +0 -0
  747. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/mint/v1beta1/tx.d.ts +0 -0
  748. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/mint/v1beta1/tx.rpc.msg.d.ts +0 -0
  749. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/msg/v1/msg.d.ts +0 -0
  750. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/nft/module/v1/module.d.ts +0 -0
  751. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/nft/v1beta1/event.d.ts +0 -0
  752. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/nft/v1beta1/genesis.d.ts +0 -0
  753. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/nft/v1beta1/nft.d.ts +0 -0
  754. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/nft/v1beta1/query.d.ts +0 -0
  755. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/nft/v1beta1/query.rpc.Query.d.ts +0 -0
  756. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/nft/v1beta1/tx.d.ts +0 -0
  757. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/nft/v1beta1/tx.rpc.msg.d.ts +0 -0
  758. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/orm/module/v1alpha1/module.d.ts +0 -0
  759. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/orm/query/v1alpha1/query.d.ts +0 -0
  760. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/orm/query/v1alpha1/query.rpc.Query.d.ts +0 -0
  761. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/orm/v1/orm.d.ts +0 -0
  762. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/orm/v1alpha1/schema.d.ts +0 -0
  763. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/params/module/v1/module.d.ts +0 -0
  764. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/params/v1beta1/params.d.ts +0 -0
  765. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/params/v1beta1/query.d.ts +0 -0
  766. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/params/v1beta1/query.rpc.Query.d.ts +0 -0
  767. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/query/v1/query.d.ts +0 -0
  768. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/reflection/v1/reflection.d.ts +0 -0
  769. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/rpc.tx.d.ts +0 -0
  770. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/slashing/module/v1/module.d.ts +0 -0
  771. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/slashing/v1beta1/genesis.d.ts +0 -0
  772. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/slashing/v1beta1/query.d.ts +0 -0
  773. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/slashing/v1beta1/query.rpc.Query.d.ts +0 -0
  774. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/slashing/v1beta1/slashing.d.ts +0 -0
  775. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/slashing/v1beta1/tx.d.ts +0 -0
  776. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/slashing/v1beta1/tx.rpc.msg.d.ts +0 -0
  777. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/staking/module/v1/module.d.ts +0 -0
  778. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/staking/v1beta1/authz.d.ts +0 -0
  779. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/staking/v1beta1/genesis.d.ts +0 -0
  780. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/staking/v1beta1/query.d.ts +0 -0
  781. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/staking/v1beta1/query.rpc.Query.d.ts +0 -0
  782. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/staking/v1beta1/staking.d.ts +0 -0
  783. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/staking/v1beta1/tx.d.ts +0 -0
  784. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/staking/v1beta1/tx.rpc.msg.d.ts +0 -0
  785. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/tx/config/v1/config.d.ts +0 -0
  786. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/tx/signing/v1beta1/signing.d.ts +0 -0
  787. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/tx/v1beta1/service.d.ts +0 -0
  788. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/tx/v1beta1/service.rpc.Service.d.ts +0 -0
  789. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/tx/v1beta1/tx.d.ts +0 -0
  790. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/upgrade/module/v1/module.d.ts +0 -0
  791. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/upgrade/v1beta1/query.d.ts +0 -0
  792. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/upgrade/v1beta1/query.rpc.Query.d.ts +0 -0
  793. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/upgrade/v1beta1/tx.d.ts +0 -0
  794. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/upgrade/v1beta1/tx.rpc.msg.d.ts +0 -0
  795. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/upgrade/v1beta1/upgrade.d.ts +0 -0
  796. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/vesting/module/v1/module.d.ts +0 -0
  797. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/vesting/v1beta1/tx.d.ts +0 -0
  798. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/vesting/v1beta1/tx.rpc.msg.d.ts +0 -0
  799. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos/vesting/v1beta1/vesting.d.ts +0 -0
  800. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos_proto/bundle.d.ts +0 -0
  801. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/cosmos_proto/cosmos.d.ts +0 -0
  802. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/assets/asset.d.ts +0 -0
  803. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/assets/genesis.d.ts +0 -0
  804. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/assets/query.d.ts +0 -0
  805. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/assets/query.rpc.Query.d.ts +0 -0
  806. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/assets/tx.d.ts +0 -0
  807. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/blocktime/blocktime.d.ts +0 -0
  808. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/blocktime/genesis.d.ts +0 -0
  809. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/blocktime/params.d.ts +0 -0
  810. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/blocktime/query.d.ts +0 -0
  811. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/blocktime/query.rpc.Query.d.ts +0 -0
  812. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/blocktime/tx.d.ts +0 -0
  813. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/blocktime/tx.rpc.msg.d.ts +0 -0
  814. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/bridge/bridge_event.d.ts +0 -0
  815. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/bridge/bridge_event_info.d.ts +0 -0
  816. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/bridge/genesis.d.ts +0 -0
  817. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/bridge/params.d.ts +0 -0
  818. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/bridge/query.d.ts +0 -0
  819. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/bridge/query.rpc.Query.d.ts +0 -0
  820. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/bridge/tx.d.ts +0 -0
  821. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/bridge/tx.rpc.msg.d.ts +0 -0
  822. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/clob/block_rate_limit_config.d.ts +0 -0
  823. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/clob/clob_pair.d.ts +0 -0
  824. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/clob/equity_tier_limit_config.d.ts +0 -0
  825. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/clob/genesis.d.ts +0 -0
  826. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/clob/liquidations.d.ts +0 -0
  827. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/clob/liquidations_config.d.ts +0 -0
  828. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/clob/matches.d.ts +0 -0
  829. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/clob/mev.d.ts +0 -0
  830. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/clob/operation.d.ts +0 -0
  831. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/clob/order.d.ts +0 -0
  832. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/clob/order_removals.d.ts +0 -0
  833. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/clob/process_proposer_matches_events.d.ts +0 -0
  834. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/clob/query.d.ts +0 -0
  835. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/clob/query.rpc.Query.d.ts +0 -0
  836. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/clob/tx.d.ts +0 -0
  837. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/clob/tx.rpc.msg.d.ts +0 -0
  838. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/daemons/bridge/bridge.d.ts +0 -0
  839. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/daemons/liquidation/liquidation.d.ts +0 -0
  840. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/daemons/pricefeed/price_feed.d.ts +0 -0
  841. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/epochs/epoch_info.d.ts +0 -0
  842. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/epochs/genesis.d.ts +0 -0
  843. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/epochs/query.d.ts +0 -0
  844. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/epochs/query.rpc.Query.d.ts +0 -0
  845. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/feetiers/genesis.d.ts +0 -0
  846. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/feetiers/params.d.ts +0 -0
  847. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/feetiers/query.d.ts +0 -0
  848. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/feetiers/query.rpc.Query.d.ts +0 -0
  849. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/feetiers/tx.d.ts +0 -0
  850. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/feetiers/tx.rpc.msg.d.ts +0 -0
  851. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/indexer/events/events.d.ts +0 -0
  852. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/indexer/indexer_manager/event.d.ts +0 -0
  853. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/indexer/off_chain_updates/off_chain_updates.d.ts +0 -0
  854. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/indexer/protocol/v1/clob.d.ts +0 -0
  855. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/indexer/protocol/v1/subaccount.d.ts +0 -0
  856. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/indexer/redis/redis_order.d.ts +0 -0
  857. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/indexer/shared/removal_reason.d.ts +0 -0
  858. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/indexer/socks/messages.d.ts +0 -0
  859. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/perpetuals/genesis.d.ts +0 -0
  860. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/perpetuals/params.d.ts +0 -0
  861. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/perpetuals/perpetual.d.ts +0 -0
  862. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/perpetuals/query.d.ts +0 -0
  863. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/perpetuals/query.rpc.Query.d.ts +0 -0
  864. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/perpetuals/tx.d.ts +0 -0
  865. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/perpetuals/tx.rpc.msg.d.ts +0 -0
  866. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/prices/genesis.d.ts +0 -0
  867. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/prices/market_param.d.ts +0 -0
  868. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/prices/market_price.d.ts +0 -0
  869. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/prices/query.d.ts +0 -0
  870. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/prices/query.rpc.Query.d.ts +0 -0
  871. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/prices/tx.d.ts +0 -0
  872. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/prices/tx.rpc.msg.d.ts +0 -0
  873. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/rewards/genesis.d.ts +0 -0
  874. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/rewards/params.d.ts +0 -0
  875. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/rewards/query.d.ts +0 -0
  876. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/rewards/query.rpc.Query.d.ts +0 -0
  877. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/rewards/reward_share.d.ts +0 -0
  878. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/rewards/tx.d.ts +0 -0
  879. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/rewards/tx.rpc.msg.d.ts +0 -0
  880. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/rpc.tx.d.ts +0 -0
  881. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/sending/genesis.d.ts +0 -0
  882. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/sending/query.d.ts +0 -0
  883. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/sending/query.rpc.Query.d.ts +0 -0
  884. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/sending/transfer.d.ts +0 -0
  885. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/sending/tx.d.ts +0 -0
  886. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/sending/tx.rpc.msg.d.ts +0 -0
  887. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/stats/genesis.d.ts +0 -0
  888. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/stats/params.d.ts +0 -0
  889. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/stats/query.d.ts +0 -0
  890. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/stats/query.rpc.Query.d.ts +0 -0
  891. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/stats/stats.d.ts +0 -0
  892. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/stats/tx.d.ts +0 -0
  893. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/stats/tx.rpc.msg.d.ts +0 -0
  894. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/subaccounts/asset_position.d.ts +0 -0
  895. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/subaccounts/genesis.d.ts +0 -0
  896. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/subaccounts/perpetual_position.d.ts +0 -0
  897. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/subaccounts/query.d.ts +0 -0
  898. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/subaccounts/query.rpc.Query.d.ts +0 -0
  899. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/subaccounts/subaccount.d.ts +0 -0
  900. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/vest/genesis.d.ts +0 -0
  901. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/vest/query.d.ts +0 -0
  902. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/vest/query.rpc.Query.d.ts +0 -0
  903. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/vest/tx.d.ts +0 -0
  904. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/vest/tx.rpc.msg.d.ts +0 -0
  905. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/dydxprotocol/vest/vest_entry.d.ts +0 -0
  906. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/gogoproto/bundle.d.ts +0 -0
  907. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/gogoproto/gogo.d.ts +0 -0
  908. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/google/api/annotations.d.ts +0 -0
  909. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/google/api/http.d.ts +0 -0
  910. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/google/bundle.d.ts +0 -0
  911. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/google/protobuf/any.d.ts +0 -0
  912. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/google/protobuf/descriptor.d.ts +0 -0
  913. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/google/protobuf/duration.d.ts +0 -0
  914. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/google/protobuf/timestamp.d.ts +0 -0
  915. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/helpers.d.ts +0 -0
  916. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/index.d.ts +0 -0
  917. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/tendermint/abci/types.d.ts +0 -0
  918. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/tendermint/bundle.d.ts +0 -0
  919. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/tendermint/crypto/keys.d.ts +0 -0
  920. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/tendermint/crypto/proof.d.ts +0 -0
  921. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/tendermint/libs/bits/types.d.ts +0 -0
  922. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/tendermint/p2p/types.d.ts +0 -0
  923. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/tendermint/types/block.d.ts +0 -0
  924. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/tendermint/types/evidence.d.ts +0 -0
  925. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/tendermint/types/params.d.ts +0 -0
  926. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/tendermint/types/types.d.ts +0 -0
  927. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/tendermint/types/validator.d.ts +0 -0
  928. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/codegen/tendermint/version/types.d.ts +0 -0
  929. /package/build/node_modules/@dydxprotocol/{dydxjs → v4-proto}/src/index.d.ts +0 -0
@@ -0,0 +1,3662 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.ResponseListSnapshots = exports.ResponseCommit = exports.ResponseEndBlock = exports.ResponseDeliverTx = exports.ResponseCheckTx = exports.ResponseBeginBlock = exports.ResponseQuery = exports.ResponseInitChain = exports.ResponseInfo = exports.ResponseFlush = exports.ResponseEcho = exports.ResponseException = exports.Response = exports.RequestProcessProposal = exports.RequestPrepareProposal = exports.RequestApplySnapshotChunk = exports.RequestLoadSnapshotChunk = exports.RequestOfferSnapshot = exports.RequestListSnapshots = exports.RequestCommit = exports.RequestEndBlock = exports.RequestDeliverTx = exports.RequestCheckTx = exports.RequestBeginBlock = exports.RequestQuery = exports.RequestInitChain = exports.RequestInfo = exports.RequestFlush = exports.RequestEcho = exports.Request = exports.misbehaviorTypeToJSON = exports.misbehaviorTypeFromJSON = exports.MisbehaviorTypeSDKType = exports.MisbehaviorType = exports.responseProcessProposal_ProposalStatusToJSON = exports.responseProcessProposal_ProposalStatusFromJSON = exports.ResponseProcessProposal_ProposalStatusSDKType = exports.ResponseProcessProposal_ProposalStatus = exports.responseApplySnapshotChunk_ResultToJSON = exports.responseApplySnapshotChunk_ResultFromJSON = exports.ResponseApplySnapshotChunk_ResultSDKType = exports.ResponseApplySnapshotChunk_Result = exports.responseOfferSnapshot_ResultToJSON = exports.responseOfferSnapshot_ResultFromJSON = exports.ResponseOfferSnapshot_ResultSDKType = exports.ResponseOfferSnapshot_Result = exports.checkTxTypeToJSON = exports.checkTxTypeFromJSON = exports.CheckTxTypeSDKType = exports.CheckTxType = void 0;
27
+ exports.Snapshot = exports.Misbehavior = exports.ExtendedVoteInfo = exports.VoteInfo = exports.ValidatorUpdate = exports.Validator = exports.TxResult = exports.EventAttribute = exports.Event = exports.ExtendedCommitInfo = exports.CommitInfo = exports.ResponseProcessProposal = exports.ResponsePrepareProposal = exports.ResponseApplySnapshotChunk = exports.ResponseLoadSnapshotChunk = exports.ResponseOfferSnapshot = void 0;
28
+ const timestamp_1 = require("../../google/protobuf/timestamp");
29
+ const params_1 = require("../types/params");
30
+ const types_1 = require("../types/types");
31
+ const proof_1 = require("../crypto/proof");
32
+ const keys_1 = require("../crypto/keys");
33
+ const _m0 = __importStar(require("protobufjs/minimal"));
34
+ const helpers_1 = require("../../helpers");
35
+ var CheckTxType;
36
+ (function (CheckTxType) {
37
+ CheckTxType[CheckTxType["NEW"] = 0] = "NEW";
38
+ CheckTxType[CheckTxType["RECHECK"] = 1] = "RECHECK";
39
+ CheckTxType[CheckTxType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
40
+ })(CheckTxType = exports.CheckTxType || (exports.CheckTxType = {}));
41
+ exports.CheckTxTypeSDKType = CheckTxType;
42
+ function checkTxTypeFromJSON(object) {
43
+ switch (object) {
44
+ case 0:
45
+ case "NEW":
46
+ return CheckTxType.NEW;
47
+ case 1:
48
+ case "RECHECK":
49
+ return CheckTxType.RECHECK;
50
+ case -1:
51
+ case "UNRECOGNIZED":
52
+ default:
53
+ return CheckTxType.UNRECOGNIZED;
54
+ }
55
+ }
56
+ exports.checkTxTypeFromJSON = checkTxTypeFromJSON;
57
+ function checkTxTypeToJSON(object) {
58
+ switch (object) {
59
+ case CheckTxType.NEW:
60
+ return "NEW";
61
+ case CheckTxType.RECHECK:
62
+ return "RECHECK";
63
+ case CheckTxType.UNRECOGNIZED:
64
+ default:
65
+ return "UNRECOGNIZED";
66
+ }
67
+ }
68
+ exports.checkTxTypeToJSON = checkTxTypeToJSON;
69
+ var ResponseOfferSnapshot_Result;
70
+ (function (ResponseOfferSnapshot_Result) {
71
+ /** UNKNOWN - Unknown result, abort all snapshot restoration */
72
+ ResponseOfferSnapshot_Result[ResponseOfferSnapshot_Result["UNKNOWN"] = 0] = "UNKNOWN";
73
+ /** ACCEPT - Snapshot accepted, apply chunks */
74
+ ResponseOfferSnapshot_Result[ResponseOfferSnapshot_Result["ACCEPT"] = 1] = "ACCEPT";
75
+ /** ABORT - Abort all snapshot restoration */
76
+ ResponseOfferSnapshot_Result[ResponseOfferSnapshot_Result["ABORT"] = 2] = "ABORT";
77
+ /** REJECT - Reject this specific snapshot, try others */
78
+ ResponseOfferSnapshot_Result[ResponseOfferSnapshot_Result["REJECT"] = 3] = "REJECT";
79
+ /** REJECT_FORMAT - Reject all snapshots of this format, try others */
80
+ ResponseOfferSnapshot_Result[ResponseOfferSnapshot_Result["REJECT_FORMAT"] = 4] = "REJECT_FORMAT";
81
+ /** REJECT_SENDER - Reject all snapshots from the sender(s), try others */
82
+ ResponseOfferSnapshot_Result[ResponseOfferSnapshot_Result["REJECT_SENDER"] = 5] = "REJECT_SENDER";
83
+ ResponseOfferSnapshot_Result[ResponseOfferSnapshot_Result["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
84
+ })(ResponseOfferSnapshot_Result = exports.ResponseOfferSnapshot_Result || (exports.ResponseOfferSnapshot_Result = {}));
85
+ exports.ResponseOfferSnapshot_ResultSDKType = ResponseOfferSnapshot_Result;
86
+ function responseOfferSnapshot_ResultFromJSON(object) {
87
+ switch (object) {
88
+ case 0:
89
+ case "UNKNOWN":
90
+ return ResponseOfferSnapshot_Result.UNKNOWN;
91
+ case 1:
92
+ case "ACCEPT":
93
+ return ResponseOfferSnapshot_Result.ACCEPT;
94
+ case 2:
95
+ case "ABORT":
96
+ return ResponseOfferSnapshot_Result.ABORT;
97
+ case 3:
98
+ case "REJECT":
99
+ return ResponseOfferSnapshot_Result.REJECT;
100
+ case 4:
101
+ case "REJECT_FORMAT":
102
+ return ResponseOfferSnapshot_Result.REJECT_FORMAT;
103
+ case 5:
104
+ case "REJECT_SENDER":
105
+ return ResponseOfferSnapshot_Result.REJECT_SENDER;
106
+ case -1:
107
+ case "UNRECOGNIZED":
108
+ default:
109
+ return ResponseOfferSnapshot_Result.UNRECOGNIZED;
110
+ }
111
+ }
112
+ exports.responseOfferSnapshot_ResultFromJSON = responseOfferSnapshot_ResultFromJSON;
113
+ function responseOfferSnapshot_ResultToJSON(object) {
114
+ switch (object) {
115
+ case ResponseOfferSnapshot_Result.UNKNOWN:
116
+ return "UNKNOWN";
117
+ case ResponseOfferSnapshot_Result.ACCEPT:
118
+ return "ACCEPT";
119
+ case ResponseOfferSnapshot_Result.ABORT:
120
+ return "ABORT";
121
+ case ResponseOfferSnapshot_Result.REJECT:
122
+ return "REJECT";
123
+ case ResponseOfferSnapshot_Result.REJECT_FORMAT:
124
+ return "REJECT_FORMAT";
125
+ case ResponseOfferSnapshot_Result.REJECT_SENDER:
126
+ return "REJECT_SENDER";
127
+ case ResponseOfferSnapshot_Result.UNRECOGNIZED:
128
+ default:
129
+ return "UNRECOGNIZED";
130
+ }
131
+ }
132
+ exports.responseOfferSnapshot_ResultToJSON = responseOfferSnapshot_ResultToJSON;
133
+ var ResponseApplySnapshotChunk_Result;
134
+ (function (ResponseApplySnapshotChunk_Result) {
135
+ /** UNKNOWN - Unknown result, abort all snapshot restoration */
136
+ ResponseApplySnapshotChunk_Result[ResponseApplySnapshotChunk_Result["UNKNOWN"] = 0] = "UNKNOWN";
137
+ /** ACCEPT - Chunk successfully accepted */
138
+ ResponseApplySnapshotChunk_Result[ResponseApplySnapshotChunk_Result["ACCEPT"] = 1] = "ACCEPT";
139
+ /** ABORT - Abort all snapshot restoration */
140
+ ResponseApplySnapshotChunk_Result[ResponseApplySnapshotChunk_Result["ABORT"] = 2] = "ABORT";
141
+ /** RETRY - Retry chunk (combine with refetch and reject) */
142
+ ResponseApplySnapshotChunk_Result[ResponseApplySnapshotChunk_Result["RETRY"] = 3] = "RETRY";
143
+ /** RETRY_SNAPSHOT - Retry snapshot (combine with refetch and reject) */
144
+ ResponseApplySnapshotChunk_Result[ResponseApplySnapshotChunk_Result["RETRY_SNAPSHOT"] = 4] = "RETRY_SNAPSHOT";
145
+ /** REJECT_SNAPSHOT - Reject this snapshot, try others */
146
+ ResponseApplySnapshotChunk_Result[ResponseApplySnapshotChunk_Result["REJECT_SNAPSHOT"] = 5] = "REJECT_SNAPSHOT";
147
+ ResponseApplySnapshotChunk_Result[ResponseApplySnapshotChunk_Result["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
148
+ })(ResponseApplySnapshotChunk_Result = exports.ResponseApplySnapshotChunk_Result || (exports.ResponseApplySnapshotChunk_Result = {}));
149
+ exports.ResponseApplySnapshotChunk_ResultSDKType = ResponseApplySnapshotChunk_Result;
150
+ function responseApplySnapshotChunk_ResultFromJSON(object) {
151
+ switch (object) {
152
+ case 0:
153
+ case "UNKNOWN":
154
+ return ResponseApplySnapshotChunk_Result.UNKNOWN;
155
+ case 1:
156
+ case "ACCEPT":
157
+ return ResponseApplySnapshotChunk_Result.ACCEPT;
158
+ case 2:
159
+ case "ABORT":
160
+ return ResponseApplySnapshotChunk_Result.ABORT;
161
+ case 3:
162
+ case "RETRY":
163
+ return ResponseApplySnapshotChunk_Result.RETRY;
164
+ case 4:
165
+ case "RETRY_SNAPSHOT":
166
+ return ResponseApplySnapshotChunk_Result.RETRY_SNAPSHOT;
167
+ case 5:
168
+ case "REJECT_SNAPSHOT":
169
+ return ResponseApplySnapshotChunk_Result.REJECT_SNAPSHOT;
170
+ case -1:
171
+ case "UNRECOGNIZED":
172
+ default:
173
+ return ResponseApplySnapshotChunk_Result.UNRECOGNIZED;
174
+ }
175
+ }
176
+ exports.responseApplySnapshotChunk_ResultFromJSON = responseApplySnapshotChunk_ResultFromJSON;
177
+ function responseApplySnapshotChunk_ResultToJSON(object) {
178
+ switch (object) {
179
+ case ResponseApplySnapshotChunk_Result.UNKNOWN:
180
+ return "UNKNOWN";
181
+ case ResponseApplySnapshotChunk_Result.ACCEPT:
182
+ return "ACCEPT";
183
+ case ResponseApplySnapshotChunk_Result.ABORT:
184
+ return "ABORT";
185
+ case ResponseApplySnapshotChunk_Result.RETRY:
186
+ return "RETRY";
187
+ case ResponseApplySnapshotChunk_Result.RETRY_SNAPSHOT:
188
+ return "RETRY_SNAPSHOT";
189
+ case ResponseApplySnapshotChunk_Result.REJECT_SNAPSHOT:
190
+ return "REJECT_SNAPSHOT";
191
+ case ResponseApplySnapshotChunk_Result.UNRECOGNIZED:
192
+ default:
193
+ return "UNRECOGNIZED";
194
+ }
195
+ }
196
+ exports.responseApplySnapshotChunk_ResultToJSON = responseApplySnapshotChunk_ResultToJSON;
197
+ var ResponseProcessProposal_ProposalStatus;
198
+ (function (ResponseProcessProposal_ProposalStatus) {
199
+ ResponseProcessProposal_ProposalStatus[ResponseProcessProposal_ProposalStatus["UNKNOWN"] = 0] = "UNKNOWN";
200
+ ResponseProcessProposal_ProposalStatus[ResponseProcessProposal_ProposalStatus["ACCEPT"] = 1] = "ACCEPT";
201
+ ResponseProcessProposal_ProposalStatus[ResponseProcessProposal_ProposalStatus["REJECT"] = 2] = "REJECT";
202
+ ResponseProcessProposal_ProposalStatus[ResponseProcessProposal_ProposalStatus["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
203
+ })(ResponseProcessProposal_ProposalStatus = exports.ResponseProcessProposal_ProposalStatus || (exports.ResponseProcessProposal_ProposalStatus = {}));
204
+ exports.ResponseProcessProposal_ProposalStatusSDKType = ResponseProcessProposal_ProposalStatus;
205
+ function responseProcessProposal_ProposalStatusFromJSON(object) {
206
+ switch (object) {
207
+ case 0:
208
+ case "UNKNOWN":
209
+ return ResponseProcessProposal_ProposalStatus.UNKNOWN;
210
+ case 1:
211
+ case "ACCEPT":
212
+ return ResponseProcessProposal_ProposalStatus.ACCEPT;
213
+ case 2:
214
+ case "REJECT":
215
+ return ResponseProcessProposal_ProposalStatus.REJECT;
216
+ case -1:
217
+ case "UNRECOGNIZED":
218
+ default:
219
+ return ResponseProcessProposal_ProposalStatus.UNRECOGNIZED;
220
+ }
221
+ }
222
+ exports.responseProcessProposal_ProposalStatusFromJSON = responseProcessProposal_ProposalStatusFromJSON;
223
+ function responseProcessProposal_ProposalStatusToJSON(object) {
224
+ switch (object) {
225
+ case ResponseProcessProposal_ProposalStatus.UNKNOWN:
226
+ return "UNKNOWN";
227
+ case ResponseProcessProposal_ProposalStatus.ACCEPT:
228
+ return "ACCEPT";
229
+ case ResponseProcessProposal_ProposalStatus.REJECT:
230
+ return "REJECT";
231
+ case ResponseProcessProposal_ProposalStatus.UNRECOGNIZED:
232
+ default:
233
+ return "UNRECOGNIZED";
234
+ }
235
+ }
236
+ exports.responseProcessProposal_ProposalStatusToJSON = responseProcessProposal_ProposalStatusToJSON;
237
+ var MisbehaviorType;
238
+ (function (MisbehaviorType) {
239
+ MisbehaviorType[MisbehaviorType["UNKNOWN"] = 0] = "UNKNOWN";
240
+ MisbehaviorType[MisbehaviorType["DUPLICATE_VOTE"] = 1] = "DUPLICATE_VOTE";
241
+ MisbehaviorType[MisbehaviorType["LIGHT_CLIENT_ATTACK"] = 2] = "LIGHT_CLIENT_ATTACK";
242
+ MisbehaviorType[MisbehaviorType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
243
+ })(MisbehaviorType = exports.MisbehaviorType || (exports.MisbehaviorType = {}));
244
+ exports.MisbehaviorTypeSDKType = MisbehaviorType;
245
+ function misbehaviorTypeFromJSON(object) {
246
+ switch (object) {
247
+ case 0:
248
+ case "UNKNOWN":
249
+ return MisbehaviorType.UNKNOWN;
250
+ case 1:
251
+ case "DUPLICATE_VOTE":
252
+ return MisbehaviorType.DUPLICATE_VOTE;
253
+ case 2:
254
+ case "LIGHT_CLIENT_ATTACK":
255
+ return MisbehaviorType.LIGHT_CLIENT_ATTACK;
256
+ case -1:
257
+ case "UNRECOGNIZED":
258
+ default:
259
+ return MisbehaviorType.UNRECOGNIZED;
260
+ }
261
+ }
262
+ exports.misbehaviorTypeFromJSON = misbehaviorTypeFromJSON;
263
+ function misbehaviorTypeToJSON(object) {
264
+ switch (object) {
265
+ case MisbehaviorType.UNKNOWN:
266
+ return "UNKNOWN";
267
+ case MisbehaviorType.DUPLICATE_VOTE:
268
+ return "DUPLICATE_VOTE";
269
+ case MisbehaviorType.LIGHT_CLIENT_ATTACK:
270
+ return "LIGHT_CLIENT_ATTACK";
271
+ case MisbehaviorType.UNRECOGNIZED:
272
+ default:
273
+ return "UNRECOGNIZED";
274
+ }
275
+ }
276
+ exports.misbehaviorTypeToJSON = misbehaviorTypeToJSON;
277
+ function createBaseRequest() {
278
+ return {
279
+ echo: undefined,
280
+ flush: undefined,
281
+ info: undefined,
282
+ initChain: undefined,
283
+ query: undefined,
284
+ beginBlock: undefined,
285
+ checkTx: undefined,
286
+ deliverTx: undefined,
287
+ endBlock: undefined,
288
+ commit: undefined,
289
+ listSnapshots: undefined,
290
+ offerSnapshot: undefined,
291
+ loadSnapshotChunk: undefined,
292
+ applySnapshotChunk: undefined,
293
+ prepareProposal: undefined,
294
+ processProposal: undefined
295
+ };
296
+ }
297
+ exports.Request = {
298
+ encode(message, writer = _m0.Writer.create()) {
299
+ if (message.echo !== undefined) {
300
+ exports.RequestEcho.encode(message.echo, writer.uint32(10).fork()).ldelim();
301
+ }
302
+ if (message.flush !== undefined) {
303
+ exports.RequestFlush.encode(message.flush, writer.uint32(18).fork()).ldelim();
304
+ }
305
+ if (message.info !== undefined) {
306
+ exports.RequestInfo.encode(message.info, writer.uint32(26).fork()).ldelim();
307
+ }
308
+ if (message.initChain !== undefined) {
309
+ exports.RequestInitChain.encode(message.initChain, writer.uint32(42).fork()).ldelim();
310
+ }
311
+ if (message.query !== undefined) {
312
+ exports.RequestQuery.encode(message.query, writer.uint32(50).fork()).ldelim();
313
+ }
314
+ if (message.beginBlock !== undefined) {
315
+ exports.RequestBeginBlock.encode(message.beginBlock, writer.uint32(58).fork()).ldelim();
316
+ }
317
+ if (message.checkTx !== undefined) {
318
+ exports.RequestCheckTx.encode(message.checkTx, writer.uint32(66).fork()).ldelim();
319
+ }
320
+ if (message.deliverTx !== undefined) {
321
+ exports.RequestDeliverTx.encode(message.deliverTx, writer.uint32(74).fork()).ldelim();
322
+ }
323
+ if (message.endBlock !== undefined) {
324
+ exports.RequestEndBlock.encode(message.endBlock, writer.uint32(82).fork()).ldelim();
325
+ }
326
+ if (message.commit !== undefined) {
327
+ exports.RequestCommit.encode(message.commit, writer.uint32(90).fork()).ldelim();
328
+ }
329
+ if (message.listSnapshots !== undefined) {
330
+ exports.RequestListSnapshots.encode(message.listSnapshots, writer.uint32(98).fork()).ldelim();
331
+ }
332
+ if (message.offerSnapshot !== undefined) {
333
+ exports.RequestOfferSnapshot.encode(message.offerSnapshot, writer.uint32(106).fork()).ldelim();
334
+ }
335
+ if (message.loadSnapshotChunk !== undefined) {
336
+ exports.RequestLoadSnapshotChunk.encode(message.loadSnapshotChunk, writer.uint32(114).fork()).ldelim();
337
+ }
338
+ if (message.applySnapshotChunk !== undefined) {
339
+ exports.RequestApplySnapshotChunk.encode(message.applySnapshotChunk, writer.uint32(122).fork()).ldelim();
340
+ }
341
+ if (message.prepareProposal !== undefined) {
342
+ exports.RequestPrepareProposal.encode(message.prepareProposal, writer.uint32(130).fork()).ldelim();
343
+ }
344
+ if (message.processProposal !== undefined) {
345
+ exports.RequestProcessProposal.encode(message.processProposal, writer.uint32(138).fork()).ldelim();
346
+ }
347
+ return writer;
348
+ },
349
+ decode(input, length) {
350
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
351
+ let end = length === undefined ? reader.len : reader.pos + length;
352
+ const message = createBaseRequest();
353
+ while (reader.pos < end) {
354
+ const tag = reader.uint32();
355
+ switch (tag >>> 3) {
356
+ case 1:
357
+ message.echo = exports.RequestEcho.decode(reader, reader.uint32());
358
+ break;
359
+ case 2:
360
+ message.flush = exports.RequestFlush.decode(reader, reader.uint32());
361
+ break;
362
+ case 3:
363
+ message.info = exports.RequestInfo.decode(reader, reader.uint32());
364
+ break;
365
+ case 5:
366
+ message.initChain = exports.RequestInitChain.decode(reader, reader.uint32());
367
+ break;
368
+ case 6:
369
+ message.query = exports.RequestQuery.decode(reader, reader.uint32());
370
+ break;
371
+ case 7:
372
+ message.beginBlock = exports.RequestBeginBlock.decode(reader, reader.uint32());
373
+ break;
374
+ case 8:
375
+ message.checkTx = exports.RequestCheckTx.decode(reader, reader.uint32());
376
+ break;
377
+ case 9:
378
+ message.deliverTx = exports.RequestDeliverTx.decode(reader, reader.uint32());
379
+ break;
380
+ case 10:
381
+ message.endBlock = exports.RequestEndBlock.decode(reader, reader.uint32());
382
+ break;
383
+ case 11:
384
+ message.commit = exports.RequestCommit.decode(reader, reader.uint32());
385
+ break;
386
+ case 12:
387
+ message.listSnapshots = exports.RequestListSnapshots.decode(reader, reader.uint32());
388
+ break;
389
+ case 13:
390
+ message.offerSnapshot = exports.RequestOfferSnapshot.decode(reader, reader.uint32());
391
+ break;
392
+ case 14:
393
+ message.loadSnapshotChunk = exports.RequestLoadSnapshotChunk.decode(reader, reader.uint32());
394
+ break;
395
+ case 15:
396
+ message.applySnapshotChunk = exports.RequestApplySnapshotChunk.decode(reader, reader.uint32());
397
+ break;
398
+ case 16:
399
+ message.prepareProposal = exports.RequestPrepareProposal.decode(reader, reader.uint32());
400
+ break;
401
+ case 17:
402
+ message.processProposal = exports.RequestProcessProposal.decode(reader, reader.uint32());
403
+ break;
404
+ default:
405
+ reader.skipType(tag & 7);
406
+ break;
407
+ }
408
+ }
409
+ return message;
410
+ },
411
+ fromJSON(object) {
412
+ return {
413
+ echo: (0, helpers_1.isSet)(object.echo) ? exports.RequestEcho.fromJSON(object.echo) : undefined,
414
+ flush: (0, helpers_1.isSet)(object.flush) ? exports.RequestFlush.fromJSON(object.flush) : undefined,
415
+ info: (0, helpers_1.isSet)(object.info) ? exports.RequestInfo.fromJSON(object.info) : undefined,
416
+ initChain: (0, helpers_1.isSet)(object.initChain) ? exports.RequestInitChain.fromJSON(object.initChain) : undefined,
417
+ query: (0, helpers_1.isSet)(object.query) ? exports.RequestQuery.fromJSON(object.query) : undefined,
418
+ beginBlock: (0, helpers_1.isSet)(object.beginBlock) ? exports.RequestBeginBlock.fromJSON(object.beginBlock) : undefined,
419
+ checkTx: (0, helpers_1.isSet)(object.checkTx) ? exports.RequestCheckTx.fromJSON(object.checkTx) : undefined,
420
+ deliverTx: (0, helpers_1.isSet)(object.deliverTx) ? exports.RequestDeliverTx.fromJSON(object.deliverTx) : undefined,
421
+ endBlock: (0, helpers_1.isSet)(object.endBlock) ? exports.RequestEndBlock.fromJSON(object.endBlock) : undefined,
422
+ commit: (0, helpers_1.isSet)(object.commit) ? exports.RequestCommit.fromJSON(object.commit) : undefined,
423
+ listSnapshots: (0, helpers_1.isSet)(object.listSnapshots) ? exports.RequestListSnapshots.fromJSON(object.listSnapshots) : undefined,
424
+ offerSnapshot: (0, helpers_1.isSet)(object.offerSnapshot) ? exports.RequestOfferSnapshot.fromJSON(object.offerSnapshot) : undefined,
425
+ loadSnapshotChunk: (0, helpers_1.isSet)(object.loadSnapshotChunk) ? exports.RequestLoadSnapshotChunk.fromJSON(object.loadSnapshotChunk) : undefined,
426
+ applySnapshotChunk: (0, helpers_1.isSet)(object.applySnapshotChunk) ? exports.RequestApplySnapshotChunk.fromJSON(object.applySnapshotChunk) : undefined,
427
+ prepareProposal: (0, helpers_1.isSet)(object.prepareProposal) ? exports.RequestPrepareProposal.fromJSON(object.prepareProposal) : undefined,
428
+ processProposal: (0, helpers_1.isSet)(object.processProposal) ? exports.RequestProcessProposal.fromJSON(object.processProposal) : undefined
429
+ };
430
+ },
431
+ toJSON(message) {
432
+ const obj = {};
433
+ message.echo !== undefined && (obj.echo = message.echo ? exports.RequestEcho.toJSON(message.echo) : undefined);
434
+ message.flush !== undefined && (obj.flush = message.flush ? exports.RequestFlush.toJSON(message.flush) : undefined);
435
+ message.info !== undefined && (obj.info = message.info ? exports.RequestInfo.toJSON(message.info) : undefined);
436
+ message.initChain !== undefined && (obj.initChain = message.initChain ? exports.RequestInitChain.toJSON(message.initChain) : undefined);
437
+ message.query !== undefined && (obj.query = message.query ? exports.RequestQuery.toJSON(message.query) : undefined);
438
+ message.beginBlock !== undefined && (obj.beginBlock = message.beginBlock ? exports.RequestBeginBlock.toJSON(message.beginBlock) : undefined);
439
+ message.checkTx !== undefined && (obj.checkTx = message.checkTx ? exports.RequestCheckTx.toJSON(message.checkTx) : undefined);
440
+ message.deliverTx !== undefined && (obj.deliverTx = message.deliverTx ? exports.RequestDeliverTx.toJSON(message.deliverTx) : undefined);
441
+ message.endBlock !== undefined && (obj.endBlock = message.endBlock ? exports.RequestEndBlock.toJSON(message.endBlock) : undefined);
442
+ message.commit !== undefined && (obj.commit = message.commit ? exports.RequestCommit.toJSON(message.commit) : undefined);
443
+ message.listSnapshots !== undefined && (obj.listSnapshots = message.listSnapshots ? exports.RequestListSnapshots.toJSON(message.listSnapshots) : undefined);
444
+ message.offerSnapshot !== undefined && (obj.offerSnapshot = message.offerSnapshot ? exports.RequestOfferSnapshot.toJSON(message.offerSnapshot) : undefined);
445
+ message.loadSnapshotChunk !== undefined && (obj.loadSnapshotChunk = message.loadSnapshotChunk ? exports.RequestLoadSnapshotChunk.toJSON(message.loadSnapshotChunk) : undefined);
446
+ message.applySnapshotChunk !== undefined && (obj.applySnapshotChunk = message.applySnapshotChunk ? exports.RequestApplySnapshotChunk.toJSON(message.applySnapshotChunk) : undefined);
447
+ message.prepareProposal !== undefined && (obj.prepareProposal = message.prepareProposal ? exports.RequestPrepareProposal.toJSON(message.prepareProposal) : undefined);
448
+ message.processProposal !== undefined && (obj.processProposal = message.processProposal ? exports.RequestProcessProposal.toJSON(message.processProposal) : undefined);
449
+ return obj;
450
+ },
451
+ fromPartial(object) {
452
+ const message = createBaseRequest();
453
+ message.echo = object.echo !== undefined && object.echo !== null ? exports.RequestEcho.fromPartial(object.echo) : undefined;
454
+ message.flush = object.flush !== undefined && object.flush !== null ? exports.RequestFlush.fromPartial(object.flush) : undefined;
455
+ message.info = object.info !== undefined && object.info !== null ? exports.RequestInfo.fromPartial(object.info) : undefined;
456
+ message.initChain = object.initChain !== undefined && object.initChain !== null ? exports.RequestInitChain.fromPartial(object.initChain) : undefined;
457
+ message.query = object.query !== undefined && object.query !== null ? exports.RequestQuery.fromPartial(object.query) : undefined;
458
+ message.beginBlock = object.beginBlock !== undefined && object.beginBlock !== null ? exports.RequestBeginBlock.fromPartial(object.beginBlock) : undefined;
459
+ message.checkTx = object.checkTx !== undefined && object.checkTx !== null ? exports.RequestCheckTx.fromPartial(object.checkTx) : undefined;
460
+ message.deliverTx = object.deliverTx !== undefined && object.deliverTx !== null ? exports.RequestDeliverTx.fromPartial(object.deliverTx) : undefined;
461
+ message.endBlock = object.endBlock !== undefined && object.endBlock !== null ? exports.RequestEndBlock.fromPartial(object.endBlock) : undefined;
462
+ message.commit = object.commit !== undefined && object.commit !== null ? exports.RequestCommit.fromPartial(object.commit) : undefined;
463
+ message.listSnapshots = object.listSnapshots !== undefined && object.listSnapshots !== null ? exports.RequestListSnapshots.fromPartial(object.listSnapshots) : undefined;
464
+ message.offerSnapshot = object.offerSnapshot !== undefined && object.offerSnapshot !== null ? exports.RequestOfferSnapshot.fromPartial(object.offerSnapshot) : undefined;
465
+ message.loadSnapshotChunk = object.loadSnapshotChunk !== undefined && object.loadSnapshotChunk !== null ? exports.RequestLoadSnapshotChunk.fromPartial(object.loadSnapshotChunk) : undefined;
466
+ message.applySnapshotChunk = object.applySnapshotChunk !== undefined && object.applySnapshotChunk !== null ? exports.RequestApplySnapshotChunk.fromPartial(object.applySnapshotChunk) : undefined;
467
+ message.prepareProposal = object.prepareProposal !== undefined && object.prepareProposal !== null ? exports.RequestPrepareProposal.fromPartial(object.prepareProposal) : undefined;
468
+ message.processProposal = object.processProposal !== undefined && object.processProposal !== null ? exports.RequestProcessProposal.fromPartial(object.processProposal) : undefined;
469
+ return message;
470
+ }
471
+ };
472
+ function createBaseRequestEcho() {
473
+ return {
474
+ message: ""
475
+ };
476
+ }
477
+ exports.RequestEcho = {
478
+ encode(message, writer = _m0.Writer.create()) {
479
+ if (message.message !== "") {
480
+ writer.uint32(10).string(message.message);
481
+ }
482
+ return writer;
483
+ },
484
+ decode(input, length) {
485
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
486
+ let end = length === undefined ? reader.len : reader.pos + length;
487
+ const message = createBaseRequestEcho();
488
+ while (reader.pos < end) {
489
+ const tag = reader.uint32();
490
+ switch (tag >>> 3) {
491
+ case 1:
492
+ message.message = reader.string();
493
+ break;
494
+ default:
495
+ reader.skipType(tag & 7);
496
+ break;
497
+ }
498
+ }
499
+ return message;
500
+ },
501
+ fromJSON(object) {
502
+ return {
503
+ message: (0, helpers_1.isSet)(object.message) ? String(object.message) : ""
504
+ };
505
+ },
506
+ toJSON(message) {
507
+ const obj = {};
508
+ message.message !== undefined && (obj.message = message.message);
509
+ return obj;
510
+ },
511
+ fromPartial(object) {
512
+ var _a;
513
+ const message = createBaseRequestEcho();
514
+ message.message = (_a = object.message) !== null && _a !== void 0 ? _a : "";
515
+ return message;
516
+ }
517
+ };
518
+ function createBaseRequestFlush() {
519
+ return {};
520
+ }
521
+ exports.RequestFlush = {
522
+ encode(_, writer = _m0.Writer.create()) {
523
+ return writer;
524
+ },
525
+ decode(input, length) {
526
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
527
+ let end = length === undefined ? reader.len : reader.pos + length;
528
+ const message = createBaseRequestFlush();
529
+ while (reader.pos < end) {
530
+ const tag = reader.uint32();
531
+ switch (tag >>> 3) {
532
+ default:
533
+ reader.skipType(tag & 7);
534
+ break;
535
+ }
536
+ }
537
+ return message;
538
+ },
539
+ fromJSON(_) {
540
+ return {};
541
+ },
542
+ toJSON(_) {
543
+ const obj = {};
544
+ return obj;
545
+ },
546
+ fromPartial(_) {
547
+ const message = createBaseRequestFlush();
548
+ return message;
549
+ }
550
+ };
551
+ function createBaseRequestInfo() {
552
+ return {
553
+ version: "",
554
+ blockVersion: helpers_1.Long.UZERO,
555
+ p2pVersion: helpers_1.Long.UZERO,
556
+ abciVersion: ""
557
+ };
558
+ }
559
+ exports.RequestInfo = {
560
+ encode(message, writer = _m0.Writer.create()) {
561
+ if (message.version !== "") {
562
+ writer.uint32(10).string(message.version);
563
+ }
564
+ if (!message.blockVersion.isZero()) {
565
+ writer.uint32(16).uint64(message.blockVersion);
566
+ }
567
+ if (!message.p2pVersion.isZero()) {
568
+ writer.uint32(24).uint64(message.p2pVersion);
569
+ }
570
+ if (message.abciVersion !== "") {
571
+ writer.uint32(34).string(message.abciVersion);
572
+ }
573
+ return writer;
574
+ },
575
+ decode(input, length) {
576
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
577
+ let end = length === undefined ? reader.len : reader.pos + length;
578
+ const message = createBaseRequestInfo();
579
+ while (reader.pos < end) {
580
+ const tag = reader.uint32();
581
+ switch (tag >>> 3) {
582
+ case 1:
583
+ message.version = reader.string();
584
+ break;
585
+ case 2:
586
+ message.blockVersion = reader.uint64();
587
+ break;
588
+ case 3:
589
+ message.p2pVersion = reader.uint64();
590
+ break;
591
+ case 4:
592
+ message.abciVersion = reader.string();
593
+ break;
594
+ default:
595
+ reader.skipType(tag & 7);
596
+ break;
597
+ }
598
+ }
599
+ return message;
600
+ },
601
+ fromJSON(object) {
602
+ return {
603
+ version: (0, helpers_1.isSet)(object.version) ? String(object.version) : "",
604
+ blockVersion: (0, helpers_1.isSet)(object.blockVersion) ? helpers_1.Long.fromValue(object.blockVersion) : helpers_1.Long.UZERO,
605
+ p2pVersion: (0, helpers_1.isSet)(object.p2pVersion) ? helpers_1.Long.fromValue(object.p2pVersion) : helpers_1.Long.UZERO,
606
+ abciVersion: (0, helpers_1.isSet)(object.abciVersion) ? String(object.abciVersion) : ""
607
+ };
608
+ },
609
+ toJSON(message) {
610
+ const obj = {};
611
+ message.version !== undefined && (obj.version = message.version);
612
+ message.blockVersion !== undefined && (obj.blockVersion = (message.blockVersion || helpers_1.Long.UZERO).toString());
613
+ message.p2pVersion !== undefined && (obj.p2pVersion = (message.p2pVersion || helpers_1.Long.UZERO).toString());
614
+ message.abciVersion !== undefined && (obj.abciVersion = message.abciVersion);
615
+ return obj;
616
+ },
617
+ fromPartial(object) {
618
+ var _a, _b;
619
+ const message = createBaseRequestInfo();
620
+ message.version = (_a = object.version) !== null && _a !== void 0 ? _a : "";
621
+ message.blockVersion = object.blockVersion !== undefined && object.blockVersion !== null ? helpers_1.Long.fromValue(object.blockVersion) : helpers_1.Long.UZERO;
622
+ message.p2pVersion = object.p2pVersion !== undefined && object.p2pVersion !== null ? helpers_1.Long.fromValue(object.p2pVersion) : helpers_1.Long.UZERO;
623
+ message.abciVersion = (_b = object.abciVersion) !== null && _b !== void 0 ? _b : "";
624
+ return message;
625
+ }
626
+ };
627
+ function createBaseRequestInitChain() {
628
+ return {
629
+ time: undefined,
630
+ chainId: "",
631
+ consensusParams: undefined,
632
+ validators: [],
633
+ appStateBytes: new Uint8Array(),
634
+ initialHeight: helpers_1.Long.ZERO
635
+ };
636
+ }
637
+ exports.RequestInitChain = {
638
+ encode(message, writer = _m0.Writer.create()) {
639
+ if (message.time !== undefined) {
640
+ timestamp_1.Timestamp.encode(message.time, writer.uint32(10).fork()).ldelim();
641
+ }
642
+ if (message.chainId !== "") {
643
+ writer.uint32(18).string(message.chainId);
644
+ }
645
+ if (message.consensusParams !== undefined) {
646
+ params_1.ConsensusParams.encode(message.consensusParams, writer.uint32(26).fork()).ldelim();
647
+ }
648
+ for (const v of message.validators) {
649
+ exports.ValidatorUpdate.encode(v, writer.uint32(34).fork()).ldelim();
650
+ }
651
+ if (message.appStateBytes.length !== 0) {
652
+ writer.uint32(42).bytes(message.appStateBytes);
653
+ }
654
+ if (!message.initialHeight.isZero()) {
655
+ writer.uint32(48).int64(message.initialHeight);
656
+ }
657
+ return writer;
658
+ },
659
+ decode(input, length) {
660
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
661
+ let end = length === undefined ? reader.len : reader.pos + length;
662
+ const message = createBaseRequestInitChain();
663
+ while (reader.pos < end) {
664
+ const tag = reader.uint32();
665
+ switch (tag >>> 3) {
666
+ case 1:
667
+ message.time = timestamp_1.Timestamp.decode(reader, reader.uint32());
668
+ break;
669
+ case 2:
670
+ message.chainId = reader.string();
671
+ break;
672
+ case 3:
673
+ message.consensusParams = params_1.ConsensusParams.decode(reader, reader.uint32());
674
+ break;
675
+ case 4:
676
+ message.validators.push(exports.ValidatorUpdate.decode(reader, reader.uint32()));
677
+ break;
678
+ case 5:
679
+ message.appStateBytes = reader.bytes();
680
+ break;
681
+ case 6:
682
+ message.initialHeight = reader.int64();
683
+ break;
684
+ default:
685
+ reader.skipType(tag & 7);
686
+ break;
687
+ }
688
+ }
689
+ return message;
690
+ },
691
+ fromJSON(object) {
692
+ return {
693
+ time: (0, helpers_1.isSet)(object.time) ? (0, helpers_1.fromJsonTimestamp)(object.time) : undefined,
694
+ chainId: (0, helpers_1.isSet)(object.chainId) ? String(object.chainId) : "",
695
+ consensusParams: (0, helpers_1.isSet)(object.consensusParams) ? params_1.ConsensusParams.fromJSON(object.consensusParams) : undefined,
696
+ validators: Array.isArray(object === null || object === void 0 ? void 0 : object.validators) ? object.validators.map((e) => exports.ValidatorUpdate.fromJSON(e)) : [],
697
+ appStateBytes: (0, helpers_1.isSet)(object.appStateBytes) ? (0, helpers_1.bytesFromBase64)(object.appStateBytes) : new Uint8Array(),
698
+ initialHeight: (0, helpers_1.isSet)(object.initialHeight) ? helpers_1.Long.fromValue(object.initialHeight) : helpers_1.Long.ZERO
699
+ };
700
+ },
701
+ toJSON(message) {
702
+ const obj = {};
703
+ message.time !== undefined && (obj.time = (0, helpers_1.fromTimestamp)(message.time).toISOString());
704
+ message.chainId !== undefined && (obj.chainId = message.chainId);
705
+ message.consensusParams !== undefined && (obj.consensusParams = message.consensusParams ? params_1.ConsensusParams.toJSON(message.consensusParams) : undefined);
706
+ if (message.validators) {
707
+ obj.validators = message.validators.map(e => e ? exports.ValidatorUpdate.toJSON(e) : undefined);
708
+ }
709
+ else {
710
+ obj.validators = [];
711
+ }
712
+ message.appStateBytes !== undefined && (obj.appStateBytes = (0, helpers_1.base64FromBytes)(message.appStateBytes !== undefined ? message.appStateBytes : new Uint8Array()));
713
+ message.initialHeight !== undefined && (obj.initialHeight = (message.initialHeight || helpers_1.Long.ZERO).toString());
714
+ return obj;
715
+ },
716
+ fromPartial(object) {
717
+ var _a, _b, _c;
718
+ const message = createBaseRequestInitChain();
719
+ message.time = object.time !== undefined && object.time !== null ? timestamp_1.Timestamp.fromPartial(object.time) : undefined;
720
+ message.chainId = (_a = object.chainId) !== null && _a !== void 0 ? _a : "";
721
+ message.consensusParams = object.consensusParams !== undefined && object.consensusParams !== null ? params_1.ConsensusParams.fromPartial(object.consensusParams) : undefined;
722
+ message.validators = ((_b = object.validators) === null || _b === void 0 ? void 0 : _b.map(e => exports.ValidatorUpdate.fromPartial(e))) || [];
723
+ message.appStateBytes = (_c = object.appStateBytes) !== null && _c !== void 0 ? _c : new Uint8Array();
724
+ message.initialHeight = object.initialHeight !== undefined && object.initialHeight !== null ? helpers_1.Long.fromValue(object.initialHeight) : helpers_1.Long.ZERO;
725
+ return message;
726
+ }
727
+ };
728
+ function createBaseRequestQuery() {
729
+ return {
730
+ data: new Uint8Array(),
731
+ path: "",
732
+ height: helpers_1.Long.ZERO,
733
+ prove: false
734
+ };
735
+ }
736
+ exports.RequestQuery = {
737
+ encode(message, writer = _m0.Writer.create()) {
738
+ if (message.data.length !== 0) {
739
+ writer.uint32(10).bytes(message.data);
740
+ }
741
+ if (message.path !== "") {
742
+ writer.uint32(18).string(message.path);
743
+ }
744
+ if (!message.height.isZero()) {
745
+ writer.uint32(24).int64(message.height);
746
+ }
747
+ if (message.prove === true) {
748
+ writer.uint32(32).bool(message.prove);
749
+ }
750
+ return writer;
751
+ },
752
+ decode(input, length) {
753
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
754
+ let end = length === undefined ? reader.len : reader.pos + length;
755
+ const message = createBaseRequestQuery();
756
+ while (reader.pos < end) {
757
+ const tag = reader.uint32();
758
+ switch (tag >>> 3) {
759
+ case 1:
760
+ message.data = reader.bytes();
761
+ break;
762
+ case 2:
763
+ message.path = reader.string();
764
+ break;
765
+ case 3:
766
+ message.height = reader.int64();
767
+ break;
768
+ case 4:
769
+ message.prove = reader.bool();
770
+ break;
771
+ default:
772
+ reader.skipType(tag & 7);
773
+ break;
774
+ }
775
+ }
776
+ return message;
777
+ },
778
+ fromJSON(object) {
779
+ return {
780
+ data: (0, helpers_1.isSet)(object.data) ? (0, helpers_1.bytesFromBase64)(object.data) : new Uint8Array(),
781
+ path: (0, helpers_1.isSet)(object.path) ? String(object.path) : "",
782
+ height: (0, helpers_1.isSet)(object.height) ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO,
783
+ prove: (0, helpers_1.isSet)(object.prove) ? Boolean(object.prove) : false
784
+ };
785
+ },
786
+ toJSON(message) {
787
+ const obj = {};
788
+ message.data !== undefined && (obj.data = (0, helpers_1.base64FromBytes)(message.data !== undefined ? message.data : new Uint8Array()));
789
+ message.path !== undefined && (obj.path = message.path);
790
+ message.height !== undefined && (obj.height = (message.height || helpers_1.Long.ZERO).toString());
791
+ message.prove !== undefined && (obj.prove = message.prove);
792
+ return obj;
793
+ },
794
+ fromPartial(object) {
795
+ var _a, _b, _c;
796
+ const message = createBaseRequestQuery();
797
+ message.data = (_a = object.data) !== null && _a !== void 0 ? _a : new Uint8Array();
798
+ message.path = (_b = object.path) !== null && _b !== void 0 ? _b : "";
799
+ message.height = object.height !== undefined && object.height !== null ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO;
800
+ message.prove = (_c = object.prove) !== null && _c !== void 0 ? _c : false;
801
+ return message;
802
+ }
803
+ };
804
+ function createBaseRequestBeginBlock() {
805
+ return {
806
+ hash: new Uint8Array(),
807
+ header: undefined,
808
+ lastCommitInfo: undefined,
809
+ byzantineValidators: []
810
+ };
811
+ }
812
+ exports.RequestBeginBlock = {
813
+ encode(message, writer = _m0.Writer.create()) {
814
+ if (message.hash.length !== 0) {
815
+ writer.uint32(10).bytes(message.hash);
816
+ }
817
+ if (message.header !== undefined) {
818
+ types_1.Header.encode(message.header, writer.uint32(18).fork()).ldelim();
819
+ }
820
+ if (message.lastCommitInfo !== undefined) {
821
+ exports.CommitInfo.encode(message.lastCommitInfo, writer.uint32(26).fork()).ldelim();
822
+ }
823
+ for (const v of message.byzantineValidators) {
824
+ exports.Misbehavior.encode(v, writer.uint32(34).fork()).ldelim();
825
+ }
826
+ return writer;
827
+ },
828
+ decode(input, length) {
829
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
830
+ let end = length === undefined ? reader.len : reader.pos + length;
831
+ const message = createBaseRequestBeginBlock();
832
+ while (reader.pos < end) {
833
+ const tag = reader.uint32();
834
+ switch (tag >>> 3) {
835
+ case 1:
836
+ message.hash = reader.bytes();
837
+ break;
838
+ case 2:
839
+ message.header = types_1.Header.decode(reader, reader.uint32());
840
+ break;
841
+ case 3:
842
+ message.lastCommitInfo = exports.CommitInfo.decode(reader, reader.uint32());
843
+ break;
844
+ case 4:
845
+ message.byzantineValidators.push(exports.Misbehavior.decode(reader, reader.uint32()));
846
+ break;
847
+ default:
848
+ reader.skipType(tag & 7);
849
+ break;
850
+ }
851
+ }
852
+ return message;
853
+ },
854
+ fromJSON(object) {
855
+ return {
856
+ hash: (0, helpers_1.isSet)(object.hash) ? (0, helpers_1.bytesFromBase64)(object.hash) : new Uint8Array(),
857
+ header: (0, helpers_1.isSet)(object.header) ? types_1.Header.fromJSON(object.header) : undefined,
858
+ lastCommitInfo: (0, helpers_1.isSet)(object.lastCommitInfo) ? exports.CommitInfo.fromJSON(object.lastCommitInfo) : undefined,
859
+ byzantineValidators: Array.isArray(object === null || object === void 0 ? void 0 : object.byzantineValidators) ? object.byzantineValidators.map((e) => exports.Misbehavior.fromJSON(e)) : []
860
+ };
861
+ },
862
+ toJSON(message) {
863
+ const obj = {};
864
+ message.hash !== undefined && (obj.hash = (0, helpers_1.base64FromBytes)(message.hash !== undefined ? message.hash : new Uint8Array()));
865
+ message.header !== undefined && (obj.header = message.header ? types_1.Header.toJSON(message.header) : undefined);
866
+ message.lastCommitInfo !== undefined && (obj.lastCommitInfo = message.lastCommitInfo ? exports.CommitInfo.toJSON(message.lastCommitInfo) : undefined);
867
+ if (message.byzantineValidators) {
868
+ obj.byzantineValidators = message.byzantineValidators.map(e => e ? exports.Misbehavior.toJSON(e) : undefined);
869
+ }
870
+ else {
871
+ obj.byzantineValidators = [];
872
+ }
873
+ return obj;
874
+ },
875
+ fromPartial(object) {
876
+ var _a, _b;
877
+ const message = createBaseRequestBeginBlock();
878
+ message.hash = (_a = object.hash) !== null && _a !== void 0 ? _a : new Uint8Array();
879
+ message.header = object.header !== undefined && object.header !== null ? types_1.Header.fromPartial(object.header) : undefined;
880
+ message.lastCommitInfo = object.lastCommitInfo !== undefined && object.lastCommitInfo !== null ? exports.CommitInfo.fromPartial(object.lastCommitInfo) : undefined;
881
+ message.byzantineValidators = ((_b = object.byzantineValidators) === null || _b === void 0 ? void 0 : _b.map(e => exports.Misbehavior.fromPartial(e))) || [];
882
+ return message;
883
+ }
884
+ };
885
+ function createBaseRequestCheckTx() {
886
+ return {
887
+ tx: new Uint8Array(),
888
+ type: 0
889
+ };
890
+ }
891
+ exports.RequestCheckTx = {
892
+ encode(message, writer = _m0.Writer.create()) {
893
+ if (message.tx.length !== 0) {
894
+ writer.uint32(10).bytes(message.tx);
895
+ }
896
+ if (message.type !== 0) {
897
+ writer.uint32(16).int32(message.type);
898
+ }
899
+ return writer;
900
+ },
901
+ decode(input, length) {
902
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
903
+ let end = length === undefined ? reader.len : reader.pos + length;
904
+ const message = createBaseRequestCheckTx();
905
+ while (reader.pos < end) {
906
+ const tag = reader.uint32();
907
+ switch (tag >>> 3) {
908
+ case 1:
909
+ message.tx = reader.bytes();
910
+ break;
911
+ case 2:
912
+ message.type = reader.int32();
913
+ break;
914
+ default:
915
+ reader.skipType(tag & 7);
916
+ break;
917
+ }
918
+ }
919
+ return message;
920
+ },
921
+ fromJSON(object) {
922
+ return {
923
+ tx: (0, helpers_1.isSet)(object.tx) ? (0, helpers_1.bytesFromBase64)(object.tx) : new Uint8Array(),
924
+ type: (0, helpers_1.isSet)(object.type) ? checkTxTypeFromJSON(object.type) : 0
925
+ };
926
+ },
927
+ toJSON(message) {
928
+ const obj = {};
929
+ message.tx !== undefined && (obj.tx = (0, helpers_1.base64FromBytes)(message.tx !== undefined ? message.tx : new Uint8Array()));
930
+ message.type !== undefined && (obj.type = checkTxTypeToJSON(message.type));
931
+ return obj;
932
+ },
933
+ fromPartial(object) {
934
+ var _a, _b;
935
+ const message = createBaseRequestCheckTx();
936
+ message.tx = (_a = object.tx) !== null && _a !== void 0 ? _a : new Uint8Array();
937
+ message.type = (_b = object.type) !== null && _b !== void 0 ? _b : 0;
938
+ return message;
939
+ }
940
+ };
941
+ function createBaseRequestDeliverTx() {
942
+ return {
943
+ tx: new Uint8Array()
944
+ };
945
+ }
946
+ exports.RequestDeliverTx = {
947
+ encode(message, writer = _m0.Writer.create()) {
948
+ if (message.tx.length !== 0) {
949
+ writer.uint32(10).bytes(message.tx);
950
+ }
951
+ return writer;
952
+ },
953
+ decode(input, length) {
954
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
955
+ let end = length === undefined ? reader.len : reader.pos + length;
956
+ const message = createBaseRequestDeliverTx();
957
+ while (reader.pos < end) {
958
+ const tag = reader.uint32();
959
+ switch (tag >>> 3) {
960
+ case 1:
961
+ message.tx = reader.bytes();
962
+ break;
963
+ default:
964
+ reader.skipType(tag & 7);
965
+ break;
966
+ }
967
+ }
968
+ return message;
969
+ },
970
+ fromJSON(object) {
971
+ return {
972
+ tx: (0, helpers_1.isSet)(object.tx) ? (0, helpers_1.bytesFromBase64)(object.tx) : new Uint8Array()
973
+ };
974
+ },
975
+ toJSON(message) {
976
+ const obj = {};
977
+ message.tx !== undefined && (obj.tx = (0, helpers_1.base64FromBytes)(message.tx !== undefined ? message.tx : new Uint8Array()));
978
+ return obj;
979
+ },
980
+ fromPartial(object) {
981
+ var _a;
982
+ const message = createBaseRequestDeliverTx();
983
+ message.tx = (_a = object.tx) !== null && _a !== void 0 ? _a : new Uint8Array();
984
+ return message;
985
+ }
986
+ };
987
+ function createBaseRequestEndBlock() {
988
+ return {
989
+ height: helpers_1.Long.ZERO
990
+ };
991
+ }
992
+ exports.RequestEndBlock = {
993
+ encode(message, writer = _m0.Writer.create()) {
994
+ if (!message.height.isZero()) {
995
+ writer.uint32(8).int64(message.height);
996
+ }
997
+ return writer;
998
+ },
999
+ decode(input, length) {
1000
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1001
+ let end = length === undefined ? reader.len : reader.pos + length;
1002
+ const message = createBaseRequestEndBlock();
1003
+ while (reader.pos < end) {
1004
+ const tag = reader.uint32();
1005
+ switch (tag >>> 3) {
1006
+ case 1:
1007
+ message.height = reader.int64();
1008
+ break;
1009
+ default:
1010
+ reader.skipType(tag & 7);
1011
+ break;
1012
+ }
1013
+ }
1014
+ return message;
1015
+ },
1016
+ fromJSON(object) {
1017
+ return {
1018
+ height: (0, helpers_1.isSet)(object.height) ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO
1019
+ };
1020
+ },
1021
+ toJSON(message) {
1022
+ const obj = {};
1023
+ message.height !== undefined && (obj.height = (message.height || helpers_1.Long.ZERO).toString());
1024
+ return obj;
1025
+ },
1026
+ fromPartial(object) {
1027
+ const message = createBaseRequestEndBlock();
1028
+ message.height = object.height !== undefined && object.height !== null ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO;
1029
+ return message;
1030
+ }
1031
+ };
1032
+ function createBaseRequestCommit() {
1033
+ return {};
1034
+ }
1035
+ exports.RequestCommit = {
1036
+ encode(_, writer = _m0.Writer.create()) {
1037
+ return writer;
1038
+ },
1039
+ decode(input, length) {
1040
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1041
+ let end = length === undefined ? reader.len : reader.pos + length;
1042
+ const message = createBaseRequestCommit();
1043
+ while (reader.pos < end) {
1044
+ const tag = reader.uint32();
1045
+ switch (tag >>> 3) {
1046
+ default:
1047
+ reader.skipType(tag & 7);
1048
+ break;
1049
+ }
1050
+ }
1051
+ return message;
1052
+ },
1053
+ fromJSON(_) {
1054
+ return {};
1055
+ },
1056
+ toJSON(_) {
1057
+ const obj = {};
1058
+ return obj;
1059
+ },
1060
+ fromPartial(_) {
1061
+ const message = createBaseRequestCommit();
1062
+ return message;
1063
+ }
1064
+ };
1065
+ function createBaseRequestListSnapshots() {
1066
+ return {};
1067
+ }
1068
+ exports.RequestListSnapshots = {
1069
+ encode(_, writer = _m0.Writer.create()) {
1070
+ return writer;
1071
+ },
1072
+ decode(input, length) {
1073
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1074
+ let end = length === undefined ? reader.len : reader.pos + length;
1075
+ const message = createBaseRequestListSnapshots();
1076
+ while (reader.pos < end) {
1077
+ const tag = reader.uint32();
1078
+ switch (tag >>> 3) {
1079
+ default:
1080
+ reader.skipType(tag & 7);
1081
+ break;
1082
+ }
1083
+ }
1084
+ return message;
1085
+ },
1086
+ fromJSON(_) {
1087
+ return {};
1088
+ },
1089
+ toJSON(_) {
1090
+ const obj = {};
1091
+ return obj;
1092
+ },
1093
+ fromPartial(_) {
1094
+ const message = createBaseRequestListSnapshots();
1095
+ return message;
1096
+ }
1097
+ };
1098
+ function createBaseRequestOfferSnapshot() {
1099
+ return {
1100
+ snapshot: undefined,
1101
+ appHash: new Uint8Array()
1102
+ };
1103
+ }
1104
+ exports.RequestOfferSnapshot = {
1105
+ encode(message, writer = _m0.Writer.create()) {
1106
+ if (message.snapshot !== undefined) {
1107
+ exports.Snapshot.encode(message.snapshot, writer.uint32(10).fork()).ldelim();
1108
+ }
1109
+ if (message.appHash.length !== 0) {
1110
+ writer.uint32(18).bytes(message.appHash);
1111
+ }
1112
+ return writer;
1113
+ },
1114
+ decode(input, length) {
1115
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1116
+ let end = length === undefined ? reader.len : reader.pos + length;
1117
+ const message = createBaseRequestOfferSnapshot();
1118
+ while (reader.pos < end) {
1119
+ const tag = reader.uint32();
1120
+ switch (tag >>> 3) {
1121
+ case 1:
1122
+ message.snapshot = exports.Snapshot.decode(reader, reader.uint32());
1123
+ break;
1124
+ case 2:
1125
+ message.appHash = reader.bytes();
1126
+ break;
1127
+ default:
1128
+ reader.skipType(tag & 7);
1129
+ break;
1130
+ }
1131
+ }
1132
+ return message;
1133
+ },
1134
+ fromJSON(object) {
1135
+ return {
1136
+ snapshot: (0, helpers_1.isSet)(object.snapshot) ? exports.Snapshot.fromJSON(object.snapshot) : undefined,
1137
+ appHash: (0, helpers_1.isSet)(object.appHash) ? (0, helpers_1.bytesFromBase64)(object.appHash) : new Uint8Array()
1138
+ };
1139
+ },
1140
+ toJSON(message) {
1141
+ const obj = {};
1142
+ message.snapshot !== undefined && (obj.snapshot = message.snapshot ? exports.Snapshot.toJSON(message.snapshot) : undefined);
1143
+ message.appHash !== undefined && (obj.appHash = (0, helpers_1.base64FromBytes)(message.appHash !== undefined ? message.appHash : new Uint8Array()));
1144
+ return obj;
1145
+ },
1146
+ fromPartial(object) {
1147
+ var _a;
1148
+ const message = createBaseRequestOfferSnapshot();
1149
+ message.snapshot = object.snapshot !== undefined && object.snapshot !== null ? exports.Snapshot.fromPartial(object.snapshot) : undefined;
1150
+ message.appHash = (_a = object.appHash) !== null && _a !== void 0 ? _a : new Uint8Array();
1151
+ return message;
1152
+ }
1153
+ };
1154
+ function createBaseRequestLoadSnapshotChunk() {
1155
+ return {
1156
+ height: helpers_1.Long.UZERO,
1157
+ format: 0,
1158
+ chunk: 0
1159
+ };
1160
+ }
1161
+ exports.RequestLoadSnapshotChunk = {
1162
+ encode(message, writer = _m0.Writer.create()) {
1163
+ if (!message.height.isZero()) {
1164
+ writer.uint32(8).uint64(message.height);
1165
+ }
1166
+ if (message.format !== 0) {
1167
+ writer.uint32(16).uint32(message.format);
1168
+ }
1169
+ if (message.chunk !== 0) {
1170
+ writer.uint32(24).uint32(message.chunk);
1171
+ }
1172
+ return writer;
1173
+ },
1174
+ decode(input, length) {
1175
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1176
+ let end = length === undefined ? reader.len : reader.pos + length;
1177
+ const message = createBaseRequestLoadSnapshotChunk();
1178
+ while (reader.pos < end) {
1179
+ const tag = reader.uint32();
1180
+ switch (tag >>> 3) {
1181
+ case 1:
1182
+ message.height = reader.uint64();
1183
+ break;
1184
+ case 2:
1185
+ message.format = reader.uint32();
1186
+ break;
1187
+ case 3:
1188
+ message.chunk = reader.uint32();
1189
+ break;
1190
+ default:
1191
+ reader.skipType(tag & 7);
1192
+ break;
1193
+ }
1194
+ }
1195
+ return message;
1196
+ },
1197
+ fromJSON(object) {
1198
+ return {
1199
+ height: (0, helpers_1.isSet)(object.height) ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.UZERO,
1200
+ format: (0, helpers_1.isSet)(object.format) ? Number(object.format) : 0,
1201
+ chunk: (0, helpers_1.isSet)(object.chunk) ? Number(object.chunk) : 0
1202
+ };
1203
+ },
1204
+ toJSON(message) {
1205
+ const obj = {};
1206
+ message.height !== undefined && (obj.height = (message.height || helpers_1.Long.UZERO).toString());
1207
+ message.format !== undefined && (obj.format = Math.round(message.format));
1208
+ message.chunk !== undefined && (obj.chunk = Math.round(message.chunk));
1209
+ return obj;
1210
+ },
1211
+ fromPartial(object) {
1212
+ var _a, _b;
1213
+ const message = createBaseRequestLoadSnapshotChunk();
1214
+ message.height = object.height !== undefined && object.height !== null ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.UZERO;
1215
+ message.format = (_a = object.format) !== null && _a !== void 0 ? _a : 0;
1216
+ message.chunk = (_b = object.chunk) !== null && _b !== void 0 ? _b : 0;
1217
+ return message;
1218
+ }
1219
+ };
1220
+ function createBaseRequestApplySnapshotChunk() {
1221
+ return {
1222
+ index: 0,
1223
+ chunk: new Uint8Array(),
1224
+ sender: ""
1225
+ };
1226
+ }
1227
+ exports.RequestApplySnapshotChunk = {
1228
+ encode(message, writer = _m0.Writer.create()) {
1229
+ if (message.index !== 0) {
1230
+ writer.uint32(8).uint32(message.index);
1231
+ }
1232
+ if (message.chunk.length !== 0) {
1233
+ writer.uint32(18).bytes(message.chunk);
1234
+ }
1235
+ if (message.sender !== "") {
1236
+ writer.uint32(26).string(message.sender);
1237
+ }
1238
+ return writer;
1239
+ },
1240
+ decode(input, length) {
1241
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1242
+ let end = length === undefined ? reader.len : reader.pos + length;
1243
+ const message = createBaseRequestApplySnapshotChunk();
1244
+ while (reader.pos < end) {
1245
+ const tag = reader.uint32();
1246
+ switch (tag >>> 3) {
1247
+ case 1:
1248
+ message.index = reader.uint32();
1249
+ break;
1250
+ case 2:
1251
+ message.chunk = reader.bytes();
1252
+ break;
1253
+ case 3:
1254
+ message.sender = reader.string();
1255
+ break;
1256
+ default:
1257
+ reader.skipType(tag & 7);
1258
+ break;
1259
+ }
1260
+ }
1261
+ return message;
1262
+ },
1263
+ fromJSON(object) {
1264
+ return {
1265
+ index: (0, helpers_1.isSet)(object.index) ? Number(object.index) : 0,
1266
+ chunk: (0, helpers_1.isSet)(object.chunk) ? (0, helpers_1.bytesFromBase64)(object.chunk) : new Uint8Array(),
1267
+ sender: (0, helpers_1.isSet)(object.sender) ? String(object.sender) : ""
1268
+ };
1269
+ },
1270
+ toJSON(message) {
1271
+ const obj = {};
1272
+ message.index !== undefined && (obj.index = Math.round(message.index));
1273
+ message.chunk !== undefined && (obj.chunk = (0, helpers_1.base64FromBytes)(message.chunk !== undefined ? message.chunk : new Uint8Array()));
1274
+ message.sender !== undefined && (obj.sender = message.sender);
1275
+ return obj;
1276
+ },
1277
+ fromPartial(object) {
1278
+ var _a, _b, _c;
1279
+ const message = createBaseRequestApplySnapshotChunk();
1280
+ message.index = (_a = object.index) !== null && _a !== void 0 ? _a : 0;
1281
+ message.chunk = (_b = object.chunk) !== null && _b !== void 0 ? _b : new Uint8Array();
1282
+ message.sender = (_c = object.sender) !== null && _c !== void 0 ? _c : "";
1283
+ return message;
1284
+ }
1285
+ };
1286
+ function createBaseRequestPrepareProposal() {
1287
+ return {
1288
+ maxTxBytes: helpers_1.Long.ZERO,
1289
+ txs: [],
1290
+ localLastCommit: undefined,
1291
+ misbehavior: [],
1292
+ height: helpers_1.Long.ZERO,
1293
+ time: undefined,
1294
+ nextValidatorsHash: new Uint8Array(),
1295
+ proposerAddress: new Uint8Array()
1296
+ };
1297
+ }
1298
+ exports.RequestPrepareProposal = {
1299
+ encode(message, writer = _m0.Writer.create()) {
1300
+ if (!message.maxTxBytes.isZero()) {
1301
+ writer.uint32(8).int64(message.maxTxBytes);
1302
+ }
1303
+ for (const v of message.txs) {
1304
+ writer.uint32(18).bytes(v);
1305
+ }
1306
+ if (message.localLastCommit !== undefined) {
1307
+ exports.ExtendedCommitInfo.encode(message.localLastCommit, writer.uint32(26).fork()).ldelim();
1308
+ }
1309
+ for (const v of message.misbehavior) {
1310
+ exports.Misbehavior.encode(v, writer.uint32(34).fork()).ldelim();
1311
+ }
1312
+ if (!message.height.isZero()) {
1313
+ writer.uint32(40).int64(message.height);
1314
+ }
1315
+ if (message.time !== undefined) {
1316
+ timestamp_1.Timestamp.encode(message.time, writer.uint32(50).fork()).ldelim();
1317
+ }
1318
+ if (message.nextValidatorsHash.length !== 0) {
1319
+ writer.uint32(58).bytes(message.nextValidatorsHash);
1320
+ }
1321
+ if (message.proposerAddress.length !== 0) {
1322
+ writer.uint32(66).bytes(message.proposerAddress);
1323
+ }
1324
+ return writer;
1325
+ },
1326
+ decode(input, length) {
1327
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1328
+ let end = length === undefined ? reader.len : reader.pos + length;
1329
+ const message = createBaseRequestPrepareProposal();
1330
+ while (reader.pos < end) {
1331
+ const tag = reader.uint32();
1332
+ switch (tag >>> 3) {
1333
+ case 1:
1334
+ message.maxTxBytes = reader.int64();
1335
+ break;
1336
+ case 2:
1337
+ message.txs.push(reader.bytes());
1338
+ break;
1339
+ case 3:
1340
+ message.localLastCommit = exports.ExtendedCommitInfo.decode(reader, reader.uint32());
1341
+ break;
1342
+ case 4:
1343
+ message.misbehavior.push(exports.Misbehavior.decode(reader, reader.uint32()));
1344
+ break;
1345
+ case 5:
1346
+ message.height = reader.int64();
1347
+ break;
1348
+ case 6:
1349
+ message.time = timestamp_1.Timestamp.decode(reader, reader.uint32());
1350
+ break;
1351
+ case 7:
1352
+ message.nextValidatorsHash = reader.bytes();
1353
+ break;
1354
+ case 8:
1355
+ message.proposerAddress = reader.bytes();
1356
+ break;
1357
+ default:
1358
+ reader.skipType(tag & 7);
1359
+ break;
1360
+ }
1361
+ }
1362
+ return message;
1363
+ },
1364
+ fromJSON(object) {
1365
+ return {
1366
+ maxTxBytes: (0, helpers_1.isSet)(object.maxTxBytes) ? helpers_1.Long.fromValue(object.maxTxBytes) : helpers_1.Long.ZERO,
1367
+ txs: Array.isArray(object === null || object === void 0 ? void 0 : object.txs) ? object.txs.map((e) => (0, helpers_1.bytesFromBase64)(e)) : [],
1368
+ localLastCommit: (0, helpers_1.isSet)(object.localLastCommit) ? exports.ExtendedCommitInfo.fromJSON(object.localLastCommit) : undefined,
1369
+ misbehavior: Array.isArray(object === null || object === void 0 ? void 0 : object.misbehavior) ? object.misbehavior.map((e) => exports.Misbehavior.fromJSON(e)) : [],
1370
+ height: (0, helpers_1.isSet)(object.height) ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO,
1371
+ time: (0, helpers_1.isSet)(object.time) ? (0, helpers_1.fromJsonTimestamp)(object.time) : undefined,
1372
+ nextValidatorsHash: (0, helpers_1.isSet)(object.nextValidatorsHash) ? (0, helpers_1.bytesFromBase64)(object.nextValidatorsHash) : new Uint8Array(),
1373
+ proposerAddress: (0, helpers_1.isSet)(object.proposerAddress) ? (0, helpers_1.bytesFromBase64)(object.proposerAddress) : new Uint8Array()
1374
+ };
1375
+ },
1376
+ toJSON(message) {
1377
+ const obj = {};
1378
+ message.maxTxBytes !== undefined && (obj.maxTxBytes = (message.maxTxBytes || helpers_1.Long.ZERO).toString());
1379
+ if (message.txs) {
1380
+ obj.txs = message.txs.map(e => (0, helpers_1.base64FromBytes)(e !== undefined ? e : new Uint8Array()));
1381
+ }
1382
+ else {
1383
+ obj.txs = [];
1384
+ }
1385
+ message.localLastCommit !== undefined && (obj.localLastCommit = message.localLastCommit ? exports.ExtendedCommitInfo.toJSON(message.localLastCommit) : undefined);
1386
+ if (message.misbehavior) {
1387
+ obj.misbehavior = message.misbehavior.map(e => e ? exports.Misbehavior.toJSON(e) : undefined);
1388
+ }
1389
+ else {
1390
+ obj.misbehavior = [];
1391
+ }
1392
+ message.height !== undefined && (obj.height = (message.height || helpers_1.Long.ZERO).toString());
1393
+ message.time !== undefined && (obj.time = (0, helpers_1.fromTimestamp)(message.time).toISOString());
1394
+ message.nextValidatorsHash !== undefined && (obj.nextValidatorsHash = (0, helpers_1.base64FromBytes)(message.nextValidatorsHash !== undefined ? message.nextValidatorsHash : new Uint8Array()));
1395
+ message.proposerAddress !== undefined && (obj.proposerAddress = (0, helpers_1.base64FromBytes)(message.proposerAddress !== undefined ? message.proposerAddress : new Uint8Array()));
1396
+ return obj;
1397
+ },
1398
+ fromPartial(object) {
1399
+ var _a, _b, _c, _d;
1400
+ const message = createBaseRequestPrepareProposal();
1401
+ message.maxTxBytes = object.maxTxBytes !== undefined && object.maxTxBytes !== null ? helpers_1.Long.fromValue(object.maxTxBytes) : helpers_1.Long.ZERO;
1402
+ message.txs = ((_a = object.txs) === null || _a === void 0 ? void 0 : _a.map(e => e)) || [];
1403
+ message.localLastCommit = object.localLastCommit !== undefined && object.localLastCommit !== null ? exports.ExtendedCommitInfo.fromPartial(object.localLastCommit) : undefined;
1404
+ message.misbehavior = ((_b = object.misbehavior) === null || _b === void 0 ? void 0 : _b.map(e => exports.Misbehavior.fromPartial(e))) || [];
1405
+ message.height = object.height !== undefined && object.height !== null ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO;
1406
+ message.time = object.time !== undefined && object.time !== null ? timestamp_1.Timestamp.fromPartial(object.time) : undefined;
1407
+ message.nextValidatorsHash = (_c = object.nextValidatorsHash) !== null && _c !== void 0 ? _c : new Uint8Array();
1408
+ message.proposerAddress = (_d = object.proposerAddress) !== null && _d !== void 0 ? _d : new Uint8Array();
1409
+ return message;
1410
+ }
1411
+ };
1412
+ function createBaseRequestProcessProposal() {
1413
+ return {
1414
+ txs: [],
1415
+ proposedLastCommit: undefined,
1416
+ misbehavior: [],
1417
+ hash: new Uint8Array(),
1418
+ height: helpers_1.Long.ZERO,
1419
+ time: undefined,
1420
+ nextValidatorsHash: new Uint8Array(),
1421
+ proposerAddress: new Uint8Array()
1422
+ };
1423
+ }
1424
+ exports.RequestProcessProposal = {
1425
+ encode(message, writer = _m0.Writer.create()) {
1426
+ for (const v of message.txs) {
1427
+ writer.uint32(10).bytes(v);
1428
+ }
1429
+ if (message.proposedLastCommit !== undefined) {
1430
+ exports.CommitInfo.encode(message.proposedLastCommit, writer.uint32(18).fork()).ldelim();
1431
+ }
1432
+ for (const v of message.misbehavior) {
1433
+ exports.Misbehavior.encode(v, writer.uint32(26).fork()).ldelim();
1434
+ }
1435
+ if (message.hash.length !== 0) {
1436
+ writer.uint32(34).bytes(message.hash);
1437
+ }
1438
+ if (!message.height.isZero()) {
1439
+ writer.uint32(40).int64(message.height);
1440
+ }
1441
+ if (message.time !== undefined) {
1442
+ timestamp_1.Timestamp.encode(message.time, writer.uint32(50).fork()).ldelim();
1443
+ }
1444
+ if (message.nextValidatorsHash.length !== 0) {
1445
+ writer.uint32(58).bytes(message.nextValidatorsHash);
1446
+ }
1447
+ if (message.proposerAddress.length !== 0) {
1448
+ writer.uint32(66).bytes(message.proposerAddress);
1449
+ }
1450
+ return writer;
1451
+ },
1452
+ decode(input, length) {
1453
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1454
+ let end = length === undefined ? reader.len : reader.pos + length;
1455
+ const message = createBaseRequestProcessProposal();
1456
+ while (reader.pos < end) {
1457
+ const tag = reader.uint32();
1458
+ switch (tag >>> 3) {
1459
+ case 1:
1460
+ message.txs.push(reader.bytes());
1461
+ break;
1462
+ case 2:
1463
+ message.proposedLastCommit = exports.CommitInfo.decode(reader, reader.uint32());
1464
+ break;
1465
+ case 3:
1466
+ message.misbehavior.push(exports.Misbehavior.decode(reader, reader.uint32()));
1467
+ break;
1468
+ case 4:
1469
+ message.hash = reader.bytes();
1470
+ break;
1471
+ case 5:
1472
+ message.height = reader.int64();
1473
+ break;
1474
+ case 6:
1475
+ message.time = timestamp_1.Timestamp.decode(reader, reader.uint32());
1476
+ break;
1477
+ case 7:
1478
+ message.nextValidatorsHash = reader.bytes();
1479
+ break;
1480
+ case 8:
1481
+ message.proposerAddress = reader.bytes();
1482
+ break;
1483
+ default:
1484
+ reader.skipType(tag & 7);
1485
+ break;
1486
+ }
1487
+ }
1488
+ return message;
1489
+ },
1490
+ fromJSON(object) {
1491
+ return {
1492
+ txs: Array.isArray(object === null || object === void 0 ? void 0 : object.txs) ? object.txs.map((e) => (0, helpers_1.bytesFromBase64)(e)) : [],
1493
+ proposedLastCommit: (0, helpers_1.isSet)(object.proposedLastCommit) ? exports.CommitInfo.fromJSON(object.proposedLastCommit) : undefined,
1494
+ misbehavior: Array.isArray(object === null || object === void 0 ? void 0 : object.misbehavior) ? object.misbehavior.map((e) => exports.Misbehavior.fromJSON(e)) : [],
1495
+ hash: (0, helpers_1.isSet)(object.hash) ? (0, helpers_1.bytesFromBase64)(object.hash) : new Uint8Array(),
1496
+ height: (0, helpers_1.isSet)(object.height) ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO,
1497
+ time: (0, helpers_1.isSet)(object.time) ? (0, helpers_1.fromJsonTimestamp)(object.time) : undefined,
1498
+ nextValidatorsHash: (0, helpers_1.isSet)(object.nextValidatorsHash) ? (0, helpers_1.bytesFromBase64)(object.nextValidatorsHash) : new Uint8Array(),
1499
+ proposerAddress: (0, helpers_1.isSet)(object.proposerAddress) ? (0, helpers_1.bytesFromBase64)(object.proposerAddress) : new Uint8Array()
1500
+ };
1501
+ },
1502
+ toJSON(message) {
1503
+ const obj = {};
1504
+ if (message.txs) {
1505
+ obj.txs = message.txs.map(e => (0, helpers_1.base64FromBytes)(e !== undefined ? e : new Uint8Array()));
1506
+ }
1507
+ else {
1508
+ obj.txs = [];
1509
+ }
1510
+ message.proposedLastCommit !== undefined && (obj.proposedLastCommit = message.proposedLastCommit ? exports.CommitInfo.toJSON(message.proposedLastCommit) : undefined);
1511
+ if (message.misbehavior) {
1512
+ obj.misbehavior = message.misbehavior.map(e => e ? exports.Misbehavior.toJSON(e) : undefined);
1513
+ }
1514
+ else {
1515
+ obj.misbehavior = [];
1516
+ }
1517
+ message.hash !== undefined && (obj.hash = (0, helpers_1.base64FromBytes)(message.hash !== undefined ? message.hash : new Uint8Array()));
1518
+ message.height !== undefined && (obj.height = (message.height || helpers_1.Long.ZERO).toString());
1519
+ message.time !== undefined && (obj.time = (0, helpers_1.fromTimestamp)(message.time).toISOString());
1520
+ message.nextValidatorsHash !== undefined && (obj.nextValidatorsHash = (0, helpers_1.base64FromBytes)(message.nextValidatorsHash !== undefined ? message.nextValidatorsHash : new Uint8Array()));
1521
+ message.proposerAddress !== undefined && (obj.proposerAddress = (0, helpers_1.base64FromBytes)(message.proposerAddress !== undefined ? message.proposerAddress : new Uint8Array()));
1522
+ return obj;
1523
+ },
1524
+ fromPartial(object) {
1525
+ var _a, _b, _c, _d, _e;
1526
+ const message = createBaseRequestProcessProposal();
1527
+ message.txs = ((_a = object.txs) === null || _a === void 0 ? void 0 : _a.map(e => e)) || [];
1528
+ message.proposedLastCommit = object.proposedLastCommit !== undefined && object.proposedLastCommit !== null ? exports.CommitInfo.fromPartial(object.proposedLastCommit) : undefined;
1529
+ message.misbehavior = ((_b = object.misbehavior) === null || _b === void 0 ? void 0 : _b.map(e => exports.Misbehavior.fromPartial(e))) || [];
1530
+ message.hash = (_c = object.hash) !== null && _c !== void 0 ? _c : new Uint8Array();
1531
+ message.height = object.height !== undefined && object.height !== null ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO;
1532
+ message.time = object.time !== undefined && object.time !== null ? timestamp_1.Timestamp.fromPartial(object.time) : undefined;
1533
+ message.nextValidatorsHash = (_d = object.nextValidatorsHash) !== null && _d !== void 0 ? _d : new Uint8Array();
1534
+ message.proposerAddress = (_e = object.proposerAddress) !== null && _e !== void 0 ? _e : new Uint8Array();
1535
+ return message;
1536
+ }
1537
+ };
1538
+ function createBaseResponse() {
1539
+ return {
1540
+ exception: undefined,
1541
+ echo: undefined,
1542
+ flush: undefined,
1543
+ info: undefined,
1544
+ initChain: undefined,
1545
+ query: undefined,
1546
+ beginBlock: undefined,
1547
+ checkTx: undefined,
1548
+ deliverTx: undefined,
1549
+ endBlock: undefined,
1550
+ commit: undefined,
1551
+ listSnapshots: undefined,
1552
+ offerSnapshot: undefined,
1553
+ loadSnapshotChunk: undefined,
1554
+ applySnapshotChunk: undefined,
1555
+ prepareProposal: undefined,
1556
+ processProposal: undefined
1557
+ };
1558
+ }
1559
+ exports.Response = {
1560
+ encode(message, writer = _m0.Writer.create()) {
1561
+ if (message.exception !== undefined) {
1562
+ exports.ResponseException.encode(message.exception, writer.uint32(10).fork()).ldelim();
1563
+ }
1564
+ if (message.echo !== undefined) {
1565
+ exports.ResponseEcho.encode(message.echo, writer.uint32(18).fork()).ldelim();
1566
+ }
1567
+ if (message.flush !== undefined) {
1568
+ exports.ResponseFlush.encode(message.flush, writer.uint32(26).fork()).ldelim();
1569
+ }
1570
+ if (message.info !== undefined) {
1571
+ exports.ResponseInfo.encode(message.info, writer.uint32(34).fork()).ldelim();
1572
+ }
1573
+ if (message.initChain !== undefined) {
1574
+ exports.ResponseInitChain.encode(message.initChain, writer.uint32(50).fork()).ldelim();
1575
+ }
1576
+ if (message.query !== undefined) {
1577
+ exports.ResponseQuery.encode(message.query, writer.uint32(58).fork()).ldelim();
1578
+ }
1579
+ if (message.beginBlock !== undefined) {
1580
+ exports.ResponseBeginBlock.encode(message.beginBlock, writer.uint32(66).fork()).ldelim();
1581
+ }
1582
+ if (message.checkTx !== undefined) {
1583
+ exports.ResponseCheckTx.encode(message.checkTx, writer.uint32(74).fork()).ldelim();
1584
+ }
1585
+ if (message.deliverTx !== undefined) {
1586
+ exports.ResponseDeliverTx.encode(message.deliverTx, writer.uint32(82).fork()).ldelim();
1587
+ }
1588
+ if (message.endBlock !== undefined) {
1589
+ exports.ResponseEndBlock.encode(message.endBlock, writer.uint32(90).fork()).ldelim();
1590
+ }
1591
+ if (message.commit !== undefined) {
1592
+ exports.ResponseCommit.encode(message.commit, writer.uint32(98).fork()).ldelim();
1593
+ }
1594
+ if (message.listSnapshots !== undefined) {
1595
+ exports.ResponseListSnapshots.encode(message.listSnapshots, writer.uint32(106).fork()).ldelim();
1596
+ }
1597
+ if (message.offerSnapshot !== undefined) {
1598
+ exports.ResponseOfferSnapshot.encode(message.offerSnapshot, writer.uint32(114).fork()).ldelim();
1599
+ }
1600
+ if (message.loadSnapshotChunk !== undefined) {
1601
+ exports.ResponseLoadSnapshotChunk.encode(message.loadSnapshotChunk, writer.uint32(122).fork()).ldelim();
1602
+ }
1603
+ if (message.applySnapshotChunk !== undefined) {
1604
+ exports.ResponseApplySnapshotChunk.encode(message.applySnapshotChunk, writer.uint32(130).fork()).ldelim();
1605
+ }
1606
+ if (message.prepareProposal !== undefined) {
1607
+ exports.ResponsePrepareProposal.encode(message.prepareProposal, writer.uint32(138).fork()).ldelim();
1608
+ }
1609
+ if (message.processProposal !== undefined) {
1610
+ exports.ResponseProcessProposal.encode(message.processProposal, writer.uint32(146).fork()).ldelim();
1611
+ }
1612
+ return writer;
1613
+ },
1614
+ decode(input, length) {
1615
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1616
+ let end = length === undefined ? reader.len : reader.pos + length;
1617
+ const message = createBaseResponse();
1618
+ while (reader.pos < end) {
1619
+ const tag = reader.uint32();
1620
+ switch (tag >>> 3) {
1621
+ case 1:
1622
+ message.exception = exports.ResponseException.decode(reader, reader.uint32());
1623
+ break;
1624
+ case 2:
1625
+ message.echo = exports.ResponseEcho.decode(reader, reader.uint32());
1626
+ break;
1627
+ case 3:
1628
+ message.flush = exports.ResponseFlush.decode(reader, reader.uint32());
1629
+ break;
1630
+ case 4:
1631
+ message.info = exports.ResponseInfo.decode(reader, reader.uint32());
1632
+ break;
1633
+ case 6:
1634
+ message.initChain = exports.ResponseInitChain.decode(reader, reader.uint32());
1635
+ break;
1636
+ case 7:
1637
+ message.query = exports.ResponseQuery.decode(reader, reader.uint32());
1638
+ break;
1639
+ case 8:
1640
+ message.beginBlock = exports.ResponseBeginBlock.decode(reader, reader.uint32());
1641
+ break;
1642
+ case 9:
1643
+ message.checkTx = exports.ResponseCheckTx.decode(reader, reader.uint32());
1644
+ break;
1645
+ case 10:
1646
+ message.deliverTx = exports.ResponseDeliverTx.decode(reader, reader.uint32());
1647
+ break;
1648
+ case 11:
1649
+ message.endBlock = exports.ResponseEndBlock.decode(reader, reader.uint32());
1650
+ break;
1651
+ case 12:
1652
+ message.commit = exports.ResponseCommit.decode(reader, reader.uint32());
1653
+ break;
1654
+ case 13:
1655
+ message.listSnapshots = exports.ResponseListSnapshots.decode(reader, reader.uint32());
1656
+ break;
1657
+ case 14:
1658
+ message.offerSnapshot = exports.ResponseOfferSnapshot.decode(reader, reader.uint32());
1659
+ break;
1660
+ case 15:
1661
+ message.loadSnapshotChunk = exports.ResponseLoadSnapshotChunk.decode(reader, reader.uint32());
1662
+ break;
1663
+ case 16:
1664
+ message.applySnapshotChunk = exports.ResponseApplySnapshotChunk.decode(reader, reader.uint32());
1665
+ break;
1666
+ case 17:
1667
+ message.prepareProposal = exports.ResponsePrepareProposal.decode(reader, reader.uint32());
1668
+ break;
1669
+ case 18:
1670
+ message.processProposal = exports.ResponseProcessProposal.decode(reader, reader.uint32());
1671
+ break;
1672
+ default:
1673
+ reader.skipType(tag & 7);
1674
+ break;
1675
+ }
1676
+ }
1677
+ return message;
1678
+ },
1679
+ fromJSON(object) {
1680
+ return {
1681
+ exception: (0, helpers_1.isSet)(object.exception) ? exports.ResponseException.fromJSON(object.exception) : undefined,
1682
+ echo: (0, helpers_1.isSet)(object.echo) ? exports.ResponseEcho.fromJSON(object.echo) : undefined,
1683
+ flush: (0, helpers_1.isSet)(object.flush) ? exports.ResponseFlush.fromJSON(object.flush) : undefined,
1684
+ info: (0, helpers_1.isSet)(object.info) ? exports.ResponseInfo.fromJSON(object.info) : undefined,
1685
+ initChain: (0, helpers_1.isSet)(object.initChain) ? exports.ResponseInitChain.fromJSON(object.initChain) : undefined,
1686
+ query: (0, helpers_1.isSet)(object.query) ? exports.ResponseQuery.fromJSON(object.query) : undefined,
1687
+ beginBlock: (0, helpers_1.isSet)(object.beginBlock) ? exports.ResponseBeginBlock.fromJSON(object.beginBlock) : undefined,
1688
+ checkTx: (0, helpers_1.isSet)(object.checkTx) ? exports.ResponseCheckTx.fromJSON(object.checkTx) : undefined,
1689
+ deliverTx: (0, helpers_1.isSet)(object.deliverTx) ? exports.ResponseDeliverTx.fromJSON(object.deliverTx) : undefined,
1690
+ endBlock: (0, helpers_1.isSet)(object.endBlock) ? exports.ResponseEndBlock.fromJSON(object.endBlock) : undefined,
1691
+ commit: (0, helpers_1.isSet)(object.commit) ? exports.ResponseCommit.fromJSON(object.commit) : undefined,
1692
+ listSnapshots: (0, helpers_1.isSet)(object.listSnapshots) ? exports.ResponseListSnapshots.fromJSON(object.listSnapshots) : undefined,
1693
+ offerSnapshot: (0, helpers_1.isSet)(object.offerSnapshot) ? exports.ResponseOfferSnapshot.fromJSON(object.offerSnapshot) : undefined,
1694
+ loadSnapshotChunk: (0, helpers_1.isSet)(object.loadSnapshotChunk) ? exports.ResponseLoadSnapshotChunk.fromJSON(object.loadSnapshotChunk) : undefined,
1695
+ applySnapshotChunk: (0, helpers_1.isSet)(object.applySnapshotChunk) ? exports.ResponseApplySnapshotChunk.fromJSON(object.applySnapshotChunk) : undefined,
1696
+ prepareProposal: (0, helpers_1.isSet)(object.prepareProposal) ? exports.ResponsePrepareProposal.fromJSON(object.prepareProposal) : undefined,
1697
+ processProposal: (0, helpers_1.isSet)(object.processProposal) ? exports.ResponseProcessProposal.fromJSON(object.processProposal) : undefined
1698
+ };
1699
+ },
1700
+ toJSON(message) {
1701
+ const obj = {};
1702
+ message.exception !== undefined && (obj.exception = message.exception ? exports.ResponseException.toJSON(message.exception) : undefined);
1703
+ message.echo !== undefined && (obj.echo = message.echo ? exports.ResponseEcho.toJSON(message.echo) : undefined);
1704
+ message.flush !== undefined && (obj.flush = message.flush ? exports.ResponseFlush.toJSON(message.flush) : undefined);
1705
+ message.info !== undefined && (obj.info = message.info ? exports.ResponseInfo.toJSON(message.info) : undefined);
1706
+ message.initChain !== undefined && (obj.initChain = message.initChain ? exports.ResponseInitChain.toJSON(message.initChain) : undefined);
1707
+ message.query !== undefined && (obj.query = message.query ? exports.ResponseQuery.toJSON(message.query) : undefined);
1708
+ message.beginBlock !== undefined && (obj.beginBlock = message.beginBlock ? exports.ResponseBeginBlock.toJSON(message.beginBlock) : undefined);
1709
+ message.checkTx !== undefined && (obj.checkTx = message.checkTx ? exports.ResponseCheckTx.toJSON(message.checkTx) : undefined);
1710
+ message.deliverTx !== undefined && (obj.deliverTx = message.deliverTx ? exports.ResponseDeliverTx.toJSON(message.deliverTx) : undefined);
1711
+ message.endBlock !== undefined && (obj.endBlock = message.endBlock ? exports.ResponseEndBlock.toJSON(message.endBlock) : undefined);
1712
+ message.commit !== undefined && (obj.commit = message.commit ? exports.ResponseCommit.toJSON(message.commit) : undefined);
1713
+ message.listSnapshots !== undefined && (obj.listSnapshots = message.listSnapshots ? exports.ResponseListSnapshots.toJSON(message.listSnapshots) : undefined);
1714
+ message.offerSnapshot !== undefined && (obj.offerSnapshot = message.offerSnapshot ? exports.ResponseOfferSnapshot.toJSON(message.offerSnapshot) : undefined);
1715
+ message.loadSnapshotChunk !== undefined && (obj.loadSnapshotChunk = message.loadSnapshotChunk ? exports.ResponseLoadSnapshotChunk.toJSON(message.loadSnapshotChunk) : undefined);
1716
+ message.applySnapshotChunk !== undefined && (obj.applySnapshotChunk = message.applySnapshotChunk ? exports.ResponseApplySnapshotChunk.toJSON(message.applySnapshotChunk) : undefined);
1717
+ message.prepareProposal !== undefined && (obj.prepareProposal = message.prepareProposal ? exports.ResponsePrepareProposal.toJSON(message.prepareProposal) : undefined);
1718
+ message.processProposal !== undefined && (obj.processProposal = message.processProposal ? exports.ResponseProcessProposal.toJSON(message.processProposal) : undefined);
1719
+ return obj;
1720
+ },
1721
+ fromPartial(object) {
1722
+ const message = createBaseResponse();
1723
+ message.exception = object.exception !== undefined && object.exception !== null ? exports.ResponseException.fromPartial(object.exception) : undefined;
1724
+ message.echo = object.echo !== undefined && object.echo !== null ? exports.ResponseEcho.fromPartial(object.echo) : undefined;
1725
+ message.flush = object.flush !== undefined && object.flush !== null ? exports.ResponseFlush.fromPartial(object.flush) : undefined;
1726
+ message.info = object.info !== undefined && object.info !== null ? exports.ResponseInfo.fromPartial(object.info) : undefined;
1727
+ message.initChain = object.initChain !== undefined && object.initChain !== null ? exports.ResponseInitChain.fromPartial(object.initChain) : undefined;
1728
+ message.query = object.query !== undefined && object.query !== null ? exports.ResponseQuery.fromPartial(object.query) : undefined;
1729
+ message.beginBlock = object.beginBlock !== undefined && object.beginBlock !== null ? exports.ResponseBeginBlock.fromPartial(object.beginBlock) : undefined;
1730
+ message.checkTx = object.checkTx !== undefined && object.checkTx !== null ? exports.ResponseCheckTx.fromPartial(object.checkTx) : undefined;
1731
+ message.deliverTx = object.deliverTx !== undefined && object.deliverTx !== null ? exports.ResponseDeliverTx.fromPartial(object.deliverTx) : undefined;
1732
+ message.endBlock = object.endBlock !== undefined && object.endBlock !== null ? exports.ResponseEndBlock.fromPartial(object.endBlock) : undefined;
1733
+ message.commit = object.commit !== undefined && object.commit !== null ? exports.ResponseCommit.fromPartial(object.commit) : undefined;
1734
+ message.listSnapshots = object.listSnapshots !== undefined && object.listSnapshots !== null ? exports.ResponseListSnapshots.fromPartial(object.listSnapshots) : undefined;
1735
+ message.offerSnapshot = object.offerSnapshot !== undefined && object.offerSnapshot !== null ? exports.ResponseOfferSnapshot.fromPartial(object.offerSnapshot) : undefined;
1736
+ message.loadSnapshotChunk = object.loadSnapshotChunk !== undefined && object.loadSnapshotChunk !== null ? exports.ResponseLoadSnapshotChunk.fromPartial(object.loadSnapshotChunk) : undefined;
1737
+ message.applySnapshotChunk = object.applySnapshotChunk !== undefined && object.applySnapshotChunk !== null ? exports.ResponseApplySnapshotChunk.fromPartial(object.applySnapshotChunk) : undefined;
1738
+ message.prepareProposal = object.prepareProposal !== undefined && object.prepareProposal !== null ? exports.ResponsePrepareProposal.fromPartial(object.prepareProposal) : undefined;
1739
+ message.processProposal = object.processProposal !== undefined && object.processProposal !== null ? exports.ResponseProcessProposal.fromPartial(object.processProposal) : undefined;
1740
+ return message;
1741
+ }
1742
+ };
1743
+ function createBaseResponseException() {
1744
+ return {
1745
+ error: ""
1746
+ };
1747
+ }
1748
+ exports.ResponseException = {
1749
+ encode(message, writer = _m0.Writer.create()) {
1750
+ if (message.error !== "") {
1751
+ writer.uint32(10).string(message.error);
1752
+ }
1753
+ return writer;
1754
+ },
1755
+ decode(input, length) {
1756
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1757
+ let end = length === undefined ? reader.len : reader.pos + length;
1758
+ const message = createBaseResponseException();
1759
+ while (reader.pos < end) {
1760
+ const tag = reader.uint32();
1761
+ switch (tag >>> 3) {
1762
+ case 1:
1763
+ message.error = reader.string();
1764
+ break;
1765
+ default:
1766
+ reader.skipType(tag & 7);
1767
+ break;
1768
+ }
1769
+ }
1770
+ return message;
1771
+ },
1772
+ fromJSON(object) {
1773
+ return {
1774
+ error: (0, helpers_1.isSet)(object.error) ? String(object.error) : ""
1775
+ };
1776
+ },
1777
+ toJSON(message) {
1778
+ const obj = {};
1779
+ message.error !== undefined && (obj.error = message.error);
1780
+ return obj;
1781
+ },
1782
+ fromPartial(object) {
1783
+ var _a;
1784
+ const message = createBaseResponseException();
1785
+ message.error = (_a = object.error) !== null && _a !== void 0 ? _a : "";
1786
+ return message;
1787
+ }
1788
+ };
1789
+ function createBaseResponseEcho() {
1790
+ return {
1791
+ message: ""
1792
+ };
1793
+ }
1794
+ exports.ResponseEcho = {
1795
+ encode(message, writer = _m0.Writer.create()) {
1796
+ if (message.message !== "") {
1797
+ writer.uint32(10).string(message.message);
1798
+ }
1799
+ return writer;
1800
+ },
1801
+ decode(input, length) {
1802
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1803
+ let end = length === undefined ? reader.len : reader.pos + length;
1804
+ const message = createBaseResponseEcho();
1805
+ while (reader.pos < end) {
1806
+ const tag = reader.uint32();
1807
+ switch (tag >>> 3) {
1808
+ case 1:
1809
+ message.message = reader.string();
1810
+ break;
1811
+ default:
1812
+ reader.skipType(tag & 7);
1813
+ break;
1814
+ }
1815
+ }
1816
+ return message;
1817
+ },
1818
+ fromJSON(object) {
1819
+ return {
1820
+ message: (0, helpers_1.isSet)(object.message) ? String(object.message) : ""
1821
+ };
1822
+ },
1823
+ toJSON(message) {
1824
+ const obj = {};
1825
+ message.message !== undefined && (obj.message = message.message);
1826
+ return obj;
1827
+ },
1828
+ fromPartial(object) {
1829
+ var _a;
1830
+ const message = createBaseResponseEcho();
1831
+ message.message = (_a = object.message) !== null && _a !== void 0 ? _a : "";
1832
+ return message;
1833
+ }
1834
+ };
1835
+ function createBaseResponseFlush() {
1836
+ return {};
1837
+ }
1838
+ exports.ResponseFlush = {
1839
+ encode(_, writer = _m0.Writer.create()) {
1840
+ return writer;
1841
+ },
1842
+ decode(input, length) {
1843
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1844
+ let end = length === undefined ? reader.len : reader.pos + length;
1845
+ const message = createBaseResponseFlush();
1846
+ while (reader.pos < end) {
1847
+ const tag = reader.uint32();
1848
+ switch (tag >>> 3) {
1849
+ default:
1850
+ reader.skipType(tag & 7);
1851
+ break;
1852
+ }
1853
+ }
1854
+ return message;
1855
+ },
1856
+ fromJSON(_) {
1857
+ return {};
1858
+ },
1859
+ toJSON(_) {
1860
+ const obj = {};
1861
+ return obj;
1862
+ },
1863
+ fromPartial(_) {
1864
+ const message = createBaseResponseFlush();
1865
+ return message;
1866
+ }
1867
+ };
1868
+ function createBaseResponseInfo() {
1869
+ return {
1870
+ data: "",
1871
+ version: "",
1872
+ appVersion: helpers_1.Long.UZERO,
1873
+ lastBlockHeight: helpers_1.Long.ZERO,
1874
+ lastBlockAppHash: new Uint8Array()
1875
+ };
1876
+ }
1877
+ exports.ResponseInfo = {
1878
+ encode(message, writer = _m0.Writer.create()) {
1879
+ if (message.data !== "") {
1880
+ writer.uint32(10).string(message.data);
1881
+ }
1882
+ if (message.version !== "") {
1883
+ writer.uint32(18).string(message.version);
1884
+ }
1885
+ if (!message.appVersion.isZero()) {
1886
+ writer.uint32(24).uint64(message.appVersion);
1887
+ }
1888
+ if (!message.lastBlockHeight.isZero()) {
1889
+ writer.uint32(32).int64(message.lastBlockHeight);
1890
+ }
1891
+ if (message.lastBlockAppHash.length !== 0) {
1892
+ writer.uint32(42).bytes(message.lastBlockAppHash);
1893
+ }
1894
+ return writer;
1895
+ },
1896
+ decode(input, length) {
1897
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1898
+ let end = length === undefined ? reader.len : reader.pos + length;
1899
+ const message = createBaseResponseInfo();
1900
+ while (reader.pos < end) {
1901
+ const tag = reader.uint32();
1902
+ switch (tag >>> 3) {
1903
+ case 1:
1904
+ message.data = reader.string();
1905
+ break;
1906
+ case 2:
1907
+ message.version = reader.string();
1908
+ break;
1909
+ case 3:
1910
+ message.appVersion = reader.uint64();
1911
+ break;
1912
+ case 4:
1913
+ message.lastBlockHeight = reader.int64();
1914
+ break;
1915
+ case 5:
1916
+ message.lastBlockAppHash = reader.bytes();
1917
+ break;
1918
+ default:
1919
+ reader.skipType(tag & 7);
1920
+ break;
1921
+ }
1922
+ }
1923
+ return message;
1924
+ },
1925
+ fromJSON(object) {
1926
+ return {
1927
+ data: (0, helpers_1.isSet)(object.data) ? String(object.data) : "",
1928
+ version: (0, helpers_1.isSet)(object.version) ? String(object.version) : "",
1929
+ appVersion: (0, helpers_1.isSet)(object.appVersion) ? helpers_1.Long.fromValue(object.appVersion) : helpers_1.Long.UZERO,
1930
+ lastBlockHeight: (0, helpers_1.isSet)(object.lastBlockHeight) ? helpers_1.Long.fromValue(object.lastBlockHeight) : helpers_1.Long.ZERO,
1931
+ lastBlockAppHash: (0, helpers_1.isSet)(object.lastBlockAppHash) ? (0, helpers_1.bytesFromBase64)(object.lastBlockAppHash) : new Uint8Array()
1932
+ };
1933
+ },
1934
+ toJSON(message) {
1935
+ const obj = {};
1936
+ message.data !== undefined && (obj.data = message.data);
1937
+ message.version !== undefined && (obj.version = message.version);
1938
+ message.appVersion !== undefined && (obj.appVersion = (message.appVersion || helpers_1.Long.UZERO).toString());
1939
+ message.lastBlockHeight !== undefined && (obj.lastBlockHeight = (message.lastBlockHeight || helpers_1.Long.ZERO).toString());
1940
+ message.lastBlockAppHash !== undefined && (obj.lastBlockAppHash = (0, helpers_1.base64FromBytes)(message.lastBlockAppHash !== undefined ? message.lastBlockAppHash : new Uint8Array()));
1941
+ return obj;
1942
+ },
1943
+ fromPartial(object) {
1944
+ var _a, _b, _c;
1945
+ const message = createBaseResponseInfo();
1946
+ message.data = (_a = object.data) !== null && _a !== void 0 ? _a : "";
1947
+ message.version = (_b = object.version) !== null && _b !== void 0 ? _b : "";
1948
+ message.appVersion = object.appVersion !== undefined && object.appVersion !== null ? helpers_1.Long.fromValue(object.appVersion) : helpers_1.Long.UZERO;
1949
+ message.lastBlockHeight = object.lastBlockHeight !== undefined && object.lastBlockHeight !== null ? helpers_1.Long.fromValue(object.lastBlockHeight) : helpers_1.Long.ZERO;
1950
+ message.lastBlockAppHash = (_c = object.lastBlockAppHash) !== null && _c !== void 0 ? _c : new Uint8Array();
1951
+ return message;
1952
+ }
1953
+ };
1954
+ function createBaseResponseInitChain() {
1955
+ return {
1956
+ consensusParams: undefined,
1957
+ validators: [],
1958
+ appHash: new Uint8Array()
1959
+ };
1960
+ }
1961
+ exports.ResponseInitChain = {
1962
+ encode(message, writer = _m0.Writer.create()) {
1963
+ if (message.consensusParams !== undefined) {
1964
+ params_1.ConsensusParams.encode(message.consensusParams, writer.uint32(10).fork()).ldelim();
1965
+ }
1966
+ for (const v of message.validators) {
1967
+ exports.ValidatorUpdate.encode(v, writer.uint32(18).fork()).ldelim();
1968
+ }
1969
+ if (message.appHash.length !== 0) {
1970
+ writer.uint32(26).bytes(message.appHash);
1971
+ }
1972
+ return writer;
1973
+ },
1974
+ decode(input, length) {
1975
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
1976
+ let end = length === undefined ? reader.len : reader.pos + length;
1977
+ const message = createBaseResponseInitChain();
1978
+ while (reader.pos < end) {
1979
+ const tag = reader.uint32();
1980
+ switch (tag >>> 3) {
1981
+ case 1:
1982
+ message.consensusParams = params_1.ConsensusParams.decode(reader, reader.uint32());
1983
+ break;
1984
+ case 2:
1985
+ message.validators.push(exports.ValidatorUpdate.decode(reader, reader.uint32()));
1986
+ break;
1987
+ case 3:
1988
+ message.appHash = reader.bytes();
1989
+ break;
1990
+ default:
1991
+ reader.skipType(tag & 7);
1992
+ break;
1993
+ }
1994
+ }
1995
+ return message;
1996
+ },
1997
+ fromJSON(object) {
1998
+ return {
1999
+ consensusParams: (0, helpers_1.isSet)(object.consensusParams) ? params_1.ConsensusParams.fromJSON(object.consensusParams) : undefined,
2000
+ validators: Array.isArray(object === null || object === void 0 ? void 0 : object.validators) ? object.validators.map((e) => exports.ValidatorUpdate.fromJSON(e)) : [],
2001
+ appHash: (0, helpers_1.isSet)(object.appHash) ? (0, helpers_1.bytesFromBase64)(object.appHash) : new Uint8Array()
2002
+ };
2003
+ },
2004
+ toJSON(message) {
2005
+ const obj = {};
2006
+ message.consensusParams !== undefined && (obj.consensusParams = message.consensusParams ? params_1.ConsensusParams.toJSON(message.consensusParams) : undefined);
2007
+ if (message.validators) {
2008
+ obj.validators = message.validators.map(e => e ? exports.ValidatorUpdate.toJSON(e) : undefined);
2009
+ }
2010
+ else {
2011
+ obj.validators = [];
2012
+ }
2013
+ message.appHash !== undefined && (obj.appHash = (0, helpers_1.base64FromBytes)(message.appHash !== undefined ? message.appHash : new Uint8Array()));
2014
+ return obj;
2015
+ },
2016
+ fromPartial(object) {
2017
+ var _a, _b;
2018
+ const message = createBaseResponseInitChain();
2019
+ message.consensusParams = object.consensusParams !== undefined && object.consensusParams !== null ? params_1.ConsensusParams.fromPartial(object.consensusParams) : undefined;
2020
+ message.validators = ((_a = object.validators) === null || _a === void 0 ? void 0 : _a.map(e => exports.ValidatorUpdate.fromPartial(e))) || [];
2021
+ message.appHash = (_b = object.appHash) !== null && _b !== void 0 ? _b : new Uint8Array();
2022
+ return message;
2023
+ }
2024
+ };
2025
+ function createBaseResponseQuery() {
2026
+ return {
2027
+ code: 0,
2028
+ log: "",
2029
+ info: "",
2030
+ index: helpers_1.Long.ZERO,
2031
+ key: new Uint8Array(),
2032
+ value: new Uint8Array(),
2033
+ proofOps: undefined,
2034
+ height: helpers_1.Long.ZERO,
2035
+ codespace: ""
2036
+ };
2037
+ }
2038
+ exports.ResponseQuery = {
2039
+ encode(message, writer = _m0.Writer.create()) {
2040
+ if (message.code !== 0) {
2041
+ writer.uint32(8).uint32(message.code);
2042
+ }
2043
+ if (message.log !== "") {
2044
+ writer.uint32(26).string(message.log);
2045
+ }
2046
+ if (message.info !== "") {
2047
+ writer.uint32(34).string(message.info);
2048
+ }
2049
+ if (!message.index.isZero()) {
2050
+ writer.uint32(40).int64(message.index);
2051
+ }
2052
+ if (message.key.length !== 0) {
2053
+ writer.uint32(50).bytes(message.key);
2054
+ }
2055
+ if (message.value.length !== 0) {
2056
+ writer.uint32(58).bytes(message.value);
2057
+ }
2058
+ if (message.proofOps !== undefined) {
2059
+ proof_1.ProofOps.encode(message.proofOps, writer.uint32(66).fork()).ldelim();
2060
+ }
2061
+ if (!message.height.isZero()) {
2062
+ writer.uint32(72).int64(message.height);
2063
+ }
2064
+ if (message.codespace !== "") {
2065
+ writer.uint32(82).string(message.codespace);
2066
+ }
2067
+ return writer;
2068
+ },
2069
+ decode(input, length) {
2070
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2071
+ let end = length === undefined ? reader.len : reader.pos + length;
2072
+ const message = createBaseResponseQuery();
2073
+ while (reader.pos < end) {
2074
+ const tag = reader.uint32();
2075
+ switch (tag >>> 3) {
2076
+ case 1:
2077
+ message.code = reader.uint32();
2078
+ break;
2079
+ case 3:
2080
+ message.log = reader.string();
2081
+ break;
2082
+ case 4:
2083
+ message.info = reader.string();
2084
+ break;
2085
+ case 5:
2086
+ message.index = reader.int64();
2087
+ break;
2088
+ case 6:
2089
+ message.key = reader.bytes();
2090
+ break;
2091
+ case 7:
2092
+ message.value = reader.bytes();
2093
+ break;
2094
+ case 8:
2095
+ message.proofOps = proof_1.ProofOps.decode(reader, reader.uint32());
2096
+ break;
2097
+ case 9:
2098
+ message.height = reader.int64();
2099
+ break;
2100
+ case 10:
2101
+ message.codespace = reader.string();
2102
+ break;
2103
+ default:
2104
+ reader.skipType(tag & 7);
2105
+ break;
2106
+ }
2107
+ }
2108
+ return message;
2109
+ },
2110
+ fromJSON(object) {
2111
+ return {
2112
+ code: (0, helpers_1.isSet)(object.code) ? Number(object.code) : 0,
2113
+ log: (0, helpers_1.isSet)(object.log) ? String(object.log) : "",
2114
+ info: (0, helpers_1.isSet)(object.info) ? String(object.info) : "",
2115
+ index: (0, helpers_1.isSet)(object.index) ? helpers_1.Long.fromValue(object.index) : helpers_1.Long.ZERO,
2116
+ key: (0, helpers_1.isSet)(object.key) ? (0, helpers_1.bytesFromBase64)(object.key) : new Uint8Array(),
2117
+ value: (0, helpers_1.isSet)(object.value) ? (0, helpers_1.bytesFromBase64)(object.value) : new Uint8Array(),
2118
+ proofOps: (0, helpers_1.isSet)(object.proofOps) ? proof_1.ProofOps.fromJSON(object.proofOps) : undefined,
2119
+ height: (0, helpers_1.isSet)(object.height) ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO,
2120
+ codespace: (0, helpers_1.isSet)(object.codespace) ? String(object.codespace) : ""
2121
+ };
2122
+ },
2123
+ toJSON(message) {
2124
+ const obj = {};
2125
+ message.code !== undefined && (obj.code = Math.round(message.code));
2126
+ message.log !== undefined && (obj.log = message.log);
2127
+ message.info !== undefined && (obj.info = message.info);
2128
+ message.index !== undefined && (obj.index = (message.index || helpers_1.Long.ZERO).toString());
2129
+ message.key !== undefined && (obj.key = (0, helpers_1.base64FromBytes)(message.key !== undefined ? message.key : new Uint8Array()));
2130
+ message.value !== undefined && (obj.value = (0, helpers_1.base64FromBytes)(message.value !== undefined ? message.value : new Uint8Array()));
2131
+ message.proofOps !== undefined && (obj.proofOps = message.proofOps ? proof_1.ProofOps.toJSON(message.proofOps) : undefined);
2132
+ message.height !== undefined && (obj.height = (message.height || helpers_1.Long.ZERO).toString());
2133
+ message.codespace !== undefined && (obj.codespace = message.codespace);
2134
+ return obj;
2135
+ },
2136
+ fromPartial(object) {
2137
+ var _a, _b, _c, _d, _e, _f;
2138
+ const message = createBaseResponseQuery();
2139
+ message.code = (_a = object.code) !== null && _a !== void 0 ? _a : 0;
2140
+ message.log = (_b = object.log) !== null && _b !== void 0 ? _b : "";
2141
+ message.info = (_c = object.info) !== null && _c !== void 0 ? _c : "";
2142
+ message.index = object.index !== undefined && object.index !== null ? helpers_1.Long.fromValue(object.index) : helpers_1.Long.ZERO;
2143
+ message.key = (_d = object.key) !== null && _d !== void 0 ? _d : new Uint8Array();
2144
+ message.value = (_e = object.value) !== null && _e !== void 0 ? _e : new Uint8Array();
2145
+ message.proofOps = object.proofOps !== undefined && object.proofOps !== null ? proof_1.ProofOps.fromPartial(object.proofOps) : undefined;
2146
+ message.height = object.height !== undefined && object.height !== null ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO;
2147
+ message.codespace = (_f = object.codespace) !== null && _f !== void 0 ? _f : "";
2148
+ return message;
2149
+ }
2150
+ };
2151
+ function createBaseResponseBeginBlock() {
2152
+ return {
2153
+ events: []
2154
+ };
2155
+ }
2156
+ exports.ResponseBeginBlock = {
2157
+ encode(message, writer = _m0.Writer.create()) {
2158
+ for (const v of message.events) {
2159
+ exports.Event.encode(v, writer.uint32(10).fork()).ldelim();
2160
+ }
2161
+ return writer;
2162
+ },
2163
+ decode(input, length) {
2164
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2165
+ let end = length === undefined ? reader.len : reader.pos + length;
2166
+ const message = createBaseResponseBeginBlock();
2167
+ while (reader.pos < end) {
2168
+ const tag = reader.uint32();
2169
+ switch (tag >>> 3) {
2170
+ case 1:
2171
+ message.events.push(exports.Event.decode(reader, reader.uint32()));
2172
+ break;
2173
+ default:
2174
+ reader.skipType(tag & 7);
2175
+ break;
2176
+ }
2177
+ }
2178
+ return message;
2179
+ },
2180
+ fromJSON(object) {
2181
+ return {
2182
+ events: Array.isArray(object === null || object === void 0 ? void 0 : object.events) ? object.events.map((e) => exports.Event.fromJSON(e)) : []
2183
+ };
2184
+ },
2185
+ toJSON(message) {
2186
+ const obj = {};
2187
+ if (message.events) {
2188
+ obj.events = message.events.map(e => e ? exports.Event.toJSON(e) : undefined);
2189
+ }
2190
+ else {
2191
+ obj.events = [];
2192
+ }
2193
+ return obj;
2194
+ },
2195
+ fromPartial(object) {
2196
+ var _a;
2197
+ const message = createBaseResponseBeginBlock();
2198
+ message.events = ((_a = object.events) === null || _a === void 0 ? void 0 : _a.map(e => exports.Event.fromPartial(e))) || [];
2199
+ return message;
2200
+ }
2201
+ };
2202
+ function createBaseResponseCheckTx() {
2203
+ return {
2204
+ code: 0,
2205
+ data: new Uint8Array(),
2206
+ log: "",
2207
+ info: "",
2208
+ gasWanted: helpers_1.Long.ZERO,
2209
+ gasUsed: helpers_1.Long.ZERO,
2210
+ events: [],
2211
+ codespace: "",
2212
+ sender: "",
2213
+ priority: helpers_1.Long.ZERO,
2214
+ mempoolError: ""
2215
+ };
2216
+ }
2217
+ exports.ResponseCheckTx = {
2218
+ encode(message, writer = _m0.Writer.create()) {
2219
+ if (message.code !== 0) {
2220
+ writer.uint32(8).uint32(message.code);
2221
+ }
2222
+ if (message.data.length !== 0) {
2223
+ writer.uint32(18).bytes(message.data);
2224
+ }
2225
+ if (message.log !== "") {
2226
+ writer.uint32(26).string(message.log);
2227
+ }
2228
+ if (message.info !== "") {
2229
+ writer.uint32(34).string(message.info);
2230
+ }
2231
+ if (!message.gasWanted.isZero()) {
2232
+ writer.uint32(40).int64(message.gasWanted);
2233
+ }
2234
+ if (!message.gasUsed.isZero()) {
2235
+ writer.uint32(48).int64(message.gasUsed);
2236
+ }
2237
+ for (const v of message.events) {
2238
+ exports.Event.encode(v, writer.uint32(58).fork()).ldelim();
2239
+ }
2240
+ if (message.codespace !== "") {
2241
+ writer.uint32(66).string(message.codespace);
2242
+ }
2243
+ if (message.sender !== "") {
2244
+ writer.uint32(74).string(message.sender);
2245
+ }
2246
+ if (!message.priority.isZero()) {
2247
+ writer.uint32(80).int64(message.priority);
2248
+ }
2249
+ if (message.mempoolError !== "") {
2250
+ writer.uint32(90).string(message.mempoolError);
2251
+ }
2252
+ return writer;
2253
+ },
2254
+ decode(input, length) {
2255
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2256
+ let end = length === undefined ? reader.len : reader.pos + length;
2257
+ const message = createBaseResponseCheckTx();
2258
+ while (reader.pos < end) {
2259
+ const tag = reader.uint32();
2260
+ switch (tag >>> 3) {
2261
+ case 1:
2262
+ message.code = reader.uint32();
2263
+ break;
2264
+ case 2:
2265
+ message.data = reader.bytes();
2266
+ break;
2267
+ case 3:
2268
+ message.log = reader.string();
2269
+ break;
2270
+ case 4:
2271
+ message.info = reader.string();
2272
+ break;
2273
+ case 5:
2274
+ message.gasWanted = reader.int64();
2275
+ break;
2276
+ case 6:
2277
+ message.gasUsed = reader.int64();
2278
+ break;
2279
+ case 7:
2280
+ message.events.push(exports.Event.decode(reader, reader.uint32()));
2281
+ break;
2282
+ case 8:
2283
+ message.codespace = reader.string();
2284
+ break;
2285
+ case 9:
2286
+ message.sender = reader.string();
2287
+ break;
2288
+ case 10:
2289
+ message.priority = reader.int64();
2290
+ break;
2291
+ case 11:
2292
+ message.mempoolError = reader.string();
2293
+ break;
2294
+ default:
2295
+ reader.skipType(tag & 7);
2296
+ break;
2297
+ }
2298
+ }
2299
+ return message;
2300
+ },
2301
+ fromJSON(object) {
2302
+ return {
2303
+ code: (0, helpers_1.isSet)(object.code) ? Number(object.code) : 0,
2304
+ data: (0, helpers_1.isSet)(object.data) ? (0, helpers_1.bytesFromBase64)(object.data) : new Uint8Array(),
2305
+ log: (0, helpers_1.isSet)(object.log) ? String(object.log) : "",
2306
+ info: (0, helpers_1.isSet)(object.info) ? String(object.info) : "",
2307
+ gasWanted: (0, helpers_1.isSet)(object.gas_wanted) ? helpers_1.Long.fromValue(object.gas_wanted) : helpers_1.Long.ZERO,
2308
+ gasUsed: (0, helpers_1.isSet)(object.gas_used) ? helpers_1.Long.fromValue(object.gas_used) : helpers_1.Long.ZERO,
2309
+ events: Array.isArray(object === null || object === void 0 ? void 0 : object.events) ? object.events.map((e) => exports.Event.fromJSON(e)) : [],
2310
+ codespace: (0, helpers_1.isSet)(object.codespace) ? String(object.codespace) : "",
2311
+ sender: (0, helpers_1.isSet)(object.sender) ? String(object.sender) : "",
2312
+ priority: (0, helpers_1.isSet)(object.priority) ? helpers_1.Long.fromValue(object.priority) : helpers_1.Long.ZERO,
2313
+ mempoolError: (0, helpers_1.isSet)(object.mempoolError) ? String(object.mempoolError) : ""
2314
+ };
2315
+ },
2316
+ toJSON(message) {
2317
+ const obj = {};
2318
+ message.code !== undefined && (obj.code = Math.round(message.code));
2319
+ message.data !== undefined && (obj.data = (0, helpers_1.base64FromBytes)(message.data !== undefined ? message.data : new Uint8Array()));
2320
+ message.log !== undefined && (obj.log = message.log);
2321
+ message.info !== undefined && (obj.info = message.info);
2322
+ message.gasWanted !== undefined && (obj.gas_wanted = (message.gasWanted || helpers_1.Long.ZERO).toString());
2323
+ message.gasUsed !== undefined && (obj.gas_used = (message.gasUsed || helpers_1.Long.ZERO).toString());
2324
+ if (message.events) {
2325
+ obj.events = message.events.map(e => e ? exports.Event.toJSON(e) : undefined);
2326
+ }
2327
+ else {
2328
+ obj.events = [];
2329
+ }
2330
+ message.codespace !== undefined && (obj.codespace = message.codespace);
2331
+ message.sender !== undefined && (obj.sender = message.sender);
2332
+ message.priority !== undefined && (obj.priority = (message.priority || helpers_1.Long.ZERO).toString());
2333
+ message.mempoolError !== undefined && (obj.mempoolError = message.mempoolError);
2334
+ return obj;
2335
+ },
2336
+ fromPartial(object) {
2337
+ var _a, _b, _c, _d, _e, _f, _g, _h;
2338
+ const message = createBaseResponseCheckTx();
2339
+ message.code = (_a = object.code) !== null && _a !== void 0 ? _a : 0;
2340
+ message.data = (_b = object.data) !== null && _b !== void 0 ? _b : new Uint8Array();
2341
+ message.log = (_c = object.log) !== null && _c !== void 0 ? _c : "";
2342
+ message.info = (_d = object.info) !== null && _d !== void 0 ? _d : "";
2343
+ message.gasWanted = object.gasWanted !== undefined && object.gasWanted !== null ? helpers_1.Long.fromValue(object.gasWanted) : helpers_1.Long.ZERO;
2344
+ message.gasUsed = object.gasUsed !== undefined && object.gasUsed !== null ? helpers_1.Long.fromValue(object.gasUsed) : helpers_1.Long.ZERO;
2345
+ message.events = ((_e = object.events) === null || _e === void 0 ? void 0 : _e.map(e => exports.Event.fromPartial(e))) || [];
2346
+ message.codespace = (_f = object.codespace) !== null && _f !== void 0 ? _f : "";
2347
+ message.sender = (_g = object.sender) !== null && _g !== void 0 ? _g : "";
2348
+ message.priority = object.priority !== undefined && object.priority !== null ? helpers_1.Long.fromValue(object.priority) : helpers_1.Long.ZERO;
2349
+ message.mempoolError = (_h = object.mempoolError) !== null && _h !== void 0 ? _h : "";
2350
+ return message;
2351
+ }
2352
+ };
2353
+ function createBaseResponseDeliverTx() {
2354
+ return {
2355
+ code: 0,
2356
+ data: new Uint8Array(),
2357
+ log: "",
2358
+ info: "",
2359
+ gasWanted: helpers_1.Long.ZERO,
2360
+ gasUsed: helpers_1.Long.ZERO,
2361
+ events: [],
2362
+ codespace: ""
2363
+ };
2364
+ }
2365
+ exports.ResponseDeliverTx = {
2366
+ encode(message, writer = _m0.Writer.create()) {
2367
+ if (message.code !== 0) {
2368
+ writer.uint32(8).uint32(message.code);
2369
+ }
2370
+ if (message.data.length !== 0) {
2371
+ writer.uint32(18).bytes(message.data);
2372
+ }
2373
+ if (message.log !== "") {
2374
+ writer.uint32(26).string(message.log);
2375
+ }
2376
+ if (message.info !== "") {
2377
+ writer.uint32(34).string(message.info);
2378
+ }
2379
+ if (!message.gasWanted.isZero()) {
2380
+ writer.uint32(40).int64(message.gasWanted);
2381
+ }
2382
+ if (!message.gasUsed.isZero()) {
2383
+ writer.uint32(48).int64(message.gasUsed);
2384
+ }
2385
+ for (const v of message.events) {
2386
+ exports.Event.encode(v, writer.uint32(58).fork()).ldelim();
2387
+ }
2388
+ if (message.codespace !== "") {
2389
+ writer.uint32(66).string(message.codespace);
2390
+ }
2391
+ return writer;
2392
+ },
2393
+ decode(input, length) {
2394
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2395
+ let end = length === undefined ? reader.len : reader.pos + length;
2396
+ const message = createBaseResponseDeliverTx();
2397
+ while (reader.pos < end) {
2398
+ const tag = reader.uint32();
2399
+ switch (tag >>> 3) {
2400
+ case 1:
2401
+ message.code = reader.uint32();
2402
+ break;
2403
+ case 2:
2404
+ message.data = reader.bytes();
2405
+ break;
2406
+ case 3:
2407
+ message.log = reader.string();
2408
+ break;
2409
+ case 4:
2410
+ message.info = reader.string();
2411
+ break;
2412
+ case 5:
2413
+ message.gasWanted = reader.int64();
2414
+ break;
2415
+ case 6:
2416
+ message.gasUsed = reader.int64();
2417
+ break;
2418
+ case 7:
2419
+ message.events.push(exports.Event.decode(reader, reader.uint32()));
2420
+ break;
2421
+ case 8:
2422
+ message.codespace = reader.string();
2423
+ break;
2424
+ default:
2425
+ reader.skipType(tag & 7);
2426
+ break;
2427
+ }
2428
+ }
2429
+ return message;
2430
+ },
2431
+ fromJSON(object) {
2432
+ return {
2433
+ code: (0, helpers_1.isSet)(object.code) ? Number(object.code) : 0,
2434
+ data: (0, helpers_1.isSet)(object.data) ? (0, helpers_1.bytesFromBase64)(object.data) : new Uint8Array(),
2435
+ log: (0, helpers_1.isSet)(object.log) ? String(object.log) : "",
2436
+ info: (0, helpers_1.isSet)(object.info) ? String(object.info) : "",
2437
+ gasWanted: (0, helpers_1.isSet)(object.gas_wanted) ? helpers_1.Long.fromValue(object.gas_wanted) : helpers_1.Long.ZERO,
2438
+ gasUsed: (0, helpers_1.isSet)(object.gas_used) ? helpers_1.Long.fromValue(object.gas_used) : helpers_1.Long.ZERO,
2439
+ events: Array.isArray(object === null || object === void 0 ? void 0 : object.events) ? object.events.map((e) => exports.Event.fromJSON(e)) : [],
2440
+ codespace: (0, helpers_1.isSet)(object.codespace) ? String(object.codespace) : ""
2441
+ };
2442
+ },
2443
+ toJSON(message) {
2444
+ const obj = {};
2445
+ message.code !== undefined && (obj.code = Math.round(message.code));
2446
+ message.data !== undefined && (obj.data = (0, helpers_1.base64FromBytes)(message.data !== undefined ? message.data : new Uint8Array()));
2447
+ message.log !== undefined && (obj.log = message.log);
2448
+ message.info !== undefined && (obj.info = message.info);
2449
+ message.gasWanted !== undefined && (obj.gas_wanted = (message.gasWanted || helpers_1.Long.ZERO).toString());
2450
+ message.gasUsed !== undefined && (obj.gas_used = (message.gasUsed || helpers_1.Long.ZERO).toString());
2451
+ if (message.events) {
2452
+ obj.events = message.events.map(e => e ? exports.Event.toJSON(e) : undefined);
2453
+ }
2454
+ else {
2455
+ obj.events = [];
2456
+ }
2457
+ message.codespace !== undefined && (obj.codespace = message.codespace);
2458
+ return obj;
2459
+ },
2460
+ fromPartial(object) {
2461
+ var _a, _b, _c, _d, _e, _f;
2462
+ const message = createBaseResponseDeliverTx();
2463
+ message.code = (_a = object.code) !== null && _a !== void 0 ? _a : 0;
2464
+ message.data = (_b = object.data) !== null && _b !== void 0 ? _b : new Uint8Array();
2465
+ message.log = (_c = object.log) !== null && _c !== void 0 ? _c : "";
2466
+ message.info = (_d = object.info) !== null && _d !== void 0 ? _d : "";
2467
+ message.gasWanted = object.gasWanted !== undefined && object.gasWanted !== null ? helpers_1.Long.fromValue(object.gasWanted) : helpers_1.Long.ZERO;
2468
+ message.gasUsed = object.gasUsed !== undefined && object.gasUsed !== null ? helpers_1.Long.fromValue(object.gasUsed) : helpers_1.Long.ZERO;
2469
+ message.events = ((_e = object.events) === null || _e === void 0 ? void 0 : _e.map(e => exports.Event.fromPartial(e))) || [];
2470
+ message.codespace = (_f = object.codespace) !== null && _f !== void 0 ? _f : "";
2471
+ return message;
2472
+ }
2473
+ };
2474
+ function createBaseResponseEndBlock() {
2475
+ return {
2476
+ validatorUpdates: [],
2477
+ consensusParamUpdates: undefined,
2478
+ events: []
2479
+ };
2480
+ }
2481
+ exports.ResponseEndBlock = {
2482
+ encode(message, writer = _m0.Writer.create()) {
2483
+ for (const v of message.validatorUpdates) {
2484
+ exports.ValidatorUpdate.encode(v, writer.uint32(10).fork()).ldelim();
2485
+ }
2486
+ if (message.consensusParamUpdates !== undefined) {
2487
+ params_1.ConsensusParams.encode(message.consensusParamUpdates, writer.uint32(18).fork()).ldelim();
2488
+ }
2489
+ for (const v of message.events) {
2490
+ exports.Event.encode(v, writer.uint32(26).fork()).ldelim();
2491
+ }
2492
+ return writer;
2493
+ },
2494
+ decode(input, length) {
2495
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2496
+ let end = length === undefined ? reader.len : reader.pos + length;
2497
+ const message = createBaseResponseEndBlock();
2498
+ while (reader.pos < end) {
2499
+ const tag = reader.uint32();
2500
+ switch (tag >>> 3) {
2501
+ case 1:
2502
+ message.validatorUpdates.push(exports.ValidatorUpdate.decode(reader, reader.uint32()));
2503
+ break;
2504
+ case 2:
2505
+ message.consensusParamUpdates = params_1.ConsensusParams.decode(reader, reader.uint32());
2506
+ break;
2507
+ case 3:
2508
+ message.events.push(exports.Event.decode(reader, reader.uint32()));
2509
+ break;
2510
+ default:
2511
+ reader.skipType(tag & 7);
2512
+ break;
2513
+ }
2514
+ }
2515
+ return message;
2516
+ },
2517
+ fromJSON(object) {
2518
+ return {
2519
+ validatorUpdates: Array.isArray(object === null || object === void 0 ? void 0 : object.validatorUpdates) ? object.validatorUpdates.map((e) => exports.ValidatorUpdate.fromJSON(e)) : [],
2520
+ consensusParamUpdates: (0, helpers_1.isSet)(object.consensusParamUpdates) ? params_1.ConsensusParams.fromJSON(object.consensusParamUpdates) : undefined,
2521
+ events: Array.isArray(object === null || object === void 0 ? void 0 : object.events) ? object.events.map((e) => exports.Event.fromJSON(e)) : []
2522
+ };
2523
+ },
2524
+ toJSON(message) {
2525
+ const obj = {};
2526
+ if (message.validatorUpdates) {
2527
+ obj.validatorUpdates = message.validatorUpdates.map(e => e ? exports.ValidatorUpdate.toJSON(e) : undefined);
2528
+ }
2529
+ else {
2530
+ obj.validatorUpdates = [];
2531
+ }
2532
+ message.consensusParamUpdates !== undefined && (obj.consensusParamUpdates = message.consensusParamUpdates ? params_1.ConsensusParams.toJSON(message.consensusParamUpdates) : undefined);
2533
+ if (message.events) {
2534
+ obj.events = message.events.map(e => e ? exports.Event.toJSON(e) : undefined);
2535
+ }
2536
+ else {
2537
+ obj.events = [];
2538
+ }
2539
+ return obj;
2540
+ },
2541
+ fromPartial(object) {
2542
+ var _a, _b;
2543
+ const message = createBaseResponseEndBlock();
2544
+ message.validatorUpdates = ((_a = object.validatorUpdates) === null || _a === void 0 ? void 0 : _a.map(e => exports.ValidatorUpdate.fromPartial(e))) || [];
2545
+ message.consensusParamUpdates = object.consensusParamUpdates !== undefined && object.consensusParamUpdates !== null ? params_1.ConsensusParams.fromPartial(object.consensusParamUpdates) : undefined;
2546
+ message.events = ((_b = object.events) === null || _b === void 0 ? void 0 : _b.map(e => exports.Event.fromPartial(e))) || [];
2547
+ return message;
2548
+ }
2549
+ };
2550
+ function createBaseResponseCommit() {
2551
+ return {
2552
+ data: new Uint8Array(),
2553
+ retainHeight: helpers_1.Long.ZERO
2554
+ };
2555
+ }
2556
+ exports.ResponseCommit = {
2557
+ encode(message, writer = _m0.Writer.create()) {
2558
+ if (message.data.length !== 0) {
2559
+ writer.uint32(18).bytes(message.data);
2560
+ }
2561
+ if (!message.retainHeight.isZero()) {
2562
+ writer.uint32(24).int64(message.retainHeight);
2563
+ }
2564
+ return writer;
2565
+ },
2566
+ decode(input, length) {
2567
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2568
+ let end = length === undefined ? reader.len : reader.pos + length;
2569
+ const message = createBaseResponseCommit();
2570
+ while (reader.pos < end) {
2571
+ const tag = reader.uint32();
2572
+ switch (tag >>> 3) {
2573
+ case 2:
2574
+ message.data = reader.bytes();
2575
+ break;
2576
+ case 3:
2577
+ message.retainHeight = reader.int64();
2578
+ break;
2579
+ default:
2580
+ reader.skipType(tag & 7);
2581
+ break;
2582
+ }
2583
+ }
2584
+ return message;
2585
+ },
2586
+ fromJSON(object) {
2587
+ return {
2588
+ data: (0, helpers_1.isSet)(object.data) ? (0, helpers_1.bytesFromBase64)(object.data) : new Uint8Array(),
2589
+ retainHeight: (0, helpers_1.isSet)(object.retainHeight) ? helpers_1.Long.fromValue(object.retainHeight) : helpers_1.Long.ZERO
2590
+ };
2591
+ },
2592
+ toJSON(message) {
2593
+ const obj = {};
2594
+ message.data !== undefined && (obj.data = (0, helpers_1.base64FromBytes)(message.data !== undefined ? message.data : new Uint8Array()));
2595
+ message.retainHeight !== undefined && (obj.retainHeight = (message.retainHeight || helpers_1.Long.ZERO).toString());
2596
+ return obj;
2597
+ },
2598
+ fromPartial(object) {
2599
+ var _a;
2600
+ const message = createBaseResponseCommit();
2601
+ message.data = (_a = object.data) !== null && _a !== void 0 ? _a : new Uint8Array();
2602
+ message.retainHeight = object.retainHeight !== undefined && object.retainHeight !== null ? helpers_1.Long.fromValue(object.retainHeight) : helpers_1.Long.ZERO;
2603
+ return message;
2604
+ }
2605
+ };
2606
+ function createBaseResponseListSnapshots() {
2607
+ return {
2608
+ snapshots: []
2609
+ };
2610
+ }
2611
+ exports.ResponseListSnapshots = {
2612
+ encode(message, writer = _m0.Writer.create()) {
2613
+ for (const v of message.snapshots) {
2614
+ exports.Snapshot.encode(v, writer.uint32(10).fork()).ldelim();
2615
+ }
2616
+ return writer;
2617
+ },
2618
+ decode(input, length) {
2619
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2620
+ let end = length === undefined ? reader.len : reader.pos + length;
2621
+ const message = createBaseResponseListSnapshots();
2622
+ while (reader.pos < end) {
2623
+ const tag = reader.uint32();
2624
+ switch (tag >>> 3) {
2625
+ case 1:
2626
+ message.snapshots.push(exports.Snapshot.decode(reader, reader.uint32()));
2627
+ break;
2628
+ default:
2629
+ reader.skipType(tag & 7);
2630
+ break;
2631
+ }
2632
+ }
2633
+ return message;
2634
+ },
2635
+ fromJSON(object) {
2636
+ return {
2637
+ snapshots: Array.isArray(object === null || object === void 0 ? void 0 : object.snapshots) ? object.snapshots.map((e) => exports.Snapshot.fromJSON(e)) : []
2638
+ };
2639
+ },
2640
+ toJSON(message) {
2641
+ const obj = {};
2642
+ if (message.snapshots) {
2643
+ obj.snapshots = message.snapshots.map(e => e ? exports.Snapshot.toJSON(e) : undefined);
2644
+ }
2645
+ else {
2646
+ obj.snapshots = [];
2647
+ }
2648
+ return obj;
2649
+ },
2650
+ fromPartial(object) {
2651
+ var _a;
2652
+ const message = createBaseResponseListSnapshots();
2653
+ message.snapshots = ((_a = object.snapshots) === null || _a === void 0 ? void 0 : _a.map(e => exports.Snapshot.fromPartial(e))) || [];
2654
+ return message;
2655
+ }
2656
+ };
2657
+ function createBaseResponseOfferSnapshot() {
2658
+ return {
2659
+ result: 0
2660
+ };
2661
+ }
2662
+ exports.ResponseOfferSnapshot = {
2663
+ encode(message, writer = _m0.Writer.create()) {
2664
+ if (message.result !== 0) {
2665
+ writer.uint32(8).int32(message.result);
2666
+ }
2667
+ return writer;
2668
+ },
2669
+ decode(input, length) {
2670
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2671
+ let end = length === undefined ? reader.len : reader.pos + length;
2672
+ const message = createBaseResponseOfferSnapshot();
2673
+ while (reader.pos < end) {
2674
+ const tag = reader.uint32();
2675
+ switch (tag >>> 3) {
2676
+ case 1:
2677
+ message.result = reader.int32();
2678
+ break;
2679
+ default:
2680
+ reader.skipType(tag & 7);
2681
+ break;
2682
+ }
2683
+ }
2684
+ return message;
2685
+ },
2686
+ fromJSON(object) {
2687
+ return {
2688
+ result: (0, helpers_1.isSet)(object.result) ? responseOfferSnapshot_ResultFromJSON(object.result) : 0
2689
+ };
2690
+ },
2691
+ toJSON(message) {
2692
+ const obj = {};
2693
+ message.result !== undefined && (obj.result = responseOfferSnapshot_ResultToJSON(message.result));
2694
+ return obj;
2695
+ },
2696
+ fromPartial(object) {
2697
+ var _a;
2698
+ const message = createBaseResponseOfferSnapshot();
2699
+ message.result = (_a = object.result) !== null && _a !== void 0 ? _a : 0;
2700
+ return message;
2701
+ }
2702
+ };
2703
+ function createBaseResponseLoadSnapshotChunk() {
2704
+ return {
2705
+ chunk: new Uint8Array()
2706
+ };
2707
+ }
2708
+ exports.ResponseLoadSnapshotChunk = {
2709
+ encode(message, writer = _m0.Writer.create()) {
2710
+ if (message.chunk.length !== 0) {
2711
+ writer.uint32(10).bytes(message.chunk);
2712
+ }
2713
+ return writer;
2714
+ },
2715
+ decode(input, length) {
2716
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2717
+ let end = length === undefined ? reader.len : reader.pos + length;
2718
+ const message = createBaseResponseLoadSnapshotChunk();
2719
+ while (reader.pos < end) {
2720
+ const tag = reader.uint32();
2721
+ switch (tag >>> 3) {
2722
+ case 1:
2723
+ message.chunk = reader.bytes();
2724
+ break;
2725
+ default:
2726
+ reader.skipType(tag & 7);
2727
+ break;
2728
+ }
2729
+ }
2730
+ return message;
2731
+ },
2732
+ fromJSON(object) {
2733
+ return {
2734
+ chunk: (0, helpers_1.isSet)(object.chunk) ? (0, helpers_1.bytesFromBase64)(object.chunk) : new Uint8Array()
2735
+ };
2736
+ },
2737
+ toJSON(message) {
2738
+ const obj = {};
2739
+ message.chunk !== undefined && (obj.chunk = (0, helpers_1.base64FromBytes)(message.chunk !== undefined ? message.chunk : new Uint8Array()));
2740
+ return obj;
2741
+ },
2742
+ fromPartial(object) {
2743
+ var _a;
2744
+ const message = createBaseResponseLoadSnapshotChunk();
2745
+ message.chunk = (_a = object.chunk) !== null && _a !== void 0 ? _a : new Uint8Array();
2746
+ return message;
2747
+ }
2748
+ };
2749
+ function createBaseResponseApplySnapshotChunk() {
2750
+ return {
2751
+ result: 0,
2752
+ refetchChunks: [],
2753
+ rejectSenders: []
2754
+ };
2755
+ }
2756
+ exports.ResponseApplySnapshotChunk = {
2757
+ encode(message, writer = _m0.Writer.create()) {
2758
+ if (message.result !== 0) {
2759
+ writer.uint32(8).int32(message.result);
2760
+ }
2761
+ writer.uint32(18).fork();
2762
+ for (const v of message.refetchChunks) {
2763
+ writer.uint32(v);
2764
+ }
2765
+ writer.ldelim();
2766
+ for (const v of message.rejectSenders) {
2767
+ writer.uint32(26).string(v);
2768
+ }
2769
+ return writer;
2770
+ },
2771
+ decode(input, length) {
2772
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2773
+ let end = length === undefined ? reader.len : reader.pos + length;
2774
+ const message = createBaseResponseApplySnapshotChunk();
2775
+ while (reader.pos < end) {
2776
+ const tag = reader.uint32();
2777
+ switch (tag >>> 3) {
2778
+ case 1:
2779
+ message.result = reader.int32();
2780
+ break;
2781
+ case 2:
2782
+ if ((tag & 7) === 2) {
2783
+ const end2 = reader.uint32() + reader.pos;
2784
+ while (reader.pos < end2) {
2785
+ message.refetchChunks.push(reader.uint32());
2786
+ }
2787
+ }
2788
+ else {
2789
+ message.refetchChunks.push(reader.uint32());
2790
+ }
2791
+ break;
2792
+ case 3:
2793
+ message.rejectSenders.push(reader.string());
2794
+ break;
2795
+ default:
2796
+ reader.skipType(tag & 7);
2797
+ break;
2798
+ }
2799
+ }
2800
+ return message;
2801
+ },
2802
+ fromJSON(object) {
2803
+ return {
2804
+ result: (0, helpers_1.isSet)(object.result) ? responseApplySnapshotChunk_ResultFromJSON(object.result) : 0,
2805
+ refetchChunks: Array.isArray(object === null || object === void 0 ? void 0 : object.refetchChunks) ? object.refetchChunks.map((e) => Number(e)) : [],
2806
+ rejectSenders: Array.isArray(object === null || object === void 0 ? void 0 : object.rejectSenders) ? object.rejectSenders.map((e) => String(e)) : []
2807
+ };
2808
+ },
2809
+ toJSON(message) {
2810
+ const obj = {};
2811
+ message.result !== undefined && (obj.result = responseApplySnapshotChunk_ResultToJSON(message.result));
2812
+ if (message.refetchChunks) {
2813
+ obj.refetchChunks = message.refetchChunks.map(e => Math.round(e));
2814
+ }
2815
+ else {
2816
+ obj.refetchChunks = [];
2817
+ }
2818
+ if (message.rejectSenders) {
2819
+ obj.rejectSenders = message.rejectSenders.map(e => e);
2820
+ }
2821
+ else {
2822
+ obj.rejectSenders = [];
2823
+ }
2824
+ return obj;
2825
+ },
2826
+ fromPartial(object) {
2827
+ var _a, _b, _c;
2828
+ const message = createBaseResponseApplySnapshotChunk();
2829
+ message.result = (_a = object.result) !== null && _a !== void 0 ? _a : 0;
2830
+ message.refetchChunks = ((_b = object.refetchChunks) === null || _b === void 0 ? void 0 : _b.map(e => e)) || [];
2831
+ message.rejectSenders = ((_c = object.rejectSenders) === null || _c === void 0 ? void 0 : _c.map(e => e)) || [];
2832
+ return message;
2833
+ }
2834
+ };
2835
+ function createBaseResponsePrepareProposal() {
2836
+ return {
2837
+ txs: []
2838
+ };
2839
+ }
2840
+ exports.ResponsePrepareProposal = {
2841
+ encode(message, writer = _m0.Writer.create()) {
2842
+ for (const v of message.txs) {
2843
+ writer.uint32(10).bytes(v);
2844
+ }
2845
+ return writer;
2846
+ },
2847
+ decode(input, length) {
2848
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2849
+ let end = length === undefined ? reader.len : reader.pos + length;
2850
+ const message = createBaseResponsePrepareProposal();
2851
+ while (reader.pos < end) {
2852
+ const tag = reader.uint32();
2853
+ switch (tag >>> 3) {
2854
+ case 1:
2855
+ message.txs.push(reader.bytes());
2856
+ break;
2857
+ default:
2858
+ reader.skipType(tag & 7);
2859
+ break;
2860
+ }
2861
+ }
2862
+ return message;
2863
+ },
2864
+ fromJSON(object) {
2865
+ return {
2866
+ txs: Array.isArray(object === null || object === void 0 ? void 0 : object.txs) ? object.txs.map((e) => (0, helpers_1.bytesFromBase64)(e)) : []
2867
+ };
2868
+ },
2869
+ toJSON(message) {
2870
+ const obj = {};
2871
+ if (message.txs) {
2872
+ obj.txs = message.txs.map(e => (0, helpers_1.base64FromBytes)(e !== undefined ? e : new Uint8Array()));
2873
+ }
2874
+ else {
2875
+ obj.txs = [];
2876
+ }
2877
+ return obj;
2878
+ },
2879
+ fromPartial(object) {
2880
+ var _a;
2881
+ const message = createBaseResponsePrepareProposal();
2882
+ message.txs = ((_a = object.txs) === null || _a === void 0 ? void 0 : _a.map(e => e)) || [];
2883
+ return message;
2884
+ }
2885
+ };
2886
+ function createBaseResponseProcessProposal() {
2887
+ return {
2888
+ status: 0
2889
+ };
2890
+ }
2891
+ exports.ResponseProcessProposal = {
2892
+ encode(message, writer = _m0.Writer.create()) {
2893
+ if (message.status !== 0) {
2894
+ writer.uint32(8).int32(message.status);
2895
+ }
2896
+ return writer;
2897
+ },
2898
+ decode(input, length) {
2899
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2900
+ let end = length === undefined ? reader.len : reader.pos + length;
2901
+ const message = createBaseResponseProcessProposal();
2902
+ while (reader.pos < end) {
2903
+ const tag = reader.uint32();
2904
+ switch (tag >>> 3) {
2905
+ case 1:
2906
+ message.status = reader.int32();
2907
+ break;
2908
+ default:
2909
+ reader.skipType(tag & 7);
2910
+ break;
2911
+ }
2912
+ }
2913
+ return message;
2914
+ },
2915
+ fromJSON(object) {
2916
+ return {
2917
+ status: (0, helpers_1.isSet)(object.status) ? responseProcessProposal_ProposalStatusFromJSON(object.status) : 0
2918
+ };
2919
+ },
2920
+ toJSON(message) {
2921
+ const obj = {};
2922
+ message.status !== undefined && (obj.status = responseProcessProposal_ProposalStatusToJSON(message.status));
2923
+ return obj;
2924
+ },
2925
+ fromPartial(object) {
2926
+ var _a;
2927
+ const message = createBaseResponseProcessProposal();
2928
+ message.status = (_a = object.status) !== null && _a !== void 0 ? _a : 0;
2929
+ return message;
2930
+ }
2931
+ };
2932
+ function createBaseCommitInfo() {
2933
+ return {
2934
+ round: 0,
2935
+ votes: []
2936
+ };
2937
+ }
2938
+ exports.CommitInfo = {
2939
+ encode(message, writer = _m0.Writer.create()) {
2940
+ if (message.round !== 0) {
2941
+ writer.uint32(8).int32(message.round);
2942
+ }
2943
+ for (const v of message.votes) {
2944
+ exports.VoteInfo.encode(v, writer.uint32(18).fork()).ldelim();
2945
+ }
2946
+ return writer;
2947
+ },
2948
+ decode(input, length) {
2949
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2950
+ let end = length === undefined ? reader.len : reader.pos + length;
2951
+ const message = createBaseCommitInfo();
2952
+ while (reader.pos < end) {
2953
+ const tag = reader.uint32();
2954
+ switch (tag >>> 3) {
2955
+ case 1:
2956
+ message.round = reader.int32();
2957
+ break;
2958
+ case 2:
2959
+ message.votes.push(exports.VoteInfo.decode(reader, reader.uint32()));
2960
+ break;
2961
+ default:
2962
+ reader.skipType(tag & 7);
2963
+ break;
2964
+ }
2965
+ }
2966
+ return message;
2967
+ },
2968
+ fromJSON(object) {
2969
+ return {
2970
+ round: (0, helpers_1.isSet)(object.round) ? Number(object.round) : 0,
2971
+ votes: Array.isArray(object === null || object === void 0 ? void 0 : object.votes) ? object.votes.map((e) => exports.VoteInfo.fromJSON(e)) : []
2972
+ };
2973
+ },
2974
+ toJSON(message) {
2975
+ const obj = {};
2976
+ message.round !== undefined && (obj.round = Math.round(message.round));
2977
+ if (message.votes) {
2978
+ obj.votes = message.votes.map(e => e ? exports.VoteInfo.toJSON(e) : undefined);
2979
+ }
2980
+ else {
2981
+ obj.votes = [];
2982
+ }
2983
+ return obj;
2984
+ },
2985
+ fromPartial(object) {
2986
+ var _a, _b;
2987
+ const message = createBaseCommitInfo();
2988
+ message.round = (_a = object.round) !== null && _a !== void 0 ? _a : 0;
2989
+ message.votes = ((_b = object.votes) === null || _b === void 0 ? void 0 : _b.map(e => exports.VoteInfo.fromPartial(e))) || [];
2990
+ return message;
2991
+ }
2992
+ };
2993
+ function createBaseExtendedCommitInfo() {
2994
+ return {
2995
+ round: 0,
2996
+ votes: []
2997
+ };
2998
+ }
2999
+ exports.ExtendedCommitInfo = {
3000
+ encode(message, writer = _m0.Writer.create()) {
3001
+ if (message.round !== 0) {
3002
+ writer.uint32(8).int32(message.round);
3003
+ }
3004
+ for (const v of message.votes) {
3005
+ exports.ExtendedVoteInfo.encode(v, writer.uint32(18).fork()).ldelim();
3006
+ }
3007
+ return writer;
3008
+ },
3009
+ decode(input, length) {
3010
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
3011
+ let end = length === undefined ? reader.len : reader.pos + length;
3012
+ const message = createBaseExtendedCommitInfo();
3013
+ while (reader.pos < end) {
3014
+ const tag = reader.uint32();
3015
+ switch (tag >>> 3) {
3016
+ case 1:
3017
+ message.round = reader.int32();
3018
+ break;
3019
+ case 2:
3020
+ message.votes.push(exports.ExtendedVoteInfo.decode(reader, reader.uint32()));
3021
+ break;
3022
+ default:
3023
+ reader.skipType(tag & 7);
3024
+ break;
3025
+ }
3026
+ }
3027
+ return message;
3028
+ },
3029
+ fromJSON(object) {
3030
+ return {
3031
+ round: (0, helpers_1.isSet)(object.round) ? Number(object.round) : 0,
3032
+ votes: Array.isArray(object === null || object === void 0 ? void 0 : object.votes) ? object.votes.map((e) => exports.ExtendedVoteInfo.fromJSON(e)) : []
3033
+ };
3034
+ },
3035
+ toJSON(message) {
3036
+ const obj = {};
3037
+ message.round !== undefined && (obj.round = Math.round(message.round));
3038
+ if (message.votes) {
3039
+ obj.votes = message.votes.map(e => e ? exports.ExtendedVoteInfo.toJSON(e) : undefined);
3040
+ }
3041
+ else {
3042
+ obj.votes = [];
3043
+ }
3044
+ return obj;
3045
+ },
3046
+ fromPartial(object) {
3047
+ var _a, _b;
3048
+ const message = createBaseExtendedCommitInfo();
3049
+ message.round = (_a = object.round) !== null && _a !== void 0 ? _a : 0;
3050
+ message.votes = ((_b = object.votes) === null || _b === void 0 ? void 0 : _b.map(e => exports.ExtendedVoteInfo.fromPartial(e))) || [];
3051
+ return message;
3052
+ }
3053
+ };
3054
+ function createBaseEvent() {
3055
+ return {
3056
+ type: "",
3057
+ attributes: []
3058
+ };
3059
+ }
3060
+ exports.Event = {
3061
+ encode(message, writer = _m0.Writer.create()) {
3062
+ if (message.type !== "") {
3063
+ writer.uint32(10).string(message.type);
3064
+ }
3065
+ for (const v of message.attributes) {
3066
+ exports.EventAttribute.encode(v, writer.uint32(18).fork()).ldelim();
3067
+ }
3068
+ return writer;
3069
+ },
3070
+ decode(input, length) {
3071
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
3072
+ let end = length === undefined ? reader.len : reader.pos + length;
3073
+ const message = createBaseEvent();
3074
+ while (reader.pos < end) {
3075
+ const tag = reader.uint32();
3076
+ switch (tag >>> 3) {
3077
+ case 1:
3078
+ message.type = reader.string();
3079
+ break;
3080
+ case 2:
3081
+ message.attributes.push(exports.EventAttribute.decode(reader, reader.uint32()));
3082
+ break;
3083
+ default:
3084
+ reader.skipType(tag & 7);
3085
+ break;
3086
+ }
3087
+ }
3088
+ return message;
3089
+ },
3090
+ fromJSON(object) {
3091
+ return {
3092
+ type: (0, helpers_1.isSet)(object.type) ? String(object.type) : "",
3093
+ attributes: Array.isArray(object === null || object === void 0 ? void 0 : object.attributes) ? object.attributes.map((e) => exports.EventAttribute.fromJSON(e)) : []
3094
+ };
3095
+ },
3096
+ toJSON(message) {
3097
+ const obj = {};
3098
+ message.type !== undefined && (obj.type = message.type);
3099
+ if (message.attributes) {
3100
+ obj.attributes = message.attributes.map(e => e ? exports.EventAttribute.toJSON(e) : undefined);
3101
+ }
3102
+ else {
3103
+ obj.attributes = [];
3104
+ }
3105
+ return obj;
3106
+ },
3107
+ fromPartial(object) {
3108
+ var _a, _b;
3109
+ const message = createBaseEvent();
3110
+ message.type = (_a = object.type) !== null && _a !== void 0 ? _a : "";
3111
+ message.attributes = ((_b = object.attributes) === null || _b === void 0 ? void 0 : _b.map(e => exports.EventAttribute.fromPartial(e))) || [];
3112
+ return message;
3113
+ }
3114
+ };
3115
+ function createBaseEventAttribute() {
3116
+ return {
3117
+ key: "",
3118
+ value: "",
3119
+ index: false
3120
+ };
3121
+ }
3122
+ exports.EventAttribute = {
3123
+ encode(message, writer = _m0.Writer.create()) {
3124
+ if (message.key !== "") {
3125
+ writer.uint32(10).string(message.key);
3126
+ }
3127
+ if (message.value !== "") {
3128
+ writer.uint32(18).string(message.value);
3129
+ }
3130
+ if (message.index === true) {
3131
+ writer.uint32(24).bool(message.index);
3132
+ }
3133
+ return writer;
3134
+ },
3135
+ decode(input, length) {
3136
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
3137
+ let end = length === undefined ? reader.len : reader.pos + length;
3138
+ const message = createBaseEventAttribute();
3139
+ while (reader.pos < end) {
3140
+ const tag = reader.uint32();
3141
+ switch (tag >>> 3) {
3142
+ case 1:
3143
+ message.key = reader.string();
3144
+ break;
3145
+ case 2:
3146
+ message.value = reader.string();
3147
+ break;
3148
+ case 3:
3149
+ message.index = reader.bool();
3150
+ break;
3151
+ default:
3152
+ reader.skipType(tag & 7);
3153
+ break;
3154
+ }
3155
+ }
3156
+ return message;
3157
+ },
3158
+ fromJSON(object) {
3159
+ return {
3160
+ key: (0, helpers_1.isSet)(object.key) ? String(object.key) : "",
3161
+ value: (0, helpers_1.isSet)(object.value) ? String(object.value) : "",
3162
+ index: (0, helpers_1.isSet)(object.index) ? Boolean(object.index) : false
3163
+ };
3164
+ },
3165
+ toJSON(message) {
3166
+ const obj = {};
3167
+ message.key !== undefined && (obj.key = message.key);
3168
+ message.value !== undefined && (obj.value = message.value);
3169
+ message.index !== undefined && (obj.index = message.index);
3170
+ return obj;
3171
+ },
3172
+ fromPartial(object) {
3173
+ var _a, _b, _c;
3174
+ const message = createBaseEventAttribute();
3175
+ message.key = (_a = object.key) !== null && _a !== void 0 ? _a : "";
3176
+ message.value = (_b = object.value) !== null && _b !== void 0 ? _b : "";
3177
+ message.index = (_c = object.index) !== null && _c !== void 0 ? _c : false;
3178
+ return message;
3179
+ }
3180
+ };
3181
+ function createBaseTxResult() {
3182
+ return {
3183
+ height: helpers_1.Long.ZERO,
3184
+ index: 0,
3185
+ tx: new Uint8Array(),
3186
+ result: undefined
3187
+ };
3188
+ }
3189
+ exports.TxResult = {
3190
+ encode(message, writer = _m0.Writer.create()) {
3191
+ if (!message.height.isZero()) {
3192
+ writer.uint32(8).int64(message.height);
3193
+ }
3194
+ if (message.index !== 0) {
3195
+ writer.uint32(16).uint32(message.index);
3196
+ }
3197
+ if (message.tx.length !== 0) {
3198
+ writer.uint32(26).bytes(message.tx);
3199
+ }
3200
+ if (message.result !== undefined) {
3201
+ exports.ResponseDeliverTx.encode(message.result, writer.uint32(34).fork()).ldelim();
3202
+ }
3203
+ return writer;
3204
+ },
3205
+ decode(input, length) {
3206
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
3207
+ let end = length === undefined ? reader.len : reader.pos + length;
3208
+ const message = createBaseTxResult();
3209
+ while (reader.pos < end) {
3210
+ const tag = reader.uint32();
3211
+ switch (tag >>> 3) {
3212
+ case 1:
3213
+ message.height = reader.int64();
3214
+ break;
3215
+ case 2:
3216
+ message.index = reader.uint32();
3217
+ break;
3218
+ case 3:
3219
+ message.tx = reader.bytes();
3220
+ break;
3221
+ case 4:
3222
+ message.result = exports.ResponseDeliverTx.decode(reader, reader.uint32());
3223
+ break;
3224
+ default:
3225
+ reader.skipType(tag & 7);
3226
+ break;
3227
+ }
3228
+ }
3229
+ return message;
3230
+ },
3231
+ fromJSON(object) {
3232
+ return {
3233
+ height: (0, helpers_1.isSet)(object.height) ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO,
3234
+ index: (0, helpers_1.isSet)(object.index) ? Number(object.index) : 0,
3235
+ tx: (0, helpers_1.isSet)(object.tx) ? (0, helpers_1.bytesFromBase64)(object.tx) : new Uint8Array(),
3236
+ result: (0, helpers_1.isSet)(object.result) ? exports.ResponseDeliverTx.fromJSON(object.result) : undefined
3237
+ };
3238
+ },
3239
+ toJSON(message) {
3240
+ const obj = {};
3241
+ message.height !== undefined && (obj.height = (message.height || helpers_1.Long.ZERO).toString());
3242
+ message.index !== undefined && (obj.index = Math.round(message.index));
3243
+ message.tx !== undefined && (obj.tx = (0, helpers_1.base64FromBytes)(message.tx !== undefined ? message.tx : new Uint8Array()));
3244
+ message.result !== undefined && (obj.result = message.result ? exports.ResponseDeliverTx.toJSON(message.result) : undefined);
3245
+ return obj;
3246
+ },
3247
+ fromPartial(object) {
3248
+ var _a, _b;
3249
+ const message = createBaseTxResult();
3250
+ message.height = object.height !== undefined && object.height !== null ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO;
3251
+ message.index = (_a = object.index) !== null && _a !== void 0 ? _a : 0;
3252
+ message.tx = (_b = object.tx) !== null && _b !== void 0 ? _b : new Uint8Array();
3253
+ message.result = object.result !== undefined && object.result !== null ? exports.ResponseDeliverTx.fromPartial(object.result) : undefined;
3254
+ return message;
3255
+ }
3256
+ };
3257
+ function createBaseValidator() {
3258
+ return {
3259
+ address: new Uint8Array(),
3260
+ power: helpers_1.Long.ZERO
3261
+ };
3262
+ }
3263
+ exports.Validator = {
3264
+ encode(message, writer = _m0.Writer.create()) {
3265
+ if (message.address.length !== 0) {
3266
+ writer.uint32(10).bytes(message.address);
3267
+ }
3268
+ if (!message.power.isZero()) {
3269
+ writer.uint32(24).int64(message.power);
3270
+ }
3271
+ return writer;
3272
+ },
3273
+ decode(input, length) {
3274
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
3275
+ let end = length === undefined ? reader.len : reader.pos + length;
3276
+ const message = createBaseValidator();
3277
+ while (reader.pos < end) {
3278
+ const tag = reader.uint32();
3279
+ switch (tag >>> 3) {
3280
+ case 1:
3281
+ message.address = reader.bytes();
3282
+ break;
3283
+ case 3:
3284
+ message.power = reader.int64();
3285
+ break;
3286
+ default:
3287
+ reader.skipType(tag & 7);
3288
+ break;
3289
+ }
3290
+ }
3291
+ return message;
3292
+ },
3293
+ fromJSON(object) {
3294
+ return {
3295
+ address: (0, helpers_1.isSet)(object.address) ? (0, helpers_1.bytesFromBase64)(object.address) : new Uint8Array(),
3296
+ power: (0, helpers_1.isSet)(object.power) ? helpers_1.Long.fromValue(object.power) : helpers_1.Long.ZERO
3297
+ };
3298
+ },
3299
+ toJSON(message) {
3300
+ const obj = {};
3301
+ message.address !== undefined && (obj.address = (0, helpers_1.base64FromBytes)(message.address !== undefined ? message.address : new Uint8Array()));
3302
+ message.power !== undefined && (obj.power = (message.power || helpers_1.Long.ZERO).toString());
3303
+ return obj;
3304
+ },
3305
+ fromPartial(object) {
3306
+ var _a;
3307
+ const message = createBaseValidator();
3308
+ message.address = (_a = object.address) !== null && _a !== void 0 ? _a : new Uint8Array();
3309
+ message.power = object.power !== undefined && object.power !== null ? helpers_1.Long.fromValue(object.power) : helpers_1.Long.ZERO;
3310
+ return message;
3311
+ }
3312
+ };
3313
+ function createBaseValidatorUpdate() {
3314
+ return {
3315
+ pubKey: undefined,
3316
+ power: helpers_1.Long.ZERO
3317
+ };
3318
+ }
3319
+ exports.ValidatorUpdate = {
3320
+ encode(message, writer = _m0.Writer.create()) {
3321
+ if (message.pubKey !== undefined) {
3322
+ keys_1.PublicKey.encode(message.pubKey, writer.uint32(10).fork()).ldelim();
3323
+ }
3324
+ if (!message.power.isZero()) {
3325
+ writer.uint32(16).int64(message.power);
3326
+ }
3327
+ return writer;
3328
+ },
3329
+ decode(input, length) {
3330
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
3331
+ let end = length === undefined ? reader.len : reader.pos + length;
3332
+ const message = createBaseValidatorUpdate();
3333
+ while (reader.pos < end) {
3334
+ const tag = reader.uint32();
3335
+ switch (tag >>> 3) {
3336
+ case 1:
3337
+ message.pubKey = keys_1.PublicKey.decode(reader, reader.uint32());
3338
+ break;
3339
+ case 2:
3340
+ message.power = reader.int64();
3341
+ break;
3342
+ default:
3343
+ reader.skipType(tag & 7);
3344
+ break;
3345
+ }
3346
+ }
3347
+ return message;
3348
+ },
3349
+ fromJSON(object) {
3350
+ return {
3351
+ pubKey: (0, helpers_1.isSet)(object.pubKey) ? keys_1.PublicKey.fromJSON(object.pubKey) : undefined,
3352
+ power: (0, helpers_1.isSet)(object.power) ? helpers_1.Long.fromValue(object.power) : helpers_1.Long.ZERO
3353
+ };
3354
+ },
3355
+ toJSON(message) {
3356
+ const obj = {};
3357
+ message.pubKey !== undefined && (obj.pubKey = message.pubKey ? keys_1.PublicKey.toJSON(message.pubKey) : undefined);
3358
+ message.power !== undefined && (obj.power = (message.power || helpers_1.Long.ZERO).toString());
3359
+ return obj;
3360
+ },
3361
+ fromPartial(object) {
3362
+ const message = createBaseValidatorUpdate();
3363
+ message.pubKey = object.pubKey !== undefined && object.pubKey !== null ? keys_1.PublicKey.fromPartial(object.pubKey) : undefined;
3364
+ message.power = object.power !== undefined && object.power !== null ? helpers_1.Long.fromValue(object.power) : helpers_1.Long.ZERO;
3365
+ return message;
3366
+ }
3367
+ };
3368
+ function createBaseVoteInfo() {
3369
+ return {
3370
+ validator: undefined,
3371
+ signedLastBlock: false
3372
+ };
3373
+ }
3374
+ exports.VoteInfo = {
3375
+ encode(message, writer = _m0.Writer.create()) {
3376
+ if (message.validator !== undefined) {
3377
+ exports.Validator.encode(message.validator, writer.uint32(10).fork()).ldelim();
3378
+ }
3379
+ if (message.signedLastBlock === true) {
3380
+ writer.uint32(16).bool(message.signedLastBlock);
3381
+ }
3382
+ return writer;
3383
+ },
3384
+ decode(input, length) {
3385
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
3386
+ let end = length === undefined ? reader.len : reader.pos + length;
3387
+ const message = createBaseVoteInfo();
3388
+ while (reader.pos < end) {
3389
+ const tag = reader.uint32();
3390
+ switch (tag >>> 3) {
3391
+ case 1:
3392
+ message.validator = exports.Validator.decode(reader, reader.uint32());
3393
+ break;
3394
+ case 2:
3395
+ message.signedLastBlock = reader.bool();
3396
+ break;
3397
+ default:
3398
+ reader.skipType(tag & 7);
3399
+ break;
3400
+ }
3401
+ }
3402
+ return message;
3403
+ },
3404
+ fromJSON(object) {
3405
+ return {
3406
+ validator: (0, helpers_1.isSet)(object.validator) ? exports.Validator.fromJSON(object.validator) : undefined,
3407
+ signedLastBlock: (0, helpers_1.isSet)(object.signedLastBlock) ? Boolean(object.signedLastBlock) : false
3408
+ };
3409
+ },
3410
+ toJSON(message) {
3411
+ const obj = {};
3412
+ message.validator !== undefined && (obj.validator = message.validator ? exports.Validator.toJSON(message.validator) : undefined);
3413
+ message.signedLastBlock !== undefined && (obj.signedLastBlock = message.signedLastBlock);
3414
+ return obj;
3415
+ },
3416
+ fromPartial(object) {
3417
+ var _a;
3418
+ const message = createBaseVoteInfo();
3419
+ message.validator = object.validator !== undefined && object.validator !== null ? exports.Validator.fromPartial(object.validator) : undefined;
3420
+ message.signedLastBlock = (_a = object.signedLastBlock) !== null && _a !== void 0 ? _a : false;
3421
+ return message;
3422
+ }
3423
+ };
3424
+ function createBaseExtendedVoteInfo() {
3425
+ return {
3426
+ validator: undefined,
3427
+ signedLastBlock: false,
3428
+ voteExtension: new Uint8Array()
3429
+ };
3430
+ }
3431
+ exports.ExtendedVoteInfo = {
3432
+ encode(message, writer = _m0.Writer.create()) {
3433
+ if (message.validator !== undefined) {
3434
+ exports.Validator.encode(message.validator, writer.uint32(10).fork()).ldelim();
3435
+ }
3436
+ if (message.signedLastBlock === true) {
3437
+ writer.uint32(16).bool(message.signedLastBlock);
3438
+ }
3439
+ if (message.voteExtension.length !== 0) {
3440
+ writer.uint32(26).bytes(message.voteExtension);
3441
+ }
3442
+ return writer;
3443
+ },
3444
+ decode(input, length) {
3445
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
3446
+ let end = length === undefined ? reader.len : reader.pos + length;
3447
+ const message = createBaseExtendedVoteInfo();
3448
+ while (reader.pos < end) {
3449
+ const tag = reader.uint32();
3450
+ switch (tag >>> 3) {
3451
+ case 1:
3452
+ message.validator = exports.Validator.decode(reader, reader.uint32());
3453
+ break;
3454
+ case 2:
3455
+ message.signedLastBlock = reader.bool();
3456
+ break;
3457
+ case 3:
3458
+ message.voteExtension = reader.bytes();
3459
+ break;
3460
+ default:
3461
+ reader.skipType(tag & 7);
3462
+ break;
3463
+ }
3464
+ }
3465
+ return message;
3466
+ },
3467
+ fromJSON(object) {
3468
+ return {
3469
+ validator: (0, helpers_1.isSet)(object.validator) ? exports.Validator.fromJSON(object.validator) : undefined,
3470
+ signedLastBlock: (0, helpers_1.isSet)(object.signedLastBlock) ? Boolean(object.signedLastBlock) : false,
3471
+ voteExtension: (0, helpers_1.isSet)(object.voteExtension) ? (0, helpers_1.bytesFromBase64)(object.voteExtension) : new Uint8Array()
3472
+ };
3473
+ },
3474
+ toJSON(message) {
3475
+ const obj = {};
3476
+ message.validator !== undefined && (obj.validator = message.validator ? exports.Validator.toJSON(message.validator) : undefined);
3477
+ message.signedLastBlock !== undefined && (obj.signedLastBlock = message.signedLastBlock);
3478
+ message.voteExtension !== undefined && (obj.voteExtension = (0, helpers_1.base64FromBytes)(message.voteExtension !== undefined ? message.voteExtension : new Uint8Array()));
3479
+ return obj;
3480
+ },
3481
+ fromPartial(object) {
3482
+ var _a, _b;
3483
+ const message = createBaseExtendedVoteInfo();
3484
+ message.validator = object.validator !== undefined && object.validator !== null ? exports.Validator.fromPartial(object.validator) : undefined;
3485
+ message.signedLastBlock = (_a = object.signedLastBlock) !== null && _a !== void 0 ? _a : false;
3486
+ message.voteExtension = (_b = object.voteExtension) !== null && _b !== void 0 ? _b : new Uint8Array();
3487
+ return message;
3488
+ }
3489
+ };
3490
+ function createBaseMisbehavior() {
3491
+ return {
3492
+ type: 0,
3493
+ validator: undefined,
3494
+ height: helpers_1.Long.ZERO,
3495
+ time: undefined,
3496
+ totalVotingPower: helpers_1.Long.ZERO
3497
+ };
3498
+ }
3499
+ exports.Misbehavior = {
3500
+ encode(message, writer = _m0.Writer.create()) {
3501
+ if (message.type !== 0) {
3502
+ writer.uint32(8).int32(message.type);
3503
+ }
3504
+ if (message.validator !== undefined) {
3505
+ exports.Validator.encode(message.validator, writer.uint32(18).fork()).ldelim();
3506
+ }
3507
+ if (!message.height.isZero()) {
3508
+ writer.uint32(24).int64(message.height);
3509
+ }
3510
+ if (message.time !== undefined) {
3511
+ timestamp_1.Timestamp.encode(message.time, writer.uint32(34).fork()).ldelim();
3512
+ }
3513
+ if (!message.totalVotingPower.isZero()) {
3514
+ writer.uint32(40).int64(message.totalVotingPower);
3515
+ }
3516
+ return writer;
3517
+ },
3518
+ decode(input, length) {
3519
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
3520
+ let end = length === undefined ? reader.len : reader.pos + length;
3521
+ const message = createBaseMisbehavior();
3522
+ while (reader.pos < end) {
3523
+ const tag = reader.uint32();
3524
+ switch (tag >>> 3) {
3525
+ case 1:
3526
+ message.type = reader.int32();
3527
+ break;
3528
+ case 2:
3529
+ message.validator = exports.Validator.decode(reader, reader.uint32());
3530
+ break;
3531
+ case 3:
3532
+ message.height = reader.int64();
3533
+ break;
3534
+ case 4:
3535
+ message.time = timestamp_1.Timestamp.decode(reader, reader.uint32());
3536
+ break;
3537
+ case 5:
3538
+ message.totalVotingPower = reader.int64();
3539
+ break;
3540
+ default:
3541
+ reader.skipType(tag & 7);
3542
+ break;
3543
+ }
3544
+ }
3545
+ return message;
3546
+ },
3547
+ fromJSON(object) {
3548
+ return {
3549
+ type: (0, helpers_1.isSet)(object.type) ? misbehaviorTypeFromJSON(object.type) : 0,
3550
+ validator: (0, helpers_1.isSet)(object.validator) ? exports.Validator.fromJSON(object.validator) : undefined,
3551
+ height: (0, helpers_1.isSet)(object.height) ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO,
3552
+ time: (0, helpers_1.isSet)(object.time) ? (0, helpers_1.fromJsonTimestamp)(object.time) : undefined,
3553
+ totalVotingPower: (0, helpers_1.isSet)(object.totalVotingPower) ? helpers_1.Long.fromValue(object.totalVotingPower) : helpers_1.Long.ZERO
3554
+ };
3555
+ },
3556
+ toJSON(message) {
3557
+ const obj = {};
3558
+ message.type !== undefined && (obj.type = misbehaviorTypeToJSON(message.type));
3559
+ message.validator !== undefined && (obj.validator = message.validator ? exports.Validator.toJSON(message.validator) : undefined);
3560
+ message.height !== undefined && (obj.height = (message.height || helpers_1.Long.ZERO).toString());
3561
+ message.time !== undefined && (obj.time = (0, helpers_1.fromTimestamp)(message.time).toISOString());
3562
+ message.totalVotingPower !== undefined && (obj.totalVotingPower = (message.totalVotingPower || helpers_1.Long.ZERO).toString());
3563
+ return obj;
3564
+ },
3565
+ fromPartial(object) {
3566
+ var _a;
3567
+ const message = createBaseMisbehavior();
3568
+ message.type = (_a = object.type) !== null && _a !== void 0 ? _a : 0;
3569
+ message.validator = object.validator !== undefined && object.validator !== null ? exports.Validator.fromPartial(object.validator) : undefined;
3570
+ message.height = object.height !== undefined && object.height !== null ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO;
3571
+ message.time = object.time !== undefined && object.time !== null ? timestamp_1.Timestamp.fromPartial(object.time) : undefined;
3572
+ message.totalVotingPower = object.totalVotingPower !== undefined && object.totalVotingPower !== null ? helpers_1.Long.fromValue(object.totalVotingPower) : helpers_1.Long.ZERO;
3573
+ return message;
3574
+ }
3575
+ };
3576
+ function createBaseSnapshot() {
3577
+ return {
3578
+ height: helpers_1.Long.UZERO,
3579
+ format: 0,
3580
+ chunks: 0,
3581
+ hash: new Uint8Array(),
3582
+ metadata: new Uint8Array()
3583
+ };
3584
+ }
3585
+ exports.Snapshot = {
3586
+ encode(message, writer = _m0.Writer.create()) {
3587
+ if (!message.height.isZero()) {
3588
+ writer.uint32(8).uint64(message.height);
3589
+ }
3590
+ if (message.format !== 0) {
3591
+ writer.uint32(16).uint32(message.format);
3592
+ }
3593
+ if (message.chunks !== 0) {
3594
+ writer.uint32(24).uint32(message.chunks);
3595
+ }
3596
+ if (message.hash.length !== 0) {
3597
+ writer.uint32(34).bytes(message.hash);
3598
+ }
3599
+ if (message.metadata.length !== 0) {
3600
+ writer.uint32(42).bytes(message.metadata);
3601
+ }
3602
+ return writer;
3603
+ },
3604
+ decode(input, length) {
3605
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
3606
+ let end = length === undefined ? reader.len : reader.pos + length;
3607
+ const message = createBaseSnapshot();
3608
+ while (reader.pos < end) {
3609
+ const tag = reader.uint32();
3610
+ switch (tag >>> 3) {
3611
+ case 1:
3612
+ message.height = reader.uint64();
3613
+ break;
3614
+ case 2:
3615
+ message.format = reader.uint32();
3616
+ break;
3617
+ case 3:
3618
+ message.chunks = reader.uint32();
3619
+ break;
3620
+ case 4:
3621
+ message.hash = reader.bytes();
3622
+ break;
3623
+ case 5:
3624
+ message.metadata = reader.bytes();
3625
+ break;
3626
+ default:
3627
+ reader.skipType(tag & 7);
3628
+ break;
3629
+ }
3630
+ }
3631
+ return message;
3632
+ },
3633
+ fromJSON(object) {
3634
+ return {
3635
+ height: (0, helpers_1.isSet)(object.height) ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.UZERO,
3636
+ format: (0, helpers_1.isSet)(object.format) ? Number(object.format) : 0,
3637
+ chunks: (0, helpers_1.isSet)(object.chunks) ? Number(object.chunks) : 0,
3638
+ hash: (0, helpers_1.isSet)(object.hash) ? (0, helpers_1.bytesFromBase64)(object.hash) : new Uint8Array(),
3639
+ metadata: (0, helpers_1.isSet)(object.metadata) ? (0, helpers_1.bytesFromBase64)(object.metadata) : new Uint8Array()
3640
+ };
3641
+ },
3642
+ toJSON(message) {
3643
+ const obj = {};
3644
+ message.height !== undefined && (obj.height = (message.height || helpers_1.Long.UZERO).toString());
3645
+ message.format !== undefined && (obj.format = Math.round(message.format));
3646
+ message.chunks !== undefined && (obj.chunks = Math.round(message.chunks));
3647
+ message.hash !== undefined && (obj.hash = (0, helpers_1.base64FromBytes)(message.hash !== undefined ? message.hash : new Uint8Array()));
3648
+ message.metadata !== undefined && (obj.metadata = (0, helpers_1.base64FromBytes)(message.metadata !== undefined ? message.metadata : new Uint8Array()));
3649
+ return obj;
3650
+ },
3651
+ fromPartial(object) {
3652
+ var _a, _b, _c, _d;
3653
+ const message = createBaseSnapshot();
3654
+ message.height = object.height !== undefined && object.height !== null ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.UZERO;
3655
+ message.format = (_a = object.format) !== null && _a !== void 0 ? _a : 0;
3656
+ message.chunks = (_b = object.chunks) !== null && _b !== void 0 ? _b : 0;
3657
+ message.hash = (_c = object.hash) !== null && _c !== void 0 ? _c : new Uint8Array();
3658
+ message.metadata = (_d = object.metadata) !== null && _d !== void 0 ? _d : new Uint8Array();
3659
+ return message;
3660
+ }
3661
+ };
3662
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGR5ZHhwcm90b2NvbC92NC1wcm90by9zcmMvY29kZWdlbi90ZW5kZXJtaW50L2FiY2kvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0RBQThFO0FBQzlFLDRDQUEwRTtBQUMxRSwwQ0FBdUQ7QUFDdkQsMkNBQTREO0FBQzVELHlDQUE2RDtBQUM3RCx3REFBMEM7QUFDMUMsMkNBQWdIO0FBQ2hILElBQVksV0FJWDtBQUpELFdBQVksV0FBVztJQUNyQiwyQ0FBTyxDQUFBO0lBQ1AsbURBQVcsQ0FBQTtJQUNYLDhEQUFpQixDQUFBO0FBQ25CLENBQUMsRUFKVyxXQUFXLEdBQVgsbUJBQVcsS0FBWCxtQkFBVyxRQUl0QjtBQUNZLFFBQUEsa0JBQWtCLEdBQUcsV0FBVyxDQUFDO0FBQzlDLFNBQWdCLG1CQUFtQixDQUFDLE1BQVc7SUFDN0MsUUFBUSxNQUFNLEVBQUU7UUFDZCxLQUFLLENBQUMsQ0FBQztRQUNQLEtBQUssS0FBSztZQUNSLE9BQU8sV0FBVyxDQUFDLEdBQUcsQ0FBQztRQUV6QixLQUFLLENBQUMsQ0FBQztRQUNQLEtBQUssU0FBUztZQUNaLE9BQU8sV0FBVyxDQUFDLE9BQU8sQ0FBQztRQUU3QixLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ1IsS0FBSyxjQUFjLENBQUM7UUFDcEI7WUFDRSxPQUFPLFdBQVcsQ0FBQyxZQUFZLENBQUM7S0FDbkM7QUFDSCxDQUFDO0FBZkQsa0RBZUM7QUFDRCxTQUFnQixpQkFBaUIsQ0FBQyxNQUFtQjtJQUNuRCxRQUFRLE1BQU0sRUFBRTtRQUNkLEtBQUssV0FBVyxDQUFDLEdBQUc7WUFDbEIsT0FBTyxLQUFLLENBQUM7UUFFZixLQUFLLFdBQVcsQ0FBQyxPQUFPO1lBQ3RCLE9BQU8sU0FBUyxDQUFDO1FBRW5CLEtB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dkUsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRTtZQUN0QixNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdkM7UUFFRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUM3QixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdkM7UUFFRCxJQUFJLE9BQU8sQ0FBQyxHQUFHLEtBQUssRUFBRSxFQUFFO1lBQ3RCLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN2QztRQUVELElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxFQUFFLEVBQUU7WUFDdkIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3hDO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDL0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzVDO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDN0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzFDO1FBRUQsS0FBSyxNQUFNLENBQUMsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQzlCLGFBQUssQ0FBQyxNQUFNLENBQUMsQ0FBRSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUNyRDtRQUVELElBQUksT0FBTyxDQUFDLFNBQVMsS0FBSyxFQUFFLEVBQUU7WUFDNUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzdDO1FBRUQsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLEVBQUUsRUFBRTtZQUN6QixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDMUM7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUM5QixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDM0M7UUFFRCxJQUFJLE9BQU8sQ0FBQyxZQUFZLEtBQUssRUFBRSxFQUFFO1lBQy9CLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNoRDtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBOEIsRUFBRSxNQUFlO1FBQ3BELE1BQU0sTUFBTSxHQUFHLEtBQUssWUFBWSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzRSxJQUFJLEdBQUcsR0FBRyxNQUFNLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQztRQUNsRSxNQUFNLE9BQU8sR0FBRyx5QkFBeUIsRUFBRSxDQUFDO1FBRTVDLE9BQU8sTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUU7WUFDdkIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBRTVCLFFBQVEsR0FBRyxLQUFLLENBQUMsRUFBRTtnQkFDakIsS0FBSyxDQUFDO29CQUNKLE9BQU8sQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUMvQixNQUFNO2dCQUVSLEtBQUssQ0FBQztvQkFDSixPQUFPLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDOUIsTUFBTTtnQkFFUixLQUFLLENBQUM7b0JBQ0osT0FBTyxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQzlCLE1BQU07Z0JBRVIsS0FBSyxDQUFDO29CQUNKLE9BQU8sQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUMvQixNQUFNO2dCQUVSLEtBQUssQ0FBQztvQkFDSixPQUFPLENBQUMsU0FBUyxHQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQVcsQ0FBQztvQkFDN0MsTUFBTTtnQkFFUixLQUFLLENBQUM7b0JBQ0osT0FBTyxDQUFDLE9BQU8sR0FBSSxNQUFNLENBQUMsS0FBSyxFQUFXLENBQUM7b0JBQzNDLE1BQU07Z0JBRVIsS0FBSyxDQUFDO29CQUNKLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQzNELE1BQU07Z0JBRVIsS0FBSyxDQUFDO29CQUNKLE9BQU8sQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUNwQyxNQUFNO2dCQUVSLEtBQUssQ0FBQztvQkFDSixPQUFPLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDakMsTUFBTTtnQkFFUixLQUFLLEVBQUU7b0JBQ0wsT0FBTyxDQUFDLFFBQVEsR0FBSSxNQUFNLENBQUMsS0FBSyxFQUFXLENBQUM7b0JBQzVDLE1BQU07Z0JBRVIsS0FBSyxFQUFFO29CQUNMLE9BQU8sQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUN2QyxNQUFNO2dCQUVSO29CQUNFLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUN6QixNQUFNO2FBQ1Q7U0FDRjtRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxRQUFRLENBQUMsTUFBVztRQUNsQixPQUFPO1lBQ0wsSUFBSSxFQUFFLElBQUEsZUFBSyxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNsRCxJQUFJLEVBQUUsSUFBQSxlQUFLLEVBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFBLHlCQUFlLEVBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsRUFBRTtZQUMxRSxHQUFHLEVBQUUsSUFBQSxlQUFLLEVBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2hELElBQUksRUFBRSxJQUFBLGVBQUssRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbkQsU0FBUyxFQUFFLElBQUEsZUFBSyxFQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQUksQ0FBQyxJQUFJO1lBQ25GLE9BQU8sRUFBRSxJQUFBLGVBQUssRUFBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFJLENBQUMsSUFBSTtZQUM3RSxNQUFNLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxhQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDN0YsU0FBUyxFQUFFLElBQUEsZUFBSyxFQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNsRSxNQUFNLEVBQUUsSUFBQSxlQUFLLEVBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3pELFFBQVEsRUFBRSxJQUFBLGVBQUssRUFBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFJLENBQUMsSUFBSTtZQUM5RSxZQUFZLEVBQUUsSUFBQSxlQUFLLEVBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1NBQzVFLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQXdCO1FBQzdCLE1BQU0sR0FBRyxHQUFRLEVBQUUsQ0FBQztRQUNwQixPQUFPLENBQUMsSUFBSSxLQUFLLFNBQVMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNwRSxPQUFPLENBQUMsSUFBSSxLQUFLLFNBQVMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsSUFBQSx5QkFBZSxFQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN6SCxPQUFPLENBQUMsR0FBRyxLQUFLLFNBQVMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sQ0FBQyxJQUFJLEtBQUssU0FBUyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEQsT0FBTyxDQUFDLFNBQVMsS0FBSyxTQUFTLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsSUFBSSxjQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNsRyxPQUFPLENBQUMsT0FBTyxLQUFLLFNBQVMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLGNBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBRTVGLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUNsQixHQUFHLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN2RTthQUFNO1lBQ0wsR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7U0FDakI7UUFFRCxPQUFPLENBQUMsU0FBUyxLQUFLLFNBQVMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZFLE9BQU8sQ0FBQyxNQUFNLEtBQUssU0FBUyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUQsT0FBTyxDQUFDLFFBQVEsS0FBSyxTQUFTLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxjQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUM5RixPQUFPLENBQUMsWUFBWSxLQUFLLFNBQVMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2hGLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFnQzs7UUFDMUMsTUFBTSxPQUFPLEdBQUcseUJBQXlCLEVBQUUsQ0FBQztRQUM1QyxPQUFPLENBQUMsSUFBSSxHQUFHLE1BQUEsTUFBTSxDQUFDLElBQUksbUNBQUksQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsTUFBQSxNQUFNLENBQUMsSUFBSSxtQ0FBSSxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQy9DLE9BQU8sQ0FBQyxHQUFHLEdBQUcsTUFBQSxNQUFNLENBQUMsR0FBRyxtQ0FBSSxFQUFFLENBQUM7UUFDL0IsT0FBTyxDQUFDLElBQUksR0FBRyxNQUFBLE1BQU0sQ0FBQyxJQUFJLG1DQUFJLEVBQUUsQ0FBQztRQUNqQyxPQUFPLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLEtBQUssU0FBUyxJQUFJLE1BQU0sQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBSSxDQUFDLElBQUksQ0FBQztRQUMvSCxPQUFPLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLEtBQUssU0FBUyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBSSxDQUFDLElBQUksQ0FBQztRQUN2SCxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUEsTUFBQSxNQUFNLENBQUMsTUFBTSwwQ0FBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxhQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUksRUFBRSxDQUFDO1FBQ3JFLE9BQU8sQ0FBQyxTQUFTLEdBQUcsTUFBQSxNQUFNLENBQUMsU0FBUyxtQ0FBSSxFQUFFLENBQUM7UUFDM0MsT0FBTyxDQUFDLE1BQU0sR0FBRyxNQUFBLE1BQU0sQ0FBQyxNQUFNLG1DQUFJLEVBQUUsQ0FBQztRQUNyQyxPQUFPLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLEtBQUssU0FBUyxJQUFJLE1BQU0sQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBSSxDQUFDLElBQUksQ0FBQztRQUMzSCxPQUFPLENBQUMsWUFBWSxHQUFHLE1BQUEsTUFBTSxDQUFDLFlBQVksbUNBQUksRUFBRSxDQUFDO1FBQ2pELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FFRixDQUFDO0FBRUYsU0FBUywyQkFBMkI7SUFDbEMsT0FBTztRQUNMLElBQUksRUFBRSxDQUFDO1FBQ1AsSUFBSSxFQUFFLElBQUksVUFBVSxFQUFFO1FBQ3RCLEdBQUcsRUFBRSxFQUFFO1FBQ1AsSUFBSSxFQUFFLEVBQUU7UUFDUixTQUFTLEVBQUUsY0FBSSxDQUFDLElBQUk7UUFDcEIsT0FBTyxFQUFFLGNBQUksQ0FBQyxJQUFJO1FBQ2xCLE1BQU0sRUFBRSxFQUFFO1FBQ1YsU0FBUyxFQUFFLEVBQUU7S0FDZCxDQUFDO0FBQ0osQ0FBQztBQUVZLFFBQUEsaUJBQWlCLEdBQUc7SUFDL0IsTUFBTSxDQUFDLE9BQTBCLEVBQUUsU0FBcUIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7UUFDekUsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRTtZQUN0QixNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdkM7UUFFRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUM3QixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdkM7UUFFRCxJQUFJLE9BQU8sQ0FBQyxHQUFHLEtBQUssRUFBRSxFQUFFO1lBQ3RCLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN2QztRQUVELElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxFQUFFLEVBQUU7WUFDdkIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3hDO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDL0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzVDO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDN0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzFDO1FBRUQsS0FBSyxNQUFNLENBQUMsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQzlCLGFBQUssQ0FBQyxNQUFNLENBQUMsQ0FBRSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUNyRDtRQUVELElBQUksT0FBTyxDQUFDLFNBQVMsS0FBSyxFQUFFLEVBQUU7WUFDNUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzdDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUE4QixFQUFFLE1BQWU7UUFDcEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxZQUFZLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNFLElBQUksR0FBRyxHQUFHLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ2xFLE1BQU0sT0FBTyxHQUFHLDJCQUEyQixFQUFFLENBQUM7UUFFOUMsT0FBTyxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRTtZQUN2QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFFNUIsUUFBUSxHQUFHLEtBQUssQ0FBQyxFQUFFO2dCQUNqQixLQUFLLENBQUM7b0JBQ0osT0FBTyxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQy9CLE1BQU07Z0JBRVIsS0FBSyxDQUFDO29CQUNKLE9BQU8sQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUM5QixNQUFNO2dCQUVSLEtBQUssQ0FBQztvQkFDSixPQUFPLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDOUIsTUFBTTtnQkFFUixLQUFLLENBQUM7b0JBQ0osT0FBTyxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQy9CLE1BQU07Z0JBRVIsS0FBSyxDQUFDO29CQUNKLE9BQU8sQ0FBQyxTQUFTLEdBQUksTUFBTSxDQUFDLEtBQUssRUFBVyxDQUFDO29CQUM3QyxNQUFNO2dCQUVSLEtBQUssQ0FBQztvQkFDSixPQUFPLENBQUMsT0FBTyxHQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQVcsQ0FBQztvQkFDM0MsTUFBTTtnQkFFUixLQUFLLENBQUM7b0JBQ0osT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztvQkFDM0QsTUFBTTtnQkFFUixLQUFLLENBQUM7b0JBQ0osT0FBTyxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ3BDLE1BQU07Z0JBRVI7b0JBQ0UsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQ3pCLE1BQU07YUFDVDtTQUNGO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELFFBQVEsQ0FBQyxNQUFXO1FBQ2xCLE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBQSxlQUFLLEVBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xELElBQUksRUFBRSxJQUFBLGVBQUssRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUEseUJBQWUsRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxFQUFFO1lBQzFFLEdBQUcsRUFBRSxJQUFBLGVBQUssRUFBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDaEQsSUFBSSxFQUFFLElBQUEsZUFBSyxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNuRCxTQUFTLEVBQUUsSUFBQSxlQUFLLEVBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBSSxDQUFDLElBQUk7WUFDbkYsT0FBTyxFQUFFLElBQUEsZUFBSyxFQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQUksQ0FBQyxJQUFJO1lBQzdFLE1BQU0sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLGFBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUM3RixTQUFTLEVBQUUsSUFBQSxlQUFLLEVBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1NBQ25FLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQTBCO1FBQy9CLE1BQU0sR0FBRyxHQUFRLEVBQUUsQ0FBQztRQUNwQixPQUFPLENBQUMsSUFBSSxLQUFLLFNBQVMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNwRSxPQUFPLENBQUMsSUFBSSxLQUFLLFNBQVMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsSUFBQSx5QkFBZSxFQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN6SCxPQUFPLENBQUMsR0FBRyxLQUFLLFNBQVMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sQ0FBQyxJQUFJLEtBQUssU0FBUyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEQsT0FBTyxDQUFDLFNBQVMsS0FBSyxTQUFTLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsSUFBSSxjQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNsRyxPQUFPLENBQUMsT0FBTyxLQUFLLFNBQVMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLGNBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBRTVGLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUNsQixHQUFHLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN2RTthQUFNO1lBQ0wsR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7U0FDakI7UUFFRCxPQUFPLENBQUMsU0FBUyxLQUFLLFNBQVMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZFLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFrQzs7UUFDNUMsTUFBTSxPQUFPLEdBQUcsMkJBQTJCLEVBQUUsQ0FBQztRQUM5QyxPQUFPLENBQUMsSUFBSSxHQUFHLE1BQUEsTUFBTSxDQUFDLElBQUksbUNBQUksQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsTUFBQSxNQUFNLENBQUMsSUFBSSxtQ0FBSSxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQy9DLE9BQU8sQ0FBQyxHQUFHLEdBQUcsTUFBQSxNQUFNLENBQUMsR0FBRyxtQ0FBSSxFQUFFLENBQUM7UUFDL0IsT0FBTyxDQUFDLElBQUksR0FBRyxNQUFBLE1BQU0sQ0FBQyxJQUFJLG1DQUFJLEVBQUUsQ0FBQztRQUNqQyxPQUFPLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLEtBQUssU0FBUyxJQUFJLE1BQU0sQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBSSxDQUFDLElBQUksQ0FBQztRQUMvSCxPQUFPLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLEtBQUssU0FBUyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBSSxDQUFDLElBQUksQ0FBQztRQUN2SCxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUEsTUFBQSxNQUFNLENBQUMsTUFBTSwwQ0FBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxhQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUksRUFBRSxDQUFDO1FBQ3JFLE9BQU8sQ0FBQyxTQUFTLEdBQUcsTUFBQSxNQUFNLENBQUMsU0FBUyxtQ0FBSSxFQUFFLENBQUM7UUFDM0MsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUVGLENBQUM7QUFFRixTQUFTLDBCQUEwQjtJQUNqQyxPQUFPO1FBQ0wsZ0JBQWdCLEVBQUUsRUFBRTtRQUNwQixxQkFBcUIsRUFBRSxTQUFTO1FBQ2hDLE1BQU0sRUFBRSxFQUFFO0tBQ1gsQ0FBQztBQUNKLENBQUM7QUFFWSxRQUFBLGdCQUFnQixHQUFHO0lBQzlCLE1BQU0sQ0FBQyxPQUF5QixFQUFFLFNBQXFCLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1FBQ3hFLEtBQUssTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLGdCQUFnQixFQUFFO1lBQ3hDLHVCQUFlLENBQUMsTUFBTSxDQUFDLENBQUUsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDL0Q7UUFFRCxJQUFJLE9BQU8sQ0FBQyxxQkFBcUIsS0FBSyxTQUFTLEVBQUU7WUFDL0Msd0JBQWUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLHFCQUFxQixFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUMxRjtRQUVELEtBQUssTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUM5QixhQUFLLENBQUMsTUFBTSxDQUFDLENBQUUsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDckQ7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQThCLEVBQUUsTUFBZTtRQUNwRCxNQUFNLE1BQU0sR0FBRyxLQUFLLFlBQVksR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0UsSUFBSSxHQUFHLEdBQUcsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDbEUsTUFBTSxPQUFPLEdBQUcsMEJBQTBCLEVBQUUsQ0FBQztRQUU3QyxPQUFPLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFO1lBQ3ZCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUU1QixRQUFRLEdBQUcsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLEtBQUssQ0FBQztvQkFDSixPQUFPLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLHVCQUFlLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO29CQUMvRSxNQUFNO2dCQUVSLEtBQUssQ0FBQztvQkFDSixPQUFPLENBQUMscUJBQXFCLEdBQUcsd0JBQWUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO29CQUNoRixNQUFNO2dCQUVSLEtBQUssQ0FBQztvQkFDSixPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO29CQUMzRCxNQUFNO2dCQUVSO29CQUNFLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUN6QixNQUFNO2FBQ1Q7U0FDRjtRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxRQUFRLENBQUMsTUFBVztRQUNsQixPQUFPO1lBQ0wsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsdUJBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNySSxxQkFBcUIsRUFBRSxJQUFBLGVBQUssRUFBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsd0JBQWUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDL0gsTUFBTSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsYUFBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1NBQzlGLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQXlCO1FBQzlCLE1BQU0sR0FBRyxHQUFRLEVBQUUsQ0FBQztRQUVwQixJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRTtZQUM1QixHQUFHLENBQUMsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsdUJBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3JHO2FBQU07WUFDTCxHQUFHLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1NBQzNCO1FBRUQsT0FBTyxDQUFDLHFCQUFxQixLQUFLLFNBQVMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsR0FBRyxPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLHdCQUFlLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUUvSyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDbEIsR0FBRyxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDdkU7YUFBTTtZQUNMLEdBQUcsQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1NBQ2pCO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQWlDOztRQUMzQyxNQUFNLE9BQU8sR0FBRywwQkFBMEIsRUFBRSxDQUFDO1FBQzdDLE9BQU8sQ0FBQyxnQkFBZ0IsR0FBRyxDQUFBLE1BQUEsTUFBTSxDQUFDLGdCQUFnQiwwQ0FBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyx1QkFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFJLEVBQUUsQ0FBQztRQUNuRyxPQUFPLENBQUMscUJBQXFCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixLQUFLLFNBQVMsSUFBSSxNQUFNLENBQUMscUJBQXFCLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyx3QkFBZSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQzVMLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQSxNQUFBLE1BQU0sQ0FBQyxNQUFNLDBDQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLGFBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSSxFQUFFLENBQUM7UUFDckUsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUVGLENBQUM7QUFFRixTQUFTLHdCQUF3QjtJQUMvQixPQUFPO1FBQ0wsSUFBSSxFQUFFLElBQUksVUFBVSxFQUFFO1FBQ3RCLFlBQVksRUFBRSxjQUFJLENBQUMsSUFBSTtLQUN4QixDQUFDO0FBQ0osQ0FBQztBQUVZLFFBQUEsY0FBYyxHQUFHO0lBQzVCLE1BQU0sQ0FBQyxPQUF1QixFQUFFLFNBQXFCLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1FBQ3RFLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzdCLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN2QztRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ2xDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUMvQztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBOEIsRUFBRSxNQUFlO1FBQ3BELE1BQU0sTUFBTSxHQUFHLEtBQUssWUFBWSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzRSxJQUFJLEdBQUcsR0FBRyxNQUFNLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQztRQUNsRSxNQUFNLE9BQU8sR0FBRyx3QkFBd0IsRUFBRSxDQUFDO1FBRTNDLE9BQU8sTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUU7WUFDdkIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBRTVCLFFBQVEsR0FBRyxLQUFLLENBQUMsRUFBRTtnQkFDakIsS0FBSyxDQUFDO29CQUNKLE9BQU8sQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUM5QixNQUFNO2dCQUVSLEtBQUssQ0FBQztvQkFDSixPQUFPLENBQUMsWUFBWSxHQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQVcsQ0FBQztvQkFDaEQsTUFBTTtnQkFFUjtvQkFDRSxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFDekIsTUFBTTthQUNUO1NBQ0Y7UUFFRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQVc7UUFDbEIsT0FBTztZQUNMLElBQUksRUFBRSxJQUFBLGVBQUssRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUEseUJBQWUsRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxFQUFFO1lBQzFFLFlBQVksRUFBRSxJQUFBLGVBQUssRUFBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFJLENBQUMsSUFBSTtTQUMzRixDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUF1QjtRQUM1QixNQUFNLEdBQUcsR0FBUSxFQUFFLENBQUM7UUFDcEIsT0FBTyxDQUFDLElBQUksS0FBSyxTQUFTLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLElBQUEseUJBQWUsRUFBQyxPQUFPLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDekgsT0FBTyxDQUFDLFlBQVksS0FBSyxTQUFTLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxHQUFHLENBQUMsT0FBTyxDQUFDLFlBQVksSUFBSSxjQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUMxRyxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBK0I7O1FBQ3pDLE1BQU0sT0FBTyxHQUFHLHdCQUF3QixFQUFFLENBQUM7UUFDM0MsT0FBTyxDQUFDLElBQUksR0FBRyxNQUFBLE1BQU0sQ0FBQyxJQUFJLG1DQUFJLElBQUksVUFBVSxFQUFFLENBQUM7UUFDL0MsT0FBTyxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxLQUFLLFNBQVMsSUFBSSxNQUFNLENBQUMsWUFBWSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQUksQ0FBQyxJQUFJLENBQUM7UUFDM0ksT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUVGLENBQUM7QUFFRixTQUFTLCtCQUErQjtJQUN0QyxPQUFPO1FBQ0wsU0FBUyxFQUFFLEVBQUU7S0FDZCxDQUFDO0FBQ0osQ0FBQztBQUVZLFFBQUEscUJBQXFCLEdBQUc7SUFDbkMsTUFBTSxDQUFDLE9BQThCLEVBQUUsU0FBcUIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7UUFDN0UsS0FBSyxNQUFNLENBQUMsSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQ2pDLGdCQUFRLENBQUMsTUFBTSxDQUFDLENBQUUsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDeEQ7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQThCLEVBQUUsTUFBZTtRQUNwRCxNQUFNLE1BQU0sR0FBRyxLQUFLLFlBQVksR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0UsSUFBSSxHQUFHLEdBQUcsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDbEUsTUFBTSxPQUFPLEdBQUcsK0JBQStCLEVBQUUsQ0FBQztRQUVsRCxPQUFPLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFO1lBQ3ZCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUU1QixRQUFRLEdBQUcsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLEtBQUssQ0FBQztvQkFDSixPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxnQkFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztvQkFDakUsTUFBTTtnQkFFUjtvQkFDRSxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFDekIsTUFBTTthQUNUO1NBQ0Y7UUFFRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQVc7UUFDbEIsT0FBTztZQUNMLFNBQVMsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLGdCQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7U0FDMUcsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBOEI7UUFDbkMsTUFBTSxHQUFHLEdBQVEsRUFBRSxDQUFDO1FBRXBCLElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUNyQixHQUFHLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDaEY7YUFBTTtZQUNMLEdBQUcsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1NBQ3BCO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQXNDOztRQUNoRCxNQUFNLE9BQU8sR0FBRywrQkFBK0IsRUFBRSxDQUFDO1FBQ2xELE9BQU8sQ0FBQyxTQUFTLEdBQUcsQ0FBQSxNQUFBLE1BQU0sQ0FBQyxTQUFTLDBDQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLGdCQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUksRUFBRSxDQUFDO1FBQzlFLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FFRixDQUFDO0FBRUYsU0FBUywrQkFBK0I7SUFDdEMsT0FBTztRQUNMLE1BQU0sRUFBRSxDQUFDO0tBQ1YsQ0FBQztBQUNKLENBQUM7QUFFWSxRQUFBLHFCQUFxQixHQUFHO0lBQ25DLE1BQU0sQ0FBQyxPQUE4QixFQUFFLFNBQXFCLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1FBQzdFLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDeEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3hDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUE4QixFQUFFLE1BQWU7UUFDcEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxZQUFZLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNFLElBQUksR0FBRyxHQUFHLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ2xFLE1BQU0sT0FBTyxHQUFHLCtCQUErQixFQUFFLENBQUM7UUFFbEQsT0FBTyxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRTtZQUN2QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFFNUIsUUFBUSxHQUFHLEtBQUssQ0FBQyxFQUFFO2dCQUNqQixLQUFLLENBQUM7b0JBQ0osT0FBTyxDQUFDLE1BQU0sR0FBSSxNQUFNLENBQUMsS0FBSyxFQUFVLENBQUM7b0JBQ3pDLE1BQU07Z0JBRVI7b0JBQ0UsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQ3pCLE1BQU07YUFDVDtTQUNGO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELFFBQVEsQ0FBQyxNQUFXO1FBQ2xCLE9BQU87WUFDTCxNQUFNLEVBQUUsSUFBQSxlQUFLLEVBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQ0FBb0MsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdkYsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBOEI7UUFDbkMsTUFBTSxHQUFHLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxNQUFNLEtBQUssU0FBUyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxrQ0FBa0MsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNsRyxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBc0M7O1FBQ2hELE1BQU0sT0FBTyxHQUFHLCtCQUErQixFQUFFLENBQUM7UUFDbEQsT0FBTyxDQUFDLE1BQU0sR0FBRyxNQUFBLE1BQU0sQ0FBQyxNQUFNLG1DQUFJLENBQUMsQ0FBQztRQUNwQyxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBRUYsQ0FBQztBQUVGLFNBQVMsbUNBQW1DO0lBQzFDLE9BQU87UUFDTCxLQUFLLEVBQUUsSUFBSSxVQUFVLEVBQUU7S0FDeEIsQ0FBQztBQUNKLENBQUM7QUFFWSxRQUFBLHlCQUF5QixHQUFHO0lBQ3ZDLE1BQU0sQ0FBQyxPQUFrQyxFQUFFLFNBQXFCLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1FBQ2pGLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzlCLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN4QztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBOEIsRUFBRSxNQUFlO1FBQ3BELE1BQU0sTUFBTSxHQUFHLEtBQUssWUFBWSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzRSxJQUFJLEdBQUcsR0FBRyxNQUFNLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQztRQUNsRSxNQUFNLE9BQU8sR0FBRyxtQ0FBbUMsRUFBRSxDQUFDO1FBRXRELE9BQU8sTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUU7WUFDdkIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBRTVCLFFBQVEsR0FBRyxLQUFLLENBQUMsRUFBRTtnQkFDakIsS0FBSyxDQUFDO29CQUNKLE9BQU8sQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUMvQixNQUFNO2dCQUVSO29CQUNFLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUN6QixNQUFNO2FBQ1Q7U0FDRjtRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxRQUFRLENBQUMsTUFBVztRQUNsQixPQUFPO1lBQ0wsS0FBSyxFQUFFLElBQUEsZUFBSyxFQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBQSx5QkFBZSxFQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLEVBQUU7U0FDOUUsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBa0M7UUFDdkMsTUFBTSxHQUFHLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxLQUFLLEtBQUssU0FBUyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxJQUFBLHlCQUFlLEVBQUMsT0FBTyxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzdILE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUEwQzs7UUFDcEQsTUFBTSxPQUFPLEdBQUcsbUNBQW1DLEVBQUUsQ0FBQztRQUN0RCxPQUFPLENBQUMsS0FBSyxHQUFHLE1BQUEsTUFBTSxDQUFDLEtBQUssbUNBQUksSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNqRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBRUYsQ0FBQztBQUVGLFNBQVMsb0NBQW9DO0lBQzNDLE9BQU87UUFDTCxNQUFNLEVBQUUsQ0FBQztRQUNULGFBQWEsRUFBRSxFQUFFO1FBQ2pCLGFBQWEsRUFBRSxFQUFFO0tBQ2xCLENBQUM7QUFDSixDQUFDO0FBRVksUUFBQSwwQkFBMEIsR0FBRztJQUN4QyxNQUFNLENBQUMsT0FBbUMsRUFBRSxTQUFxQixHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUNsRixJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3hCLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN4QztRQUVELE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFekIsS0FBSyxNQUFNLENBQUMsSUFBSSxPQUFPLENBQUMsYUFBYSxFQUFFO1lBQ3JDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbEI7UUFFRCxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFaEIsS0FBSyxNQUFNLENBQUMsSUFBSSxPQUFPLENBQUMsYUFBYSxFQUFFO1lBQ3JDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUUsQ0FBQyxDQUFDO1NBQzlCO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUE4QixFQUFFLE1BQWU7UUFDcEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxZQUFZLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNFLElBQUksR0FBRyxHQUFHLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ2xFLE1BQU0sT0FBTyxHQUFHLG9DQUFvQyxFQUFFLENBQUM7UUFFdkQsT0FBTyxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRTtZQUN2QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFFNUIsUUFBUSxHQUFHLEtBQUssQ0FBQyxFQUFFO2dCQUNqQixLQUFLLENBQUM7b0JBQ0osT0FBTyxDQUFDLE1BQU0sR0FBSSxNQUFNLENBQUMsS0FBSyxFQUFVLENBQUM7b0JBQ3pDLE1BQU07Z0JBRVIsS0FBSyxDQUFDO29CQUNKLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFO3dCQUNuQixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQzt3QkFFMUMsT0FBTyxNQUFNLENBQUMsR0FBRyxHQUFHLElBQUksRUFBRTs0QkFDeEIsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7eUJBQzdDO3FCQUNGO3lCQUFNO3dCQUNMLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO3FCQUM3QztvQkFFRCxNQUFNO2dCQUVSLEtBQUssQ0FBQztvQkFDSixPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztvQkFDNUMsTUFBTTtnQkFFUjtvQkFDRSxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFDekIsTUFBTTthQUNUO1NBQ0Y7UUFFRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQVc7UUFDbEIsT0FBTztZQUNMLE1BQU0sRUFBRSxJQUFBLGVBQUssRUFBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLHlDQUF5QyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzRixhQUFhLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUMxRyxhQUFhLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtTQUMzRyxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFtQztRQUN4QyxNQUFNLEdBQUcsR0FBUSxFQUFFLENBQUM7UUFDcEIsT0FBTyxDQUFDLE1BQU0sS0FBSyxTQUFTLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLHVDQUF1QyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBRXZHLElBQUksT0FBTyxDQUFDLGFBQWEsRUFBRTtZQUN6QixHQUFHLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ25FO2FBQU07WUFDTCxHQUFHLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztTQUN4QjtRQUVELElBQUksT0FBTyxDQUFDLGFBQWEsRUFBRTtZQUN6QixHQUFHLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdkQ7YUFBTTtZQUNMLEdBQUcsQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1NBQ3hCO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQTJDOztRQUNyRCxNQUFNLE9BQU8sR0FBRyxvQ0FBb0MsRUFBRSxDQUFDO1FBQ3ZELE9BQU8sQ0FBQyxNQUFNLEdBQUcsTUFBQSxNQUFNLENBQUMsTUFBTSxtQ0FBSSxDQUFDLENBQUM7UUFDcEMsT0FBTyxDQUFDLGFBQWEsR0FBRyxDQUFBLE1BQUEsTUFBTSxDQUFDLGFBQWEsMENBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUksRUFBRSxDQUFDO1FBQ2hFLE9BQU8sQ0FBQyxhQUFhLEdBQUcsQ0FBQSxNQUFBLE1BQU0sQ0FBQyxhQUFhLDBDQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFJLEVBQUUsQ0FBQztRQUNoRSxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBRUYsQ0FBQztBQUVGLFNBQVMsaUNBQWlDO0lBQ3hDLE9BQU87UUFDTCxHQUFHLEVBQUUsRUFBRTtLQUNSLENBQUM7QUFDSixDQUFDO0FBRVksUUFBQSx1QkFBdUIsR0FBRztJQUNyQyxNQUFNLENBQUMsT0FBZ0MsRUFBRSxTQUFxQixHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUMvRSxLQUFLLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUU7WUFDM0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBRSxDQUFDLENBQUM7U0FDN0I7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQThCLEVBQUUsTUFBZTtRQUNwRCxNQUFNLE1BQU0sR0FBRyxLQUFLLFlBQVksR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0UsSUFBSSxHQUFHLEdBQUcsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDbEUsTUFBTSxPQUFPLEdBQUcsaUNBQWlDLEVBQUUsQ0FBQztRQUVwRCxPQUFPLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFO1lBQ3ZCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUU1QixRQUFRLEdBQUcsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLEtBQUssQ0FBQztvQkFDSixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztvQkFDakMsTUFBTTtnQkFFUjtvQkFDRSxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFDekIsTUFBTTthQUNUO1NBQ0Y7UUFFRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQVc7UUFDbEIsT0FBTztZQUNMLEdBQUcsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLElBQUEseUJBQWUsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1NBQ3RGLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQWdDO1FBQ3JDLE1BQU0sR0FBRyxHQUFRLEVBQUUsQ0FBQztRQUVwQixJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUU7WUFDZixHQUFHLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBQSx5QkFBZSxFQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDekY7YUFBTTtZQUNMLEdBQUcsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDO1NBQ2Q7UUFFRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBd0M7O1FBQ2xELE1BQU0sT0FBTyxHQUFHLGlDQUFpQyxFQUFFLENBQUM7UUFDcEQsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFBLE1BQUEsTUFBTSxDQUFDLEdBQUcsMENBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUksRUFBRSxDQUFDO1FBQzVDLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FFRixDQUFDO0FBRUYsU0FBUyxpQ0FBaUM7SUFDeEMsT0FBTztRQUNMLE1BQU0sRUFBRSxDQUFDO0tBQ1YsQ0FBQztBQUNKLENBQUM7QUFFWSxRQUFBLHVCQUF1QixHQUFHO0lBQ3JDLE1BQU0sQ0FBQyxPQUFnQyxFQUFFLFNBQXFCLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1FBQy9FLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDeEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3hDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUE4QixFQUFFLE1BQWU7UUFDcEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxZQUFZLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNFLElBQUksR0FBRyxHQUFHLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ2xFLE1BQU0sT0FBTyxHQUFHLGlDQUFpQyxFQUFFLENBQUM7UUFFcEQsT0FBTyxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRTtZQUN2QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFFNUIsUUFBUSxHQUFHLEtBQUssQ0FBQyxFQUFFO2dCQUNqQixLQUFLLENBQUM7b0JBQ0osT0FBTyxDQUFDLE1BQU0sR0FBSSxNQUFNLENBQUMsS0FBSyxFQUFVLENBQUM7b0JBQ3pDLE1BQU07Z0JBRVI7b0JBQ0UsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQ3pCLE1BQU07YUFDVDtTQUNGO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELFFBQVEsQ0FBQyxNQUFXO1FBQ2xCLE9BQU87WUFDTCxNQUFNLEVBQUUsSUFBQSxlQUFLLEVBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyw4Q0FBOEMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDakcsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBZ0M7UUFDckMsTUFBTSxHQUFHLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxNQUFNLEtBQUssU0FBUyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyw0Q0FBNEMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUM1RyxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBd0M7O1FBQ2xELE1BQU0sT0FBTyxHQUFHLGlDQUFpQyxFQUFFLENBQUM7UUFDcEQsT0FBTyxDQUFDLE1BQU0sR0FBRyxNQUFBLE1BQU0sQ0FBQyxNQUFNLG1DQUFJLENBQUMsQ0FBQztRQUNwQyxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBRUYsQ0FBQztBQUVGLFNBQVMsb0JBQW9CO0lBQzNCLE9BQU87UUFDTCxLQUFLLEVBQUUsQ0FBQztRQUNSLEtBQUssRUFBRSxFQUFFO0tBQ1YsQ0FBQztBQUNKLENBQUM7QUFFWSxRQUFBLFVBQVUsR0FBRztJQUN4QixNQUFNLENBQUMsT0FBbUIsRUFBRSxTQUFxQixHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUNsRSxJQUFJLE9BQU8sQ0FBQyxLQUFLLEtBQUssQ0FBQyxFQUFFO1lBQ3ZCLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN2QztRQUVELEtBQUssTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRTtZQUM3QixnQkFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFFLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ3hEO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUE4QixFQUFFLE1BQWU7UUFDcEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxZQUFZLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNFLElBQUksR0FBRyxHQUFHLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ2xFLE1BQU0sT0FBTyxHQUFHLG9CQUFvQixFQUFFLENBQUM7UUFFdkMsT0FBTyxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRTtZQUN2QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFFNUIsUUFBUSxHQUFHLEtBQUssQ0FBQyxFQUFFO2dCQUNqQixLQUFLLENBQUM7b0JBQ0osT0FBTyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQy9CLE1BQU07Z0JBRVIsS0FBSyxDQUFDO29CQUNKLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGdCQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO29CQUM3RCxNQUFNO2dCQUVSO29CQUNFLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUN6QixNQUFNO2FBQ1Q7U0FDRjtRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxRQUFRLENBQUMsTUFBVztRQUNsQixPQUFPO1lBQ0wsS0FBSyxFQUFFLElBQUEsZUFBSyxFQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyRCxLQUFLLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxnQkFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1NBQzlGLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQW1CO1FBQ3hCLE1BQU0sR0FBRyxHQUFRLEVBQUUsQ0FBQztRQUNwQixPQUFPLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUV2RSxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDakIsR0FBRyxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3hFO2FBQU07WUFDTCxHQUFHLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztTQUNoQjtRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUEyQjs7UUFDckMsTUFBTSxPQUFPLEdBQUcsb0JBQW9CLEVBQUUsQ0FBQztRQUN2QyxPQUFPLENBQUMsS0FBSyxHQUFHLE1BQUEsTUFBTSxDQUFDLEtBQUssbUNBQUksQ0FBQyxDQUFDO1FBQ2xDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsQ0FBQSxNQUFBLE1BQU0sQ0FBQyxLQUFLLDBDQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLGdCQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUksRUFBRSxDQUFDO1FBQ3RFLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FFRixDQUFDO0FBRUYsU0FBUyw0QkFBNEI7SUFDbkMsT0FBTztRQUNMLEtBQUssRUFBRSxDQUFDO1FBQ1IsS0FBSyxFQUFFLEVBQUU7S0FDVixDQUFDO0FBQ0osQ0FBQztBQUVZLFFBQUEsa0JBQWtCLEdBQUc7SUFDaEMsTUFBTSxDQUFDLE9BQTJCLEVBQUUsU0FBcUIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7UUFDMUUsSUFBSSxPQUFPLENBQUMsS0FBSyxLQUFLLENBQUMsRUFBRTtZQUN2QixNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdkM7UUFFRCxLQUFLLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDN0Isd0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUUsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDaEU7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQThCLEVBQUUsTUFBZTtRQUNwRCxNQUFNLE1BQU0sR0FBRyxLQUFLLFlBQVksR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0UsSUFBSSxHQUFHLEdBQUcsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDbEUsTUFBTSxPQUFPLEdBQUcsNEJBQTRCLEVBQUUsQ0FBQztRQUUvQyxPQUFPLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFO1lBQ3ZCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUU1QixRQUFRLEdBQUcsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLEtBQUssQ0FBQztvQkFDSixPQUFPLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDL0IsTUFBTTtnQkFFUixLQUFLLENBQUM7b0JBQ0osT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsd0JBQWdCLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO29CQUNyRSxNQUFNO2dCQUVSO29CQUNFLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUN6QixNQUFNO2FBQ1Q7U0FDRjtRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxRQUFRLENBQUMsTUFBVztRQUNsQixPQUFPO1lBQ0wsS0FBSyxFQUFFLElBQUEsZUFBSyxFQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyRCxLQUFLLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyx3QkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtTQUN0RyxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUEyQjtRQUNoQyxNQUFNLEdBQUcsR0FBUSxFQUFFLENBQUM7UUFDcEIsT0FBTyxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFdkUsSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFO1lBQ2pCLEdBQUcsQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDaEY7YUFBTTtZQUNMLEdBQUcsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1NBQ2hCO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQW1DOztRQUM3QyxNQUFNLE9BQU8sR0FBRyw0QkFBNEIsRUFBRSxDQUFDO1FBQy9DLE9BQU8sQ0FBQyxLQUFLLEdBQUcsTUFBQSxNQUFNLENBQUMsS0FBSyxtQ0FBSSxDQUFDLENBQUM7UUFDbEMsT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFBLE1BQUEsTUFBTSxDQUFDLEtBQUssMENBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsd0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUksRUFBRSxDQUFDO1FBQzlFLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FFRixDQUFDO0FBRUYsU0FBUyxlQUFlO0lBQ3RCLE9BQU87UUFDTCxJQUFJLEVBQUUsRUFBRTtRQUNSLFVBQVUsRUFBRSxFQUFFO0tBQ2YsQ0FBQztBQUNKLENBQUM7QUFFWSxRQUFBLEtBQUssR0FBRztJQUNuQixNQUFNLENBQUMsT0FBYyxFQUFFLFNBQXFCLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1FBQzdELElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxFQUFFLEVBQUU7WUFDdkIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3hDO1FBRUQsS0FBSyxNQUFNLENBQUMsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFO1lBQ2xDLHNCQUFjLENBQUMsTUFBTSxDQUFDLENBQUUsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDOUQ7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQThCLEVBQUUsTUFBZTtRQUNwRCxNQUFNLE1BQU0sR0FBRyxLQUFLLFlBQVksR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0UsSUFBSSxHQUFHLEdBQUcsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDbEUsTUFBTSxPQUFPLEdBQUcsZUFBZSxFQUFFLENBQUM7UUFFbEMsT0FBTyxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRTtZQUN2QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFFNUIsUUFBUSxHQUFHLEtBQUssQ0FBQyxFQUFFO2dCQUNqQixLQUFLLENBQUM7b0JBQ0osT0FBTyxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQy9CLE1BQU07Z0JBRVIsS0FBSyxDQUFDO29CQUNKLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLHNCQUFjLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO29CQUN4RSxNQUFNO2dCQUVSO29CQUNFLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUN6QixNQUFNO2FBQ1Q7U0FDRjtRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxRQUFRLENBQUMsTUFBVztRQUNsQixPQUFPO1lBQ0wsSUFBSSxFQUFFLElBQUEsZUFBSyxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNuRCxVQUFVLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxzQkFBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1NBQ25ILENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQWM7UUFDbkIsTUFBTSxHQUFHLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxJQUFJLEtBQUssU0FBUyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFeEQsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFO1lBQ3RCLEdBQUcsQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHNCQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN4RjthQUFNO1lBQ0wsR0FBRyxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7U0FDckI7UUFFRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBc0I7O1FBQ2hDLE1BQU0sT0FBTyxHQUFHLGVBQWUsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsTUFBQSxNQUFNLENBQUMsSUFBSSxtQ0FBSSxFQUFFLENBQUM7UUFDakMsT0FBTyxDQUFDLFVBQVUsR0FBRyxDQUFBLE1BQUEsTUFBTSxDQUFDLFVBQVUsMENBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsc0JBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSSxFQUFFLENBQUM7UUFDdEYsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUVGLENBQUM7QUFFRixTQUFTLHdCQUF3QjtJQUMvQixPQUFPO1FBQ0wsR0FBRyxFQUFFLEVBQUU7UUFDUCxLQUFLLEVBQUUsRUFBRTtRQUNULEtBQUssRUFBRSxLQUFLO0tBQ2IsQ0FBQztBQUNKLENBQUM7QUFFWSxRQUFBLGNBQWMsR0FBRztJQUM1QixNQUFNLENBQUMsT0FBdUIsRUFBRSxTQUFxQixHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUN0RSxJQUFJLE9BQU8sQ0FBQyxHQUFHLEtBQUssRUFBRSxFQUFFO1lBQ3RCLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN2QztRQUVELElBQUksT0FBTyxDQUFDLEtBQUssS0FBSyxFQUFFLEVBQUU7WUFDeEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3pDO1FBRUQsSUFBSSxPQUFPLENBQUMsS0FBSyxLQUFLLElBQUksRUFBRTtZQUMxQixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdkM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQThCLEVBQUUsTUFBZTtRQUNwRCxNQUFNLE1BQU0sR0FBRyxLQUFLLFlBQVksR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0UsSUFBSSxHQUFHLEdBQUcsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDbEUsTUFBTSxPQUFPLEdBQUcsd0JBQXdCLEVBQUUsQ0FBQztRQUUzQyxPQUFPLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFO1lBQ3ZCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUU1QixRQUFRLEdBQUcsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLEtBQUssQ0FBQztvQkFDSixPQUFPLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDOUIsTUFBTTtnQkFFUixLQUFLLENBQUM7b0JBQ0osT0FBTyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ2hDLE1BQU07Z0JBRVIsS0FBSyxDQUFDO29CQUNKLE9BQU8sQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO29CQUM5QixNQUFNO2dCQUVSO29CQUNFLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUN6QixNQUFNO2FBQ1Q7U0FDRjtRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxRQUFRLENBQUMsTUFBVztRQUNsQixPQUFPO1lBQ0wsR0FBRyxFQUFFLElBQUEsZUFBSyxFQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNoRCxLQUFLLEVBQUUsSUFBQSxlQUFLLEVBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3RELEtBQUssRUFBRSxJQUFBLGVBQUssRUFBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7U0FDM0QsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBdUI7UUFDNUIsTUFBTSxHQUFHLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxHQUFHLEtBQUssU0FBUyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckQsT0FBTyxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzRCxPQUFPLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUErQjs7UUFDekMsTUFBTSxPQUFPLEdBQUcsd0JBQXdCLEVBQUUsQ0FBQztRQUMzQyxPQUFPLENBQUMsR0FBRyxHQUFHLE1BQUEsTUFBTSxDQUFDLEdBQUcsbUNBQUksRUFBRSxDQUFDO1FBQy9CLE9BQU8sQ0FBQyxLQUFLLEdBQUcsTUFBQSxNQUFNLENBQUMsS0FBSyxtQ0FBSSxFQUFFLENBQUM7UUFDbkMsT0FBTyxDQUFDLEtBQUssR0FBRyxNQUFBLE1BQU0sQ0FBQyxLQUFLLG1DQUFJLEtBQUssQ0FBQztRQUN0QyxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBRUYsQ0FBQztBQUVGLFNBQVMsa0JBQWtCO0lBQ3pCLE9BQU87UUFDTCxNQUFNLEVBQUUsY0FBSSxDQUFDLElBQUk7UUFDakIsS0FBSyxFQUFFLENBQUM7UUFDUixFQUFFLEVBQUUsSUFBSSxVQUFVLEVBQUU7UUFDcEIsTUFBTSxFQUFFLFNBQVM7S0FDbEIsQ0FBQztBQUNKLENBQUM7QUFFWSxRQUFBLFFBQVEsR0FBRztJQUN0QixNQUFNLENBQUMsT0FBaUIsRUFBRSxTQUFxQixHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUNoRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUM1QixNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDeEM7UUFFRCxJQUFJLE9BQU8sQ0FBQyxLQUFLLEtBQUssQ0FBQyxFQUFFO1lBQ3ZCLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN6QztRQUVELElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzNCLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNyQztRQUVELElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxTQUFTLEVBQUU7WUFDaEMseUJBQWlCLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQzdFO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUE4QixFQUFFLE1BQWU7UUFDcEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxZQUFZLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNFLElBQUksR0FBRyxHQUFHLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ2xFLE1BQU0sT0FBTyxHQUFHLGtCQUFrQixFQUFFLENBQUM7UUFFckMsT0FBTyxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRTtZQUN2QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFFNUIsUUFBUSxHQUFHLEtBQUssQ0FBQyxFQUFFO2dCQUNqQixLQUFLLENBQUM7b0JBQ0osT0FBTyxDQUFDLE1BQU0sR0FBSSxNQUFNLENBQUMsS0FBSyxFQUFXLENBQUM7b0JBQzFDLE1BQU07Z0JBRVIsS0FBSyxDQUFDO29CQUNKLE9BQU8sQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUNoQyxNQUFNO2dCQUVSLEtBQUssQ0FBQztvQkFDSixPQUFPLENBQUMsRUFBRSxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDNUIsTUFBTTtnQkFFUixLQUFLLENBQUM7b0JBQ0osT0FBTyxDQUFDLE1BQU0sR0FBRyx5QkFBaUIsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO29CQUNuRSxNQUFNO2dCQUVSO29CQUNFLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUN6QixNQUFNO2FBQ1Q7U0FDRjtRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxRQUFRLENBQUMsTUFBVztRQUNsQixPQUFPO1lBQ0wsTUFBTSxFQUFFLElBQUEsZUFBSyxFQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQUksQ0FBQyxJQUFJO1lBQ3hFLEtBQUssRUFBRSxJQUFBLGVBQUssRUFBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckQsRUFBRSxFQUFFLElBQUEsZUFBSyxFQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBQSx5QkFBZSxFQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLEVBQUU7WUFDcEUsTUFBTSxFQUFFLElBQUEsZUFBSyxFQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMseUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztTQUNyRixDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFpQjtRQUN0QixNQUFNLEdBQUcsR0FBUSxFQUFFLENBQUM7UUFDcEIsT0FBTyxDQUFDLE1BQU0sS0FBSyxTQUFTLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxjQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUN4RixPQUFPLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN2RSxPQUFPLENBQUMsRUFBRSxLQUFLLFNBQVMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsSUFBQSx5QkFBZSxFQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNqSCxPQUFPLENBQUMsTUFBTSxLQUFLLFNBQVMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMseUJBQWlCLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDckgsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQXlCOztRQUNuQyxNQUFNLE9BQU8sR0FBRyxrQkFBa0IsRUFBRSxDQUFDO1FBQ3JDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sS0FBSyxTQUFTLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFJLENBQUMsSUFBSSxDQUFDO1FBQ25ILE9BQU8sQ0FBQyxLQUFLLEdBQUcsTUFBQSxNQUFNLENBQUMsS0FBSyxtQ0FBSSxDQUFDLENBQUM7UUFDbEMsT0FBTyxDQUFDLEVBQUUsR0FBRyxNQUFBLE1BQU0sQ0FBQyxFQUFFLG1DQUFJLElBQUksVUFBVSxFQUFFLENBQUM7UUFDM0MsT0FBTyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxLQUFLLFNBQVMsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMseUJBQWlCLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ2xJLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FFRixDQUFDO0FBRUYsU0FBUyxtQkFBbUI7SUFDMUIsT0FBTztRQUNMLE9BQU8sRUFBRSxJQUFJLFVBQVUsRUFBRTtRQUN6QixLQUFLLEVBQUUsY0FBSSxDQUFDLElBQUk7S0FDakIsQ0FBQztBQUNKLENBQUM7QUFFWSxRQUFBLFNBQVMsR0FBRztJQUN2QixNQUFNLENBQUMsT0FBa0IsRUFBRSxTQUFxQixHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUNqRSxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNoQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDMUM7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUMzQixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDeEM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQThCLEVBQUUsTUFBZTtRQUNwRCxNQUFNLE1BQU0sR0FBRyxLQUFLLFlBQVksR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0UsSUFBSSxHQUFHLEdBQUcsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDbEUsTUFBTSxPQUFPLEdBQUcsbUJBQW1CLEVBQUUsQ0FBQztRQUV0QyxPQUFPLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFO1lBQ3ZCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUU1QixRQUFRLEdBQUcsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLEtBQUssQ0FBQztvQkFDSixPQUFPLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDakMsTUFBTTtnQkFFUixLQUFLLENBQUM7b0JBQ0osT0FBTyxDQUFDLEtBQUssR0FBSSxNQUFNLENBQUMsS0FBSyxFQUFXLENBQUM7b0JBQ3pDLE1BQU07Z0JBRVI7b0JBQ0UsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQ3pCLE1BQU07YUFDVDtTQUNGO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELFFBQVEsQ0FBQyxNQUFXO1FBQ2xCLE9BQU87WUFDTCxPQUFPLEVBQUUsSUFBQSxlQUFLLEVBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFBLHlCQUFlLEVBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsRUFBRTtZQUNuRixLQUFLLEVBQUUsSUFBQSxlQUFLLEVBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBSSxDQUFDLElBQUk7U0FDdEUsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBa0I7UUFDdkIsTUFBTSxHQUFHLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxPQUFPLEtBQUssU0FBUyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sR0FBRyxJQUFBLHlCQUFlLEVBQUMsT0FBTyxDQUFDLE9BQU8sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3JJLE9BQU8sQ0FBQyxLQUFLLEtBQUssU0FBUyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksY0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDckYsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQTBCOztRQUNwQyxNQUFNLE9BQU8sR0FBRyxtQkFBbUIsRUFBRSxDQUFDO1FBQ3RDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsTUFBQSxNQUFNLENBQUMsT0FBTyxtQ0FBSSxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ3JELE9BQU8sQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksTUFBTSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFJLENBQUMsSUFBSSxDQUFDO1FBQy9HLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FFRixDQUFDO0FBRUYsU0FBUyx5QkFBeUI7SUFDaEMsT0FBTztRQUNMLE1BQU0sRUFBRSxTQUFTO1FBQ2pCLEtBQUssRUFBRSxjQUFJLENBQUMsSUFBSTtLQUNqQixDQUFDO0FBQ0osQ0FBQztBQUVZLFFBQUEsZUFBZSxHQUFHO0lBQzdCLE1BQU0sQ0FBQyxPQUF3QixFQUFFLFNBQXFCLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1FBQ3ZFLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxTQUFTLEVBQUU7WUFDaEMsZ0JBQVMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDckU7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUMzQixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDeEM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQThCLEVBQUUsTUFBZTtRQUNwRCxNQUFNLE1BQU0sR0FBRyxLQUFLLFlBQVksR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0UsSUFBSSxHQUFHLEdBQUcsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDbEUsTUFBTSxPQUFPLEdBQUcseUJBQXlCLEVBQUUsQ0FBQztRQUU1QyxPQUFPLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFO1lBQ3ZCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUU1QixRQUFRLEdBQUcsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLEtBQUssQ0FBQztvQkFDSixPQUFPLENBQUMsTUFBTSxHQUFHLGdCQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztvQkFDM0QsTUFBTTtnQkFFUixLQUFLLENBQUM7b0JBQ0osT0FBTyxDQUFDLEtBQUssR0FBSSxNQUFNLENBQUMsS0FBSyxFQUFXLENBQUM7b0JBQ3pDLE1BQU07Z0JBRVI7b0JBQ0UsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQ3pCLE1BQU07YUFDVDtTQUNGO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELFFBQVEsQ0FBQyxNQUFXO1FBQ2xCLE9BQU87WUFDTCxNQUFNLEVBQUUsSUFBQSxlQUFLLEVBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDNUUsS0FBSyxFQUFFLElBQUEsZUFBSyxFQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQUksQ0FBQyxJQUFJO1NBQ3RFLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQXdCO1FBQzdCLE1BQU0sR0FBRyxHQUFRLEVBQUUsQ0FBQztRQUNwQixPQUFPLENBQUMsTUFBTSxLQUFLLFNBQVMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsZ0JBQVMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3RyxPQUFPLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLGNBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3JGLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFnQztRQUMxQyxNQUFNLE9BQU8sR0FBRyx5QkFBeUIsRUFBRSxDQUFDO1FBQzVDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sS0FBSyxTQUFTLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLGdCQUFTLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQzFILE9BQU8sQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksTUFBTSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFJLENBQUMsSUFBSSxDQUFDO1FBQy9HLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FFRixDQUFDO0FBRUYsU0FBUyxrQkFBa0I7SUFDekIsT0FBTztRQUNMLFNBQVMsRUFBRSxTQUFTO1FBQ3BCLGVBQWUsRUFBRSxLQUFLO0tBQ3ZCLENBQUM7QUFDSixDQUFDO0FBRVksUUFBQSxRQUFRLEdBQUc7SUFDdEIsTUFBTSxDQUFDLE9BQWlCLEVBQUUsU0FBcUIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7UUFDaEUsSUFBSSxPQUFPLENBQUMsU0FBUyxLQUFLLFNBQVMsRUFBRTtZQUNuQyxpQkFBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUN4RTtRQUVELElBQUksT0FBTyxDQUFDLGVBQWUsS0FBSyxJQUFJLEVBQUU7WUFDcEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQ2pEO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUE4QixFQUFFLE1BQWU7UUFDcEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxZQUFZLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNFLElBQUksR0FBRyxHQUFHLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ2xFLE1BQU0sT0FBTyxHQUFHLGtCQUFrQixFQUFFLENBQUM7UUFFckMsT0FBTyxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRTtZQUN2QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFFNUIsUUFBUSxHQUFHLEtBQUssQ0FBQyxFQUFFO2dCQUNqQixLQUFLLENBQUM7b0JBQ0osT0FBTyxDQUFDLFNBQVMsR0FBRyxpQkFBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7b0JBQzlELE1BQU07Z0JBRVIsS0FBSyxDQUFDO29CQUNKLE9BQU8sQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO29CQUN4QyxNQUFNO2dCQUVSO29CQUNFLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUN6QixNQUFNO2FBQ1Q7U0FDRjtRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxRQUFRLENBQUMsTUFBVztRQUNsQixPQUFPO1lBQ0wsU0FBUyxFQUFFLElBQUEsZUFBSyxFQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQ3JGLGVBQWUsRUFBRSxJQUFBLGVBQUssRUFBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7U0FDekYsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBaUI7UUFDdEIsTUFBTSxHQUFHLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxTQUFTLEtBQUssU0FBUyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxpQkFBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3pILE9BQU8sQ0FBQyxlQUFlLEtBQUssU0FBUyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDekYsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQXlCOztRQUNuQyxNQUFNLE9BQU8sR0FBRyxrQkFBa0IsRUFBRSxDQUFDO1FBQ3JDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsS0FBSyxTQUFTLElBQUksTUFBTSxDQUFDLFNBQVMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLGlCQUFTLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ3RJLE9BQU8sQ0FBQyxlQUFlLEdBQUcsTUFBQSxNQUFNLENBQUMsZUFBZSxtQ0FBSSxLQUFLLENBQUM7UUFDMUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUVGLENBQUM7QUFFRixTQUFTLDBCQUEwQjtJQUNqQyxPQUFPO1FBQ0wsU0FBUyxFQUFFLFNBQVM7UUFDcEIsZUFBZSxFQUFFLEtBQUs7UUFDdEIsYUFBYSxFQUFFLElBQUksVUFBVSxFQUFFO0tBQ2hDLENBQUM7QUFDSixDQUFDO0FBRVksUUFBQSxnQkFBZ0IsR0FBRztJQUM5QixNQUFNLENBQUMsT0FBeUIsRUFBRSxTQUFxQixHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUN4RSxJQUFJLE9BQU8sQ0FBQyxTQUFTLEtBQUssU0FBUyxFQUFFO1lBQ25DLGlCQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ3hFO1FBRUQsSUFBSSxPQUFPLENBQUMsZUFBZSxLQUFLLElBQUksRUFBRTtZQUNwQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDakQ7UUFFRCxJQUFJLE9BQU8sQ0FBQyxhQUFhLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN0QyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDaEQ7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQThCLEVBQUUsTUFBZTtRQUNwRCxNQUFNLE1BQU0sR0FBRyxLQUFLLFlBQVksR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0UsSUFBSSxHQUFHLEdBQUcsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDbEUsTUFBTSxPQUFPLEdBQUcsMEJBQTBCLEVBQUUsQ0FBQztRQUU3QyxPQUFPLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFO1lBQ3ZCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUU1QixRQUFRLEdBQUcsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLEtBQUssQ0FBQztvQkFDSixPQUFPLENBQUMsU0FBUyxHQUFHLGlCQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztvQkFDOUQsTUFBTTtnQkFFUixLQUFLLENBQUM7b0JBQ0osT0FBTyxDQUFDLGVBQWUsR0FBRyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBQ3hDLE1BQU07Z0JBRVIsS0FBSyxDQUFDO29CQUNKLE9BQU8sQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUN2QyxNQUFNO2dCQUVSO29CQUNFLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUN6QixNQUFNO2FBQ1Q7U0FDRjtRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxRQUFRLENBQUMsTUFBVztRQUNsQixPQUFPO1lBQ0wsU0FBUyxFQUFFLElBQUEsZUFBSyxFQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQ3JGLGVBQWUsRUFBRSxJQUFBLGVBQUssRUFBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDeEYsYUFBYSxFQUFFLElBQUEsZUFBSyxFQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBQSx5QkFBZSxFQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLEVBQUU7U0FDdEcsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBeUI7UUFDOUIsTUFBTSxHQUFHLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxTQUFTLEtBQUssU0FBUyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxpQkFBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3pILE9BQU8sQ0FBQyxlQUFlLEtBQUssU0FBUyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDekYsT0FBTyxDQUFDLGFBQWEsS0FBSyxTQUFTLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxHQUFHLElBQUEseUJBQWUsRUFBQyxPQUFPLENBQUMsYUFBYSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDN0osT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQWlDOztRQUMzQyxNQUFNLE9BQU8sR0FBRywwQkFBMEIsRUFBRSxDQUFDO1FBQzdDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsS0FBSyxTQUFTLElBQUksTUFBTSxDQUFDLFNBQVMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLGlCQUFTLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ3RJLE9BQU8sQ0FBQyxlQUFlLEdBQUcsTUFBQSxNQUFNLENBQUMsZUFBZSxtQ0FBSSxLQUFLLENBQUM7UUFDMUQsT0FBTyxDQUFDLGFBQWEsR0FBRyxNQUFBLE1BQU0sQ0FBQyxhQUFhLG1DQUFJLElBQUksVUFBVSxFQUFFLENBQUM7UUFDakUsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUVGLENBQUM7QUFFRixTQUFTLHFCQUFxQjtJQUM1QixPQUFPO1FBQ0wsSUFBSSxFQUFFLENBQUM7UUFDUCxTQUFTLEVBQUUsU0FBUztRQUNwQixNQUFNLEVBQUUsY0FBSSxDQUFDLElBQUk7UUFDakIsSUFBSSxFQUFFLFNBQVM7UUFDZixnQkFBZ0IsRUFBRSxjQUFJLENBQUMsSUFBSTtLQUM1QixDQUFDO0FBQ0osQ0FBQztBQUVZLFFBQUEsV0FBVyxHQUFHO0lBQ3pCLE1BQU0sQ0FBQyxPQUFvQixFQUFFLFNBQXFCLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1FBQ25FLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUU7WUFDdEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3RDO1FBRUQsSUFBSSxPQUFPLENBQUMsU0FBUyxLQUFLLFNBQVMsRUFBRTtZQUNuQyxpQkFBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUN4RTtRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzVCLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN6QztRQUVELElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7WUFDOUIscUJBQVMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDbkU7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3RDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1NBQ25EO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUE4QixFQUFFLE1BQWU7UUFDcEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxZQUFZLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNFLElBQUksR0FBRyxHQUFHLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ2xFLE1BQU0sT0FBTyxHQUFHLHFCQUFxQixFQUFFLENBQUM7UUFFeEMsT0FBTyxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRTtZQUN2QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFFNUIsUUFBUSxHQUFHLEtBQUssQ0FBQyxFQUFFO2dCQUNqQixLQUFLLENBQUM7b0JBQ0osT0FBTyxDQUFDLElBQUksR0FBSSxNQUFNLENBQUMsS0FBSyxFQUFVLENBQUM7b0JBQ3ZDLE1BQU07Z0JBRVIsS0FBSyxDQUFDO29CQUNKLE9BQU8sQ0FBQyxTQUFTLEdBQUcsaUJBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO29CQUM5RCxNQUFNO2dCQUVSLEtBQUssQ0FBQztvQkFDSixPQUFPLENBQUMsTUFBTSxHQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQVcsQ0FBQztvQkFDMUMsTUFBTTtnQkFFUixLQUFLLENBQUM7b0JBQ0osT0FBTyxDQUFDLElBQUksR0FBRyxxQkFBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7b0JBQ3pELE1BQU07Z0JBRVIsS0FBSyxDQUFDO29CQUNKLE9BQU8sQ0FBQyxnQkFBZ0IsR0FBSSxNQUFNLENBQUMsS0FBSyxFQUFXLENBQUM7b0JBQ3BELE1BQU07Z0JBRVI7b0JBQ0UsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQ3pCLE1BQU07YUFDVDtTQUNGO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELFFBQVEsQ0FBQyxNQUFXO1FBQ2xCLE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBQSxlQUFLLEVBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbkUsU0FBUyxFQUFFLElBQUEsZUFBSyxFQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQ3JGLE1BQU0sRUFBRSxJQUFBLGVBQUssRUFBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFJLENBQUMsSUFBSTtZQUN4RSxJQUFJLEVBQUUsSUFBQSxlQUFLLEVBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFBLDJCQUFpQixFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztZQUNyRSxnQkFBZ0IsRUFBRSxJQUFBLGVBQUssRUFBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBSSxDQUFDLElBQUk7U0FDdkcsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBb0I7UUFDekIsTUFBTSxHQUFHLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxJQUFJLEtBQUssU0FBUyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMvRSxPQUFPLENBQUMsU0FBUyxLQUFLLFNBQVMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsaUJBQVMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6SCxPQUFPLENBQUMsTUFBTSxLQUFLLFNBQVMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLGNBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3hGLE9BQU8sQ0FBQyxJQUFJLEtBQUssU0FBUyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxJQUFBLHVCQUFhLEVBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDckYsT0FBTyxDQUFDLGdCQUFnQixLQUFLLFNBQVMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsSUFBSSxjQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUN0SCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBNEI7O1FBQ3RDLE1BQU0sT0FBTyxHQUFHLHFCQUFxQixFQUFFLENBQUM7UUFDeEMsT0FBTyxDQUFDLElBQUksR0FBRyxNQUFBLE1BQU0sQ0FBQyxJQUFJLG1DQUFJLENBQUMsQ0FBQztRQUNoQyxPQUFPLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLEtBQUssU0FBUyxJQUFJLE1BQU0sQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxpQkFBUyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUN0SSxPQUFPLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLEtBQUssU0FBUyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBSSxDQUFDLElBQUksQ0FBQztRQUNuSCxPQUFPLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLEtBQUssU0FBUyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxxQkFBUyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNsSCxPQUFPLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixLQUFLLFNBQVMsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFJLENBQUMsSUFBSSxDQUFDO1FBQzNKLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FFRixDQUFDO0FBRUYsU0FBUyxrQkFBa0I7SUFDekIsT0FBTztRQUNMLE1BQU0sRUFBRSxjQUFJLENBQUMsS0FBSztRQUNsQixNQUFNLEVBQUUsQ0FBQztRQUNULE1BQU0sRUFBRSxDQUFDO1FBQ1QsSUFBSSxFQUFFLElBQUksVUFBVSxFQUFFO1FBQ3RCLFFBQVEsRUFBRSxJQUFJLFVBQVUsRUFBRTtLQUMzQixDQUFDO0FBQ0osQ0FBQztBQUVZLFFBQUEsUUFBUSxHQUFHO0lBQ3RCLE1BQU0sQ0FBQyxPQUFpQixFQUFFLFNBQXFCLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1FBQ2hFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzVCLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN6QztRQUVELElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDeEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzFDO1FBRUQsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN4QixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDMUM7UUFFRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUM3QixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdkM7UUFFRCxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNqQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDM0M7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQThCLEVBQUUsTUFBZTtRQUNwRCxNQUFNLE1BQU0sR0FBRyxLQUFLLFlBQVksR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0UsSUFBSSxHQUFHLEdBQUcsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDbEUsTUFBTSxPQUFPLEdBQUcsa0JBQWtCLEVBQUUsQ0FBQztRQUVyQyxPQUFPLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFO1lBQ3ZCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUU1QixRQUFRLEdBQUcsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLEtBQUssQ0FBQztvQkFDSixPQUFPLENBQUMsTUFBTSxHQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQVcsQ0FBQztvQkFDM0MsTUFBTTtnQkFFUixLQUFLLENBQUM7b0JBQ0osT0FBTyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ2pDLE1BQU07Z0JBRVIsS0FBSyxDQUFDO29CQUNKLE9BQU8sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUNqQyxNQUFNO2dCQUVSLEtBQUssQ0FBQztvQkFDSixPQUFPLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDOUIsTUFBTTtnQkFFUixLQUFLLENBQUM7b0JBQ0osT0FBTyxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ2xDLE1BQU07Z0JBRVI7b0JBQ0UsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQ3pCLE1BQU07YUFDVDtTQUNGO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELFFBQVEsQ0FBQyxNQUFXO1FBQ2xCLE9BQU87WUFDTCxNQUFNLEVBQUUsSUFBQSxlQUFLLEVBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBSSxDQUFDLEtBQUs7WUFDekUsTUFBTSxFQUFFLElBQUEsZUFBSyxFQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN4RCxNQUFNLEVBQUUsSUFBQSxlQUFLLEVBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hELElBQUksRUFBRSxJQUFBLGVBQUssRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUEseUJBQWUsRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxFQUFFO1lBQzFFLFFBQVEsRUFBRSxJQUFBLGVBQUssRUFBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUEseUJBQWUsRUFBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxFQUFFO1NBQ3ZGLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQWlCO1FBQ3RCLE1BQU0sR0FBRyxHQUFRLEVBQUUsQ0FBQztRQUNwQixPQUFPLENBQUMsTUFBTSxLQUFLLFNBQVMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLGNBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3pGLE9BQU8sQ0FBQyxNQUFNLEtBQUssU0FBUyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzFFLE9BQU8sQ0FBQyxNQUFNLEtBQUssU0FBUyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzFFLE9BQU8sQ0FBQyxJQUFJLEtBQUssU0FBUyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxJQUFBLHlCQUFlLEVBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3pILE9BQU8sQ0FBQyxRQUFRLEtBQUssU0FBUyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsR0FBRyxJQUFBLHlCQUFlLEVBQUMsT0FBTyxDQUFDLFFBQVEsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3pJLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUF5Qjs7UUFDbkMsTUFBTSxPQUFPLEdBQUcsa0JBQWtCLEVBQUUsQ0FBQztRQUNyQyxPQUFPLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLEtBQUssU0FBUyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBSSxDQUFDLEtBQUssQ0FBQztRQUNwSCxPQUFPLENBQUMsTUFBTSxHQUFHLE1BQUEsTUFBTSxDQUFDLE1BQU0sbUNBQUksQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsTUFBQSxNQUFNLENBQUMsTUFBTSxtQ0FBSSxDQUFDLENBQUM7UUFDcEMsT0FBTyxDQUFDLElBQUksR0FBRyxNQUFBLE1BQU0sQ0FBQyxJQUFJLG1DQUFJLElBQUksVUFBVSxFQUFFLENBQUM7UUFDL0MsT0FBTyxDQUFDLFFBQVEsR0FBRyxNQUFBLE1BQU0sQ0FBQyxRQUFRLG1DQUFJLElBQUksVUFBVSxFQUFFLENBQUM7UUFDdkQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUVGLENBQUMifQ==