@hyperlane-xyz/core 7.0.0 → 7.1.0

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 (804) hide show
  1. package/contracts/PackageVersioned.sol +1 -1
  2. package/dist/buildArtifact.js +1 -1
  3. package/dist/buildArtifact.json +1 -1
  4. package/dist/typechain/factories/contracts/AttributeCheckpointFraud__factory.d.ts +1 -1
  5. package/dist/typechain/factories/contracts/AttributeCheckpointFraud__factory.js +1 -1
  6. package/dist/typechain/factories/contracts/CheckpointFraudProofs__factory.d.ts +1 -1
  7. package/dist/typechain/factories/contracts/CheckpointFraudProofs__factory.js +1 -1
  8. package/dist/typechain/factories/contracts/Mailbox__factory.d.ts +1 -1
  9. package/dist/typechain/factories/contracts/Mailbox__factory.js +1 -1
  10. package/dist/typechain/factories/contracts/avs/ECDSAStakeRegistry__factory.d.ts +1 -1
  11. package/dist/typechain/factories/contracts/avs/ECDSAStakeRegistry__factory.js +1 -1
  12. package/dist/typechain/factories/contracts/avs/HyperlaneServiceManager__factory.d.ts +1 -1
  13. package/dist/typechain/factories/contracts/avs/HyperlaneServiceManager__factory.js +1 -1
  14. package/dist/typechain/factories/contracts/hooks/ArbL2ToL1Hook__factory.d.ts +1 -1
  15. package/dist/typechain/factories/contracts/hooks/ArbL2ToL1Hook__factory.js +1 -1
  16. package/dist/typechain/factories/contracts/hooks/CCIPHook__factory.d.ts +1 -1
  17. package/dist/typechain/factories/contracts/hooks/CCIPHook__factory.js +1 -1
  18. package/dist/typechain/factories/contracts/hooks/DefaultHook__factory.d.ts +1 -1
  19. package/dist/typechain/factories/contracts/hooks/DefaultHook__factory.js +1 -1
  20. package/dist/typechain/factories/contracts/hooks/MerkleTreeHook__factory.d.ts +1 -1
  21. package/dist/typechain/factories/contracts/hooks/MerkleTreeHook__factory.js +1 -1
  22. package/dist/typechain/factories/contracts/hooks/OPL2ToL1Hook__factory.d.ts +1 -1
  23. package/dist/typechain/factories/contracts/hooks/OPL2ToL1Hook__factory.js +1 -1
  24. package/dist/typechain/factories/contracts/hooks/OPStackHook__factory.d.ts +1 -1
  25. package/dist/typechain/factories/contracts/hooks/OPStackHook__factory.js +1 -1
  26. package/dist/typechain/factories/contracts/hooks/PausableHook__factory.d.ts +1 -1
  27. package/dist/typechain/factories/contracts/hooks/PausableHook__factory.js +1 -1
  28. package/dist/typechain/factories/contracts/hooks/PolygonPosHook__factory.d.ts +1 -1
  29. package/dist/typechain/factories/contracts/hooks/PolygonPosHook__factory.js +1 -1
  30. package/dist/typechain/factories/contracts/hooks/ProtocolFee__factory.d.ts +1 -1
  31. package/dist/typechain/factories/contracts/hooks/ProtocolFee__factory.js +1 -1
  32. package/dist/typechain/factories/contracts/hooks/aggregation/ERC5164Hook__factory.d.ts +1 -1
  33. package/dist/typechain/factories/contracts/hooks/aggregation/ERC5164Hook__factory.js +1 -1
  34. package/dist/typechain/factories/contracts/hooks/aggregation/StaticAggregationHookFactory__factory.d.ts +1 -1
  35. package/dist/typechain/factories/contracts/hooks/aggregation/StaticAggregationHookFactory__factory.js +1 -1
  36. package/dist/typechain/factories/contracts/hooks/aggregation/StaticAggregationHook__factory.d.ts +1 -1
  37. package/dist/typechain/factories/contracts/hooks/aggregation/StaticAggregationHook__factory.js +1 -1
  38. package/dist/typechain/factories/contracts/hooks/igp/InterchainGasPaymaster__factory.d.ts +1 -1
  39. package/dist/typechain/factories/contracts/hooks/igp/InterchainGasPaymaster__factory.js +1 -1
  40. package/dist/typechain/factories/contracts/hooks/igp/StorageGasOracle__factory.d.ts +1 -1
  41. package/dist/typechain/factories/contracts/hooks/igp/StorageGasOracle__factory.js +1 -1
  42. package/dist/typechain/factories/contracts/hooks/layer-zero/LayerZeroV1Hook__factory.d.ts +1 -1
  43. package/dist/typechain/factories/contracts/hooks/layer-zero/LayerZeroV1Hook__factory.js +1 -1
  44. package/dist/typechain/factories/contracts/hooks/layer-zero/LayerZeroV2Hook__factory.d.ts +1 -1
  45. package/dist/typechain/factories/contracts/hooks/layer-zero/LayerZeroV2Hook__factory.js +1 -1
  46. package/dist/typechain/factories/contracts/hooks/routing/AmountRoutingHook__factory.d.ts +1 -1
  47. package/dist/typechain/factories/contracts/hooks/routing/AmountRoutingHook__factory.js +1 -1
  48. package/dist/typechain/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.d.ts +1 -1
  49. package/dist/typechain/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.js +1 -1
  50. package/dist/typechain/factories/contracts/hooks/routing/DomainRoutingHook__factory.d.ts +1 -1
  51. package/dist/typechain/factories/contracts/hooks/routing/DomainRoutingHook__factory.js +1 -1
  52. package/dist/typechain/factories/contracts/hooks/routing/FallbackDomainRoutingHook__factory.d.ts +1 -1
  53. package/dist/typechain/factories/contracts/hooks/routing/FallbackDomainRoutingHook__factory.js +1 -1
  54. package/dist/typechain/factories/contracts/hooks/warp-route/RateLimitedHook__factory.d.ts +1 -1
  55. package/dist/typechain/factories/contracts/hooks/warp-route/RateLimitedHook__factory.js +1 -1
  56. package/dist/typechain/factories/contracts/isms/NoopIsm__factory.d.ts +1 -1
  57. package/dist/typechain/factories/contracts/isms/NoopIsm__factory.js +1 -1
  58. package/dist/typechain/factories/contracts/isms/PausableIsm__factory.d.ts +1 -1
  59. package/dist/typechain/factories/contracts/isms/PausableIsm__factory.js +1 -1
  60. package/dist/typechain/factories/contracts/isms/TrustedRelayerIsm__factory.d.ts +1 -1
  61. package/dist/typechain/factories/contracts/isms/TrustedRelayerIsm__factory.js +1 -1
  62. package/dist/typechain/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.d.ts +1 -1
  63. package/dist/typechain/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.js +1 -1
  64. package/dist/typechain/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.d.ts +1 -1
  65. package/dist/typechain/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.js +1 -1
  66. package/dist/typechain/factories/contracts/isms/aggregation/StorageAggregationIsm.sol/StorageAggregationIsmFactory__factory.d.ts +1 -1
  67. package/dist/typechain/factories/contracts/isms/aggregation/StorageAggregationIsm.sol/StorageAggregationIsmFactory__factory.js +1 -1
  68. package/dist/typechain/factories/contracts/isms/aggregation/StorageAggregationIsm.sol/StorageAggregationIsm__factory.d.ts +1 -1
  69. package/dist/typechain/factories/contracts/isms/aggregation/StorageAggregationIsm.sol/StorageAggregationIsm__factory.js +1 -1
  70. package/dist/typechain/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.d.ts +1 -1
  71. package/dist/typechain/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.js +1 -1
  72. package/dist/typechain/factories/contracts/isms/hook/CCIPIsm__factory.d.ts +1 -1
  73. package/dist/typechain/factories/contracts/isms/hook/CCIPIsm__factory.js +1 -1
  74. package/dist/typechain/factories/contracts/isms/hook/ERC5164Ism__factory.d.ts +1 -1
  75. package/dist/typechain/factories/contracts/isms/hook/ERC5164Ism__factory.js +1 -1
  76. package/dist/typechain/factories/contracts/isms/hook/OPL2ToL1Ism__factory.d.ts +1 -1
  77. package/dist/typechain/factories/contracts/isms/hook/OPL2ToL1Ism__factory.js +1 -1
  78. package/dist/typechain/factories/contracts/isms/hook/OPStackIsm__factory.d.ts +1 -1
  79. package/dist/typechain/factories/contracts/isms/hook/OPStackIsm__factory.js +1 -1
  80. package/dist/typechain/factories/contracts/isms/hook/PolygonPosIsm__factory.d.ts +1 -1
  81. package/dist/typechain/factories/contracts/isms/hook/PolygonPosIsm__factory.js +1 -1
  82. package/dist/typechain/factories/contracts/isms/hook/layer-zero/LayerZeroV2Ism__factory.d.ts +1 -1
  83. package/dist/typechain/factories/contracts/isms/hook/layer-zero/LayerZeroV2Ism__factory.js +1 -1
  84. package/dist/typechain/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.d.ts +1 -1
  85. package/dist/typechain/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.js +1 -1
  86. package/dist/typechain/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.d.ts +1 -1
  87. package/dist/typechain/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.js +1 -1
  88. package/dist/typechain/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.d.ts +1 -1
  89. package/dist/typechain/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.js +1 -1
  90. package/dist/typechain/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.d.ts +1 -1
  91. package/dist/typechain/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.js +1 -1
  92. package/dist/typechain/factories/contracts/isms/multisig/StorageMultisigIsm.sol/StorageMerkleRootMultisigIsmFactory__factory.d.ts +1 -1
  93. package/dist/typechain/factories/contracts/isms/multisig/StorageMultisigIsm.sol/StorageMerkleRootMultisigIsmFactory__factory.js +1 -1
  94. package/dist/typechain/factories/contracts/isms/multisig/StorageMultisigIsm.sol/StorageMerkleRootMultisigIsm__factory.d.ts +1 -1
  95. package/dist/typechain/factories/contracts/isms/multisig/StorageMultisigIsm.sol/StorageMerkleRootMultisigIsm__factory.js +1 -1
  96. package/dist/typechain/factories/contracts/isms/multisig/StorageMultisigIsm.sol/StorageMessageIdMultisigIsmFactory__factory.d.ts +1 -1
  97. package/dist/typechain/factories/contracts/isms/multisig/StorageMultisigIsm.sol/StorageMessageIdMultisigIsmFactory__factory.js +1 -1
  98. package/dist/typechain/factories/contracts/isms/multisig/StorageMultisigIsm.sol/StorageMessageIdMultisigIsm__factory.d.ts +1 -1
  99. package/dist/typechain/factories/contracts/isms/multisig/StorageMultisigIsm.sol/StorageMessageIdMultisigIsm__factory.js +1 -1
  100. package/dist/typechain/factories/contracts/isms/multisig/ValidatorAnnounce__factory.d.ts +1 -1
  101. package/dist/typechain/factories/contracts/isms/multisig/ValidatorAnnounce__factory.js +1 -1
  102. package/dist/typechain/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory__factory.d.ts +1 -1
  103. package/dist/typechain/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory__factory.js +1 -1
  104. package/dist/typechain/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm__factory.d.ts +1 -1
  105. package/dist/typechain/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm__factory.js +1 -1
  106. package/dist/typechain/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory__factory.d.ts +1 -1
  107. package/dist/typechain/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory__factory.js +1 -1
  108. package/dist/typechain/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm__factory.d.ts +1 -1
  109. package/dist/typechain/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm__factory.js +1 -1
  110. package/dist/typechain/factories/contracts/isms/routing/DefaultFallbackRoutingIsm__factory.d.ts +1 -1
  111. package/dist/typechain/factories/contracts/isms/routing/DefaultFallbackRoutingIsm__factory.js +1 -1
  112. package/dist/typechain/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.d.ts +1 -1
  113. package/dist/typechain/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.js +1 -1
  114. package/dist/typechain/factories/contracts/isms/routing/DomainRoutingIsm__factory.d.ts +1 -1
  115. package/dist/typechain/factories/contracts/isms/routing/DomainRoutingIsm__factory.js +1 -1
  116. package/dist/typechain/factories/contracts/isms/routing/InterchainAccountIsm__factory.d.ts +1 -1
  117. package/dist/typechain/factories/contracts/isms/routing/InterchainAccountIsm__factory.js +1 -1
  118. package/dist/typechain/factories/contracts/isms/warp-route/AmountRoutingIsm__factory.d.ts +1 -1
  119. package/dist/typechain/factories/contracts/isms/warp-route/AmountRoutingIsm__factory.js +1 -1
  120. package/dist/typechain/factories/contracts/isms/warp-route/RateLimitedIsm__factory.d.ts +1 -1
  121. package/dist/typechain/factories/contracts/isms/warp-route/RateLimitedIsm__factory.js +1 -1
  122. package/dist/typechain/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts +1 -1
  123. package/dist/typechain/factories/contracts/middleware/InterchainAccountRouter__factory.js +1 -1
  124. package/dist/typechain/factories/contracts/middleware/InterchainQueryRouter__factory.d.ts +1 -1
  125. package/dist/typechain/factories/contracts/middleware/InterchainQueryRouter__factory.js +1 -1
  126. package/dist/typechain/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.d.ts +1 -1
  127. package/dist/typechain/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.js +1 -1
  128. package/dist/typechain/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.d.ts +1 -1
  129. package/dist/typechain/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.js +1 -1
  130. package/dist/typechain/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.d.ts +1 -1
  131. package/dist/typechain/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.js +1 -1
  132. package/dist/typechain/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts +1 -1
  133. package/dist/typechain/factories/contracts/mock/MockHyperlaneEnvironment__factory.js +1 -1
  134. package/dist/typechain/factories/contracts/mock/MockMailbox__factory.d.ts +1 -1
  135. package/dist/typechain/factories/contracts/mock/MockMailbox__factory.js +1 -1
  136. package/dist/typechain/factories/contracts/test/TestGasRouter__factory.d.ts +1 -1
  137. package/dist/typechain/factories/contracts/test/TestGasRouter__factory.js +1 -1
  138. package/dist/typechain/factories/contracts/test/TestInterchainGasPaymaster__factory.d.ts +1 -1
  139. package/dist/typechain/factories/contracts/test/TestInterchainGasPaymaster__factory.js +1 -1
  140. package/dist/typechain/factories/contracts/test/TestMailbox__factory.d.ts +1 -1
  141. package/dist/typechain/factories/contracts/test/TestMailbox__factory.js +1 -1
  142. package/dist/typechain/factories/contracts/test/TestMerkleTreeHook__factory.d.ts +1 -1
  143. package/dist/typechain/factories/contracts/test/TestMerkleTreeHook__factory.js +1 -1
  144. package/dist/typechain/factories/contracts/test/TestPostDispatchHook__factory.d.ts +1 -1
  145. package/dist/typechain/factories/contracts/test/TestPostDispatchHook__factory.js +1 -1
  146. package/dist/typechain/factories/contracts/test/TestQuerySender__factory.d.ts +1 -1
  147. package/dist/typechain/factories/contracts/test/TestQuerySender__factory.js +1 -1
  148. package/dist/typechain/factories/contracts/test/TestQuery__factory.d.ts +1 -1
  149. package/dist/typechain/factories/contracts/test/TestQuery__factory.js +1 -1
  150. package/dist/typechain/factories/contracts/test/TestRemoteChallenger__factory.d.ts +1 -1
  151. package/dist/typechain/factories/contracts/test/TestRemoteChallenger__factory.js +1 -1
  152. package/dist/typechain/factories/contracts/test/TestRouter__factory.d.ts +1 -1
  153. package/dist/typechain/factories/contracts/test/TestRouter__factory.js +1 -1
  154. package/dist/typechain/factories/contracts/test/TestSendReceiver__factory.d.ts +1 -1
  155. package/dist/typechain/factories/contracts/test/TestSendReceiver__factory.js +1 -1
  156. package/dist/typechain/factories/contracts/test/avs/TestHyperlaneServiceManager__factory.d.ts +1 -1
  157. package/dist/typechain/factories/contracts/test/avs/TestHyperlaneServiceManager__factory.js +1 -1
  158. package/dist/typechain/factories/contracts/token/HypERC20Collateral__factory.d.ts +1 -1
  159. package/dist/typechain/factories/contracts/token/HypERC20Collateral__factory.js +1 -1
  160. package/dist/typechain/factories/contracts/token/HypERC20__factory.d.ts +1 -1
  161. package/dist/typechain/factories/contracts/token/HypERC20__factory.js +1 -1
  162. package/dist/typechain/factories/contracts/token/HypERC721Collateral__factory.d.ts +1 -1
  163. package/dist/typechain/factories/contracts/token/HypERC721Collateral__factory.js +1 -1
  164. package/dist/typechain/factories/contracts/token/HypERC721__factory.d.ts +1 -1
  165. package/dist/typechain/factories/contracts/token/HypERC721__factory.js +1 -1
  166. package/dist/typechain/factories/contracts/token/HypNative__factory.d.ts +1 -1
  167. package/dist/typechain/factories/contracts/token/HypNative__factory.js +1 -1
  168. package/dist/typechain/factories/contracts/token/extensions/HypERC4626Collateral__factory.d.ts +1 -1
  169. package/dist/typechain/factories/contracts/token/extensions/HypERC4626Collateral__factory.js +1 -1
  170. package/dist/typechain/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.d.ts +1 -1
  171. package/dist/typechain/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.js +1 -1
  172. package/dist/typechain/factories/contracts/token/extensions/HypERC4626__factory.d.ts +1 -1
  173. package/dist/typechain/factories/contracts/token/extensions/HypERC4626__factory.js +1 -1
  174. package/dist/typechain/factories/contracts/token/extensions/HypERC721URICollateral__factory.d.ts +1 -1
  175. package/dist/typechain/factories/contracts/token/extensions/HypERC721URICollateral__factory.js +1 -1
  176. package/dist/typechain/factories/contracts/token/extensions/HypERC721URIStorage__factory.d.ts +1 -1
  177. package/dist/typechain/factories/contracts/token/extensions/HypERC721URIStorage__factory.js +1 -1
  178. package/dist/typechain/factories/contracts/token/extensions/HypFiatToken__factory.d.ts +1 -1
  179. package/dist/typechain/factories/contracts/token/extensions/HypFiatToken__factory.js +1 -1
  180. package/dist/typechain/factories/contracts/token/extensions/HypXERC20Lockbox__factory.d.ts +1 -1
  181. package/dist/typechain/factories/contracts/token/extensions/HypXERC20Lockbox__factory.js +1 -1
  182. package/dist/typechain/factories/contracts/token/extensions/HypXERC20__factory.d.ts +1 -1
  183. package/dist/typechain/factories/contracts/token/extensions/HypXERC20__factory.js +1 -1
  184. package/dist/typechain/factories/contracts/token/extensions/WHypERC4626__factory.d.ts +1 -1
  185. package/dist/typechain/factories/contracts/token/extensions/WHypERC4626__factory.js +1 -1
  186. package/dist/zksync/artifacts/AbstractAggregationIsm.d.ts +1 -2
  187. package/dist/zksync/artifacts/AbstractAggregationIsm.js +1 -85
  188. package/dist/zksync/artifacts/AbstractCcipReadIsm.d.ts +1 -2
  189. package/dist/zksync/artifacts/AbstractCcipReadIsm.js +1 -92
  190. package/dist/zksync/artifacts/AbstractDomainRoutingIsmFactory.d.ts +1 -2
  191. package/dist/zksync/artifacts/AbstractDomainRoutingIsmFactory.js +1 -79
  192. package/dist/zksync/artifacts/AbstractMerkleRootMultisigIsm.d.ts +1 -2
  193. package/dist/zksync/artifacts/AbstractMerkleRootMultisigIsm.js +1 -43
  194. package/dist/zksync/artifacts/AbstractMessageIdAuthHook.d.ts +1 -2
  195. package/dist/zksync/artifacts/AbstractMessageIdAuthHook.js +1 -293
  196. package/dist/zksync/artifacts/AbstractMessageIdAuthorizedIsm.d.ts +1 -2
  197. package/dist/zksync/artifacts/AbstractMessageIdAuthorizedIsm.js +1 -188
  198. package/dist/zksync/artifacts/AbstractMessageIdMultisigIsm.d.ts +1 -2
  199. package/dist/zksync/artifacts/AbstractMessageIdMultisigIsm.js +1 -43
  200. package/dist/zksync/artifacts/AbstractMetaProxyMultisigIsm.d.ts +1 -2
  201. package/dist/zksync/artifacts/AbstractMetaProxyMultisigIsm.js +1 -104
  202. package/dist/zksync/artifacts/AbstractMetaProxyWeightedMultisigIsm.d.ts +1 -2
  203. package/dist/zksync/artifacts/AbstractMetaProxyWeightedMultisigIsm.js +1 -129
  204. package/dist/zksync/artifacts/AbstractMultisig.d.ts +1 -2
  205. package/dist/zksync/artifacts/AbstractMultisig.js +1 -43
  206. package/dist/zksync/artifacts/AbstractMultisigIsm.d.ts +1 -2
  207. package/dist/zksync/artifacts/AbstractMultisigIsm.js +1 -104
  208. package/dist/zksync/artifacts/AbstractPostDispatchHook.d.ts +1 -2
  209. package/dist/zksync/artifacts/AbstractPostDispatchHook.js +1 -98
  210. package/dist/zksync/artifacts/AbstractRoutingIsm.d.ts +1 -2
  211. package/dist/zksync/artifacts/AbstractRoutingIsm.js +1 -67
  212. package/dist/zksync/artifacts/AbstractStaticWeightedMultisigIsm.d.ts +1 -2
  213. package/dist/zksync/artifacts/AbstractStaticWeightedMultisigIsm.js +1 -129
  214. package/dist/zksync/artifacts/AbstractStorageMultisigIsm.d.ts +1 -2
  215. package/dist/zksync/artifacts/AbstractStorageMultisigIsm.js +1 -300
  216. package/dist/zksync/artifacts/AccessControl.d.ts +1 -2
  217. package/dist/zksync/artifacts/AccessControl.js +1 -215
  218. package/dist/zksync/artifacts/Address.d.ts +1 -2
  219. package/dist/zksync/artifacts/Address.js +1 -10
  220. package/dist/zksync/artifacts/AddressUpgradeable.d.ts +1 -2
  221. package/dist/zksync/artifacts/AddressUpgradeable.js +1 -10
  222. package/dist/zksync/artifacts/AggregationIsmMetadata.d.ts +1 -2
  223. package/dist/zksync/artifacts/AggregationIsmMetadata.js +1 -10
  224. package/dist/zksync/artifacts/AmountPartition.d.ts +1 -2
  225. package/dist/zksync/artifacts/AmountPartition.js +1 -63
  226. package/dist/zksync/artifacts/AmountRoutingHook.d.ts +1 -2
  227. package/dist/zksync/artifacts/AmountRoutingHook.js +1 -158
  228. package/dist/zksync/artifacts/AmountRoutingIsm.d.ts +1 -2
  229. package/dist/zksync/artifacts/AmountRoutingIsm.js +1 -140
  230. package/dist/zksync/artifacts/ArbL2ToL1Hook.d.ts +1 -2
  231. package/dist/zksync/artifacts/ArbL2ToL1Hook.js +1 -350
  232. package/dist/zksync/artifacts/ArbL2ToL1Ism.d.ts +1 -2
  233. package/dist/zksync/artifacts/ArbL2ToL1Ism.js +1 -217
  234. package/dist/zksync/artifacts/ArbSys.d.ts +1 -2
  235. package/dist/zksync/artifacts/ArbSys.js +1 -380
  236. package/dist/zksync/artifacts/AttributeCheckpointFraud.d.ts +1 -2
  237. package/dist/zksync/artifacts/AttributeCheckpointFraud.js +1 -379
  238. package/dist/zksync/artifacts/CCIPHook.d.ts +1 -2
  239. package/dist/zksync/artifacts/CCIPHook.js +1 -337
  240. package/dist/zksync/artifacts/CCIPIsm.d.ts +1 -2
  241. package/dist/zksync/artifacts/CCIPIsm.js +1 -312
  242. package/dist/zksync/artifacts/CCIPReceiver.d.ts +1 -2
  243. package/dist/zksync/artifacts/CCIPReceiver.js +1 -106
  244. package/dist/zksync/artifacts/CallLib.d.ts +1 -2
  245. package/dist/zksync/artifacts/CallLib.js +1 -10
  246. package/dist/zksync/artifacts/CheckpointFraudProofs.d.ts +1 -2
  247. package/dist/zksync/artifacts/CheckpointFraudProofs.js +1 -310
  248. package/dist/zksync/artifacts/CheckpointLib.d.ts +1 -2
  249. package/dist/zksync/artifacts/CheckpointLib.js +1 -10
  250. package/dist/zksync/artifacts/CheckpointsUpgradeable.d.ts +1 -2
  251. package/dist/zksync/artifacts/CheckpointsUpgradeable.js +1 -10
  252. package/dist/zksync/artifacts/CircleBridgeAdapter.d.ts +1 -2
  253. package/dist/zksync/artifacts/CircleBridgeAdapter.js +1 -642
  254. package/dist/zksync/artifacts/Client.d.ts +1 -2
  255. package/dist/zksync/artifacts/Client.js +1 -37
  256. package/dist/zksync/artifacts/Context.d.ts +1 -2
  257. package/dist/zksync/artifacts/Context.js +1 -10
  258. package/dist/zksync/artifacts/ContextUpgradeable.d.ts +1 -2
  259. package/dist/zksync/artifacts/ContextUpgradeable.js +1 -24
  260. package/dist/zksync/artifacts/Create2.d.ts +1 -2
  261. package/dist/zksync/artifacts/Create2.js +1 -10
  262. package/dist/zksync/artifacts/CrossChainEnabled.d.ts +1 -2
  263. package/dist/zksync/artifacts/CrossChainEnabled.js +1 -10
  264. package/dist/zksync/artifacts/CrossChainEnabledArbitrumL1.d.ts +1 -2
  265. package/dist/zksync/artifacts/CrossChainEnabledArbitrumL1.js +1 -10
  266. package/dist/zksync/artifacts/CrossChainEnabledOptimism.d.ts +1 -2
  267. package/dist/zksync/artifacts/CrossChainEnabledOptimism.js +1 -10
  268. package/dist/zksync/artifacts/CrossChainEnabledPolygonChild.d.ts +1 -2
  269. package/dist/zksync/artifacts/CrossChainEnabledPolygonChild.js +1 -39
  270. package/dist/zksync/artifacts/DefaultFallbackRoutingIsm.d.ts +1 -2
  271. package/dist/zksync/artifacts/DefaultFallbackRoutingIsm.js +1 -359
  272. package/dist/zksync/artifacts/DefaultHook.d.ts +1 -2
  273. package/dist/zksync/artifacts/DefaultHook.js +1 -291
  274. package/dist/zksync/artifacts/DestinationRecipientRoutingHook.d.ts +1 -2
  275. package/dist/zksync/artifacts/DestinationRecipientRoutingHook.js +1 -392
  276. package/dist/zksync/artifacts/DomainRoutingHook.d.ts +1 -2
  277. package/dist/zksync/artifacts/DomainRoutingHook.js +1 -345
  278. package/dist/zksync/artifacts/DomainRoutingIsm.d.ts +1 -2
  279. package/dist/zksync/artifacts/DomainRoutingIsm.js +1 -244
  280. package/dist/zksync/artifacts/DomainRoutingIsmFactory.d.ts +1 -2
  281. package/dist/zksync/artifacts/DomainRoutingIsmFactory.js +1 -84
  282. package/dist/zksync/artifacts/ECDSA.d.ts +1 -2
  283. package/dist/zksync/artifacts/ECDSA.js +1 -10
  284. package/dist/zksync/artifacts/ECDSAServiceManagerBase.d.ts +1 -2
  285. package/dist/zksync/artifacts/ECDSAServiceManagerBase.js +1 -286
  286. package/dist/zksync/artifacts/ECDSAStakeRegistry.d.ts +1 -2
  287. package/dist/zksync/artifacts/ECDSAStakeRegistry.js +1 -839
  288. package/dist/zksync/artifacts/ECDSAStakeRegistryStorage.d.ts +1 -2
  289. package/dist/zksync/artifacts/ECDSAStakeRegistryStorage.js +1 -297
  290. package/dist/zksync/artifacts/ECDSAUpgradeable.d.ts +1 -2
  291. package/dist/zksync/artifacts/ECDSAUpgradeable.js +1 -10
  292. package/dist/zksync/artifacts/ERC165.d.ts +1 -2
  293. package/dist/zksync/artifacts/ERC165.js +1 -30
  294. package/dist/zksync/artifacts/ERC165Upgradeable.d.ts +1 -2
  295. package/dist/zksync/artifacts/ERC165Upgradeable.js +1 -43
  296. package/dist/zksync/artifacts/ERC1967Proxy.d.ts +1 -2
  297. package/dist/zksync/artifacts/ERC1967Proxy.js +1 -80
  298. package/dist/zksync/artifacts/ERC1967Upgrade.d.ts +1 -2
  299. package/dist/zksync/artifacts/ERC1967Upgrade.js +1 -56
  300. package/dist/zksync/artifacts/ERC20.d.ts +1 -2
  301. package/dist/zksync/artifacts/ERC20.js +1 -297
  302. package/dist/zksync/artifacts/ERC20Test.d.ts +1 -2
  303. package/dist/zksync/artifacts/ERC20Test.js +1 -369
  304. package/dist/zksync/artifacts/ERC20Upgradeable.d.ts +1 -2
  305. package/dist/zksync/artifacts/ERC20Upgradeable.js +1 -294
  306. package/dist/zksync/artifacts/ERC4626.d.ts +1 -2
  307. package/dist/zksync/artifacts/ERC4626.js +1 -671
  308. package/dist/zksync/artifacts/ERC4626Test.d.ts +1 -2
  309. package/dist/zksync/artifacts/ERC4626Test.js +1 -692
  310. package/dist/zksync/artifacts/ERC5164Hook.d.ts +1 -2
  311. package/dist/zksync/artifacts/ERC5164Hook.js +1 -332
  312. package/dist/zksync/artifacts/ERC5164Ism.d.ts +1 -2
  313. package/dist/zksync/artifacts/ERC5164Ism.js +1 -212
  314. package/dist/zksync/artifacts/ERC721.d.ts +1 -2
  315. package/dist/zksync/artifacts/ERC721.js +1 -357
  316. package/dist/zksync/artifacts/ERC721Enumerable.d.ts +1 -2
  317. package/dist/zksync/artifacts/ERC721Enumerable.js +1 -397
  318. package/dist/zksync/artifacts/ERC721EnumerableUpgradeable.d.ts +1 -2
  319. package/dist/zksync/artifacts/ERC721EnumerableUpgradeable.js +1 -410
  320. package/dist/zksync/artifacts/ERC721Test.d.ts +1 -2
  321. package/dist/zksync/artifacts/ERC721Test.js +1 -418
  322. package/dist/zksync/artifacts/ERC721URIStorageUpgradeable.d.ts +1 -2
  323. package/dist/zksync/artifacts/ERC721URIStorageUpgradeable.js +1 -386
  324. package/dist/zksync/artifacts/ERC721Upgradeable.d.ts +1 -2
  325. package/dist/zksync/artifacts/ERC721Upgradeable.js +1 -354
  326. package/dist/zksync/artifacts/EnumerableMap.d.ts +1 -2
  327. package/dist/zksync/artifacts/EnumerableMap.js +1 -10
  328. package/dist/zksync/artifacts/EnumerableMapEnrollment.d.ts +1 -2
  329. package/dist/zksync/artifacts/EnumerableMapEnrollment.js +1 -73
  330. package/dist/zksync/artifacts/EnumerableMapExtended.d.ts +1 -2
  331. package/dist/zksync/artifacts/EnumerableMapExtended.js +1 -10
  332. package/dist/zksync/artifacts/EnumerableSet.d.ts +1 -2
  333. package/dist/zksync/artifacts/EnumerableSet.js +1 -10
  334. package/dist/zksync/artifacts/ExitPayloadReader.d.ts +1 -2
  335. package/dist/zksync/artifacts/ExitPayloadReader.js +1 -10
  336. package/dist/zksync/artifacts/FallbackDomainRoutingHook.d.ts +1 -2
  337. package/dist/zksync/artifacts/FallbackDomainRoutingHook.js +1 -363
  338. package/dist/zksync/artifacts/FiatTokenTest.d.ts +1 -2
  339. package/dist/zksync/artifacts/FiatTokenTest.js +1 -406
  340. package/dist/zksync/artifacts/FungibleTokenRouter.d.ts +1 -2
  341. package/dist/zksync/artifacts/FungibleTokenRouter.js +1 -560
  342. package/dist/zksync/artifacts/FxBaseRootTunnel.d.ts +1 -2
  343. package/dist/zksync/artifacts/FxBaseRootTunnel.js +1 -108
  344. package/dist/zksync/artifacts/GasRouter.d.ts +1 -2
  345. package/dist/zksync/artifacts/GasRouter.js +1 -410
  346. package/dist/zksync/artifacts/HypERC20.d.ts +1 -2
  347. package/dist/zksync/artifacts/HypERC20.js +1 -870
  348. package/dist/zksync/artifacts/HypERC20Collateral.d.ts +1 -2
  349. package/dist/zksync/artifacts/HypERC20Collateral.js +1 -617
  350. package/dist/zksync/artifacts/HypERC4626.d.ts +1 -2
  351. package/dist/zksync/artifacts/HypERC4626.js +1 -1016
  352. package/dist/zksync/artifacts/HypERC4626Collateral.d.ts +1 -2
  353. package/dist/zksync/artifacts/HypERC4626Collateral.js +1 -692
  354. package/dist/zksync/artifacts/HypERC4626OwnerCollateral.d.ts +1 -2
  355. package/dist/zksync/artifacts/HypERC4626OwnerCollateral.js +1 -695
  356. package/dist/zksync/artifacts/HypERC721.d.ts +1 -2
  357. package/dist/zksync/artifacts/HypERC721.js +1 -963
  358. package/dist/zksync/artifacts/HypERC721Collateral.d.ts +1 -2
  359. package/dist/zksync/artifacts/HypERC721Collateral.js +1 -618
  360. package/dist/zksync/artifacts/HypERC721URICollateral.d.ts +1 -2
  361. package/dist/zksync/artifacts/HypERC721URICollateral.js +1 -618
  362. package/dist/zksync/artifacts/HypERC721URIStorage.d.ts +1 -2
  363. package/dist/zksync/artifacts/HypERC721URIStorage.js +1 -995
  364. package/dist/zksync/artifacts/HypFiatToken.d.ts +1 -2
  365. package/dist/zksync/artifacts/HypFiatToken.js +1 -617
  366. package/dist/zksync/artifacts/HypNative.d.ts +1 -2
  367. package/dist/zksync/artifacts/HypNative.js +1 -622
  368. package/dist/zksync/artifacts/HypXERC20.d.ts +1 -2
  369. package/dist/zksync/artifacts/HypXERC20.js +1 -617
  370. package/dist/zksync/artifacts/HypXERC20Lockbox.d.ts +1 -2
  371. package/dist/zksync/artifacts/HypXERC20Lockbox.js +1 -650
  372. package/dist/zksync/artifacts/HyperlaneServiceManager.d.ts +1 -2
  373. package/dist/zksync/artifacts/HyperlaneServiceManager.js +1 -572
  374. package/dist/zksync/artifacts/IAVSDirectory.d.ts +1 -2
  375. package/dist/zksync/artifacts/IAVSDirectory.js +1 -91
  376. package/dist/zksync/artifacts/IAccessControl.d.ts +1 -2
  377. package/dist/zksync/artifacts/IAccessControl.js +1 -183
  378. package/dist/zksync/artifacts/IAggregationIsm.d.ts +1 -2
  379. package/dist/zksync/artifacts/IAggregationIsm.js +1 -72
  380. package/dist/zksync/artifacts/IAny2EVMMessageReceiver.d.ts +1 -2
  381. package/dist/zksync/artifacts/IAny2EVMMessageReceiver.js +1 -63
  382. package/dist/zksync/artifacts/IBeacon.d.ts +1 -2
  383. package/dist/zksync/artifacts/IBeacon.js +1 -24
  384. package/dist/zksync/artifacts/IBridge.d.ts +1 -2
  385. package/dist/zksync/artifacts/IBridge.js +1 -522
  386. package/dist/zksync/artifacts/ICcipReadIsm.d.ts +1 -2
  387. package/dist/zksync/artifacts/ICcipReadIsm.js +1 -92
  388. package/dist/zksync/artifacts/ICheckpointManager.d.ts +1 -2
  389. package/dist/zksync/artifacts/ICheckpointManager.js +1 -50
  390. package/dist/zksync/artifacts/ICircleMessageTransmitter.d.ts +1 -2
  391. package/dist/zksync/artifacts/ICircleMessageTransmitter.js +1 -54
  392. package/dist/zksync/artifacts/ICrossDomainMessenger.d.ts +1 -2
  393. package/dist/zksync/artifacts/ICrossDomainMessenger.js +1 -110
  394. package/dist/zksync/artifacts/IDelegationManager.d.ts +1 -2
  395. package/dist/zksync/artifacts/IDelegationManager.js +1 -89
  396. package/dist/zksync/artifacts/IECDSAStakeRegistryEventsAndErrors.d.ts +1 -2
  397. package/dist/zksync/artifacts/IECDSAStakeRegistryEventsAndErrors.js +1 -297
  398. package/dist/zksync/artifacts/IERC1155Receiver.d.ts +1 -2
  399. package/dist/zksync/artifacts/IERC1155Receiver.js +1 -108
  400. package/dist/zksync/artifacts/IERC1271Upgradeable.d.ts +1 -2
  401. package/dist/zksync/artifacts/IERC1271Upgradeable.js +1 -35
  402. package/dist/zksync/artifacts/IERC165.d.ts +1 -2
  403. package/dist/zksync/artifacts/IERC165.js +1 -30
  404. package/dist/zksync/artifacts/IERC165Upgradeable.d.ts +1 -2
  405. package/dist/zksync/artifacts/IERC165Upgradeable.js +1 -30
  406. package/dist/zksync/artifacts/IERC1822Proxiable.d.ts +1 -2
  407. package/dist/zksync/artifacts/IERC1822Proxiable.js +1 -24
  408. package/dist/zksync/artifacts/IERC1967.d.ts +1 -2
  409. package/dist/zksync/artifacts/IERC1967.js +1 -56
  410. package/dist/zksync/artifacts/IERC20.d.ts +1 -2
  411. package/dist/zksync/artifacts/IERC20.js +1 -194
  412. package/dist/zksync/artifacts/IERC20Metadata.d.ts +1 -2
  413. package/dist/zksync/artifacts/IERC20Metadata.js +1 -233
  414. package/dist/zksync/artifacts/IERC20MetadataUpgradeable.d.ts +1 -2
  415. package/dist/zksync/artifacts/IERC20MetadataUpgradeable.js +1 -233
  416. package/dist/zksync/artifacts/IERC20Permit.d.ts +1 -2
  417. package/dist/zksync/artifacts/IERC20Permit.js +1 -86
  418. package/dist/zksync/artifacts/IERC20Upgradeable.d.ts +1 -2
  419. package/dist/zksync/artifacts/IERC20Upgradeable.js +1 -194
  420. package/dist/zksync/artifacts/IERC4626.d.ts +1 -2
  421. package/dist/zksync/artifacts/IERC4626.js +1 -623
  422. package/dist/zksync/artifacts/IERC4906Upgradeable.d.ts +1 -2
  423. package/dist/zksync/artifacts/IERC4906Upgradeable.js +1 -328
  424. package/dist/zksync/artifacts/IERC721.d.ts +1 -2
  425. package/dist/zksync/artifacts/IERC721.js +1 -296
  426. package/dist/zksync/artifacts/IERC721Enumerable.d.ts +1 -2
  427. package/dist/zksync/artifacts/IERC721Enumerable.js +1 -352
  428. package/dist/zksync/artifacts/IERC721EnumerableUpgradeable.d.ts +1 -2
  429. package/dist/zksync/artifacts/IERC721EnumerableUpgradeable.js +1 -352
  430. package/dist/zksync/artifacts/IERC721Metadata.d.ts +1 -2
  431. package/dist/zksync/artifacts/IERC721Metadata.js +1 -341
  432. package/dist/zksync/artifacts/IERC721MetadataUpgradeable.d.ts +1 -2
  433. package/dist/zksync/artifacts/IERC721MetadataUpgradeable.js +1 -341
  434. package/dist/zksync/artifacts/IERC721Receiver.d.ts +1 -2
  435. package/dist/zksync/artifacts/IERC721Receiver.js +1 -45
  436. package/dist/zksync/artifacts/IERC721ReceiverUpgradeable.d.ts +1 -2
  437. package/dist/zksync/artifacts/IERC721ReceiverUpgradeable.js +1 -45
  438. package/dist/zksync/artifacts/IERC721Upgradeable.d.ts +1 -2
  439. package/dist/zksync/artifacts/IERC721Upgradeable.js +1 -296
  440. package/dist/zksync/artifacts/IFiatToken.d.ts +1 -2
  441. package/dist/zksync/artifacts/IFiatToken.js +1 -231
  442. package/dist/zksync/artifacts/IFxMessageProcessor.d.ts +1 -2
  443. package/dist/zksync/artifacts/IFxMessageProcessor.js +1 -34
  444. package/dist/zksync/artifacts/IFxStateSender.d.ts +1 -2
  445. package/dist/zksync/artifacts/IFxStateSender.js +1 -29
  446. package/dist/zksync/artifacts/IGasOracle.d.ts +1 -2
  447. package/dist/zksync/artifacts/IGasOracle.js +1 -35
  448. package/dist/zksync/artifacts/IInterchainGasPaymaster.d.ts +1 -2
  449. package/dist/zksync/artifacts/IInterchainGasPaymaster.js +1 -94
  450. package/dist/zksync/artifacts/IInterchainSecurityModule.d.ts +1 -2
  451. package/dist/zksync/artifacts/IInterchainSecurityModule.js +1 -48
  452. package/dist/zksync/artifacts/IL1CrossDomainMessenger.d.ts +1 -2
  453. package/dist/zksync/artifacts/IL1CrossDomainMessenger.js +1 -111
  454. package/dist/zksync/artifacts/IL2CrossDomainMessenger.d.ts +1 -2
  455. package/dist/zksync/artifacts/IL2CrossDomainMessenger.js +1 -124
  456. package/dist/zksync/artifacts/ILayerZeroEndpoint.d.ts +1 -2
  457. package/dist/zksync/artifacts/ILayerZeroEndpoint.js +1 -447
  458. package/dist/zksync/artifacts/ILayerZeroEndpointV2.d.ts +1 -2
  459. package/dist/zksync/artifacts/ILayerZeroEndpointV2.js +1 -1844
  460. package/dist/zksync/artifacts/ILayerZeroUserApplicationConfig.d.ts +1 -2
  461. package/dist/zksync/artifacts/ILayerZeroUserApplicationConfig.js +1 -83
  462. package/dist/zksync/artifacts/ILiquidityLayerAdapter.d.ts +1 -2
  463. package/dist/zksync/artifacts/ILiquidityLayerAdapter.js +1 -84
  464. package/dist/zksync/artifacts/ILiquidityLayerMessageRecipient.d.ts +1 -2
  465. package/dist/zksync/artifacts/ILiquidityLayerMessageRecipient.js +1 -44
  466. package/dist/zksync/artifacts/ILiquidityLayerRouter.d.ts +1 -2
  467. package/dist/zksync/artifacts/ILiquidityLayerRouter.js +1 -55
  468. package/dist/zksync/artifacts/IMailbox.d.ts +1 -2
  469. package/dist/zksync/artifacts/IMailbox.js +1 -418
  470. package/dist/zksync/artifacts/IMessageDispatcher.d.ts +1 -2
  471. package/dist/zksync/artifacts/IMessageDispatcher.js +1 -77
  472. package/dist/zksync/artifacts/IMessageLibManager.d.ts +1 -2
  473. package/dist/zksync/artifacts/IMessageLibManager.js +1 -629
  474. package/dist/zksync/artifacts/IMessageRecipient.d.ts +1 -2
  475. package/dist/zksync/artifacts/IMessageRecipient.js +1 -34
  476. package/dist/zksync/artifacts/IMessagingChannel.d.ts +1 -2
  477. package/dist/zksync/artifacts/IMessagingChannel.js +1 -344
  478. package/dist/zksync/artifacts/IMessagingComposer.d.ts +1 -2
  479. package/dist/zksync/artifacts/IMessagingComposer.js +1 -246
  480. package/dist/zksync/artifacts/IMessagingContext.d.ts +1 -2
  481. package/dist/zksync/artifacts/IMessagingContext.js +1 -42
  482. package/dist/zksync/artifacts/IMultisigIsm.d.ts +1 -2
  483. package/dist/zksync/artifacts/IMultisigIsm.js +1 -72
  484. package/dist/zksync/artifacts/IOptimismPortal.d.ts +1 -2
  485. package/dist/zksync/artifacts/IOptimismPortal.js +1 -56
  486. package/dist/zksync/artifacts/IOutbox.d.ts +1 -2
  487. package/dist/zksync/artifacts/IOutbox.js +1 -446
  488. package/dist/zksync/artifacts/IOwnable.d.ts +1 -2
  489. package/dist/zksync/artifacts/IOwnable.js +1 -24
  490. package/dist/zksync/artifacts/IPaymentCoordinator.d.ts +1 -2
  491. package/dist/zksync/artifacts/IPaymentCoordinator.js +1 -63
  492. package/dist/zksync/artifacts/IPortalTokenBridge.d.ts +1 -2
  493. package/dist/zksync/artifacts/IPortalTokenBridge.js +1 -197
  494. package/dist/zksync/artifacts/IPostDispatchHook.d.ts +1 -2
  495. package/dist/zksync/artifacts/IPostDispatchHook.js +1 -85
  496. package/dist/zksync/artifacts/IRemoteChallenger.d.ts +1 -2
  497. package/dist/zksync/artifacts/IRemoteChallenger.js +1 -37
  498. package/dist/zksync/artifacts/IRouter.d.ts +1 -2
  499. package/dist/zksync/artifacts/IRouter.js +1 -79
  500. package/dist/zksync/artifacts/IRouterClient.d.ts +1 -2
  501. package/dist/zksync/artifacts/IRouterClient.js +1 -177
  502. package/dist/zksync/artifacts/IRoutingIsm.d.ts +1 -2
  503. package/dist/zksync/artifacts/IRoutingIsm.js +1 -67
  504. package/dist/zksync/artifacts/IServiceManager.d.ts +1 -2
  505. package/dist/zksync/artifacts/IServiceManager.js +1 -169
  506. package/dist/zksync/artifacts/IServiceManagerUI.d.ts +1 -2
  507. package/dist/zksync/artifacts/IServiceManagerUI.js +1 -117
  508. package/dist/zksync/artifacts/ISignatureUtils.d.ts +1 -2
  509. package/dist/zksync/artifacts/ISignatureUtils.js +1 -10
  510. package/dist/zksync/artifacts/ISlasher.d.ts +1 -2
  511. package/dist/zksync/artifacts/ISlasher.js +1 -24
  512. package/dist/zksync/artifacts/ISpecifiesInterchainSecurityModule.d.ts +1 -2
  513. package/dist/zksync/artifacts/ISpecifiesInterchainSecurityModule.js +1 -24
  514. package/dist/zksync/artifacts/IStaticWeightedMultisigIsm.d.ts +1 -2
  515. package/dist/zksync/artifacts/IStaticWeightedMultisigIsm.js +1 -84
  516. package/dist/zksync/artifacts/IStrategy.d.ts +1 -2
  517. package/dist/zksync/artifacts/IStrategy.js +1 -230
  518. package/dist/zksync/artifacts/IThresholdAddressFactory.d.ts +1 -2
  519. package/dist/zksync/artifacts/IThresholdAddressFactory.js +1 -35
  520. package/dist/zksync/artifacts/ITokenMessenger.d.ts +1 -2
  521. package/dist/zksync/artifacts/ITokenMessenger.js +1 -97
  522. package/dist/zksync/artifacts/ITransparentUpgradeableProxy.d.ts +1 -2
  523. package/dist/zksync/artifacts/ITransparentUpgradeableProxy.js +1 -126
  524. package/dist/zksync/artifacts/IValidatorAnnounce.d.ts +1 -2
  525. package/dist/zksync/artifacts/IValidatorAnnounce.js +1 -72
  526. package/dist/zksync/artifacts/IXERC20.d.ts +1 -2
  527. package/dist/zksync/artifacts/IXERC20.js +1 -342
  528. package/dist/zksync/artifacts/IXERC20Lockbox.d.ts +1 -2
  529. package/dist/zksync/artifacts/IXERC20Lockbox.js +1 -112
  530. package/dist/zksync/artifacts/IXERC20VS.d.ts +1 -2
  531. package/dist/zksync/artifacts/IXERC20VS.js +1 -463
  532. package/dist/zksync/artifacts/Indexed.d.ts +1 -2
  533. package/dist/zksync/artifacts/Indexed.js +1 -29
  534. package/dist/zksync/artifacts/Initializable.d.ts +1 -2
  535. package/dist/zksync/artifacts/Initializable.js +1 -24
  536. package/dist/zksync/artifacts/InterchainAccountIsm.d.ts +1 -2
  537. package/dist/zksync/artifacts/InterchainAccountIsm.js +1 -91
  538. package/dist/zksync/artifacts/InterchainAccountMessage.d.ts +1 -2
  539. package/dist/zksync/artifacts/InterchainAccountMessage.js +1 -10
  540. package/dist/zksync/artifacts/InterchainAccountRouter.d.ts +1 -2
  541. package/dist/zksync/artifacts/InterchainAccountRouter.js +1 -1018
  542. package/dist/zksync/artifacts/InterchainGasPaymaster.d.ts +1 -2
  543. package/dist/zksync/artifacts/InterchainGasPaymaster.js +1 -457
  544. package/dist/zksync/artifacts/InterchainQueryMessage.d.ts +1 -2
  545. package/dist/zksync/artifacts/InterchainQueryMessage.js +1 -10
  546. package/dist/zksync/artifacts/InterchainQueryRouter.d.ts +1 -2
  547. package/dist/zksync/artifacts/InterchainQueryRouter.js +1 -483
  548. package/dist/zksync/artifacts/LayerZeroTreasuryMock.d.ts +1 -2
  549. package/dist/zksync/artifacts/LayerZeroTreasuryMock.js +1 -77
  550. package/dist/zksync/artifacts/LayerZeroV1Hook.d.ts +1 -2
  551. package/dist/zksync/artifacts/LayerZeroV1Hook.js +1 -398
  552. package/dist/zksync/artifacts/LayerZeroV2Hook.d.ts +1 -2
  553. package/dist/zksync/artifacts/LayerZeroV2Hook.js +1 -397
  554. package/dist/zksync/artifacts/LayerZeroV2Ism.d.ts +1 -2
  555. package/dist/zksync/artifacts/LayerZeroV2Ism.js +1 -262
  556. package/dist/zksync/artifacts/LibArbitrumL1.d.ts +1 -2
  557. package/dist/zksync/artifacts/LibArbitrumL1.js +1 -10
  558. package/dist/zksync/artifacts/LibBit.d.ts +1 -2
  559. package/dist/zksync/artifacts/LibBit.js +1 -10
  560. package/dist/zksync/artifacts/LibOptimism.d.ts +1 -2
  561. package/dist/zksync/artifacts/LibOptimism.js +1 -10
  562. package/dist/zksync/artifacts/LightTestRecipient.d.ts +1 -2
  563. package/dist/zksync/artifacts/LightTestRecipient.js +1 -242
  564. package/dist/zksync/artifacts/LiquidityLayerRouter.d.ts +1 -2
  565. package/dist/zksync/artifacts/LiquidityLayerRouter.js +1 -444
  566. package/dist/zksync/artifacts/Mailbox.d.ts +1 -2
  567. package/dist/zksync/artifacts/Mailbox.js +1 -690
  568. package/dist/zksync/artifacts/MailboxClient.d.ts +1 -2
  569. package/dist/zksync/artifacts/MailboxClient.js +1 -193
  570. package/dist/zksync/artifacts/Math.d.ts +1 -2
  571. package/dist/zksync/artifacts/Math.js +1 -10
  572. package/dist/zksync/artifacts/MathUpgradeable.d.ts +1 -2
  573. package/dist/zksync/artifacts/MathUpgradeable.js +1 -10
  574. package/dist/zksync/artifacts/Merkle.d.ts +1 -2
  575. package/dist/zksync/artifacts/Merkle.js +1 -10
  576. package/dist/zksync/artifacts/MerkleLib.d.ts +1 -2
  577. package/dist/zksync/artifacts/MerkleLib.js +1 -10
  578. package/dist/zksync/artifacts/MerklePatriciaProof.d.ts +1 -2
  579. package/dist/zksync/artifacts/MerklePatriciaProof.js +1 -10
  580. package/dist/zksync/artifacts/MerkleRootMultisigIsmMetadata.d.ts +1 -2
  581. package/dist/zksync/artifacts/MerkleRootMultisigIsmMetadata.js +1 -10
  582. package/dist/zksync/artifacts/MerkleTreeHook.d.ts +1 -2
  583. package/dist/zksync/artifacts/MerkleTreeHook.js +1 -379
  584. package/dist/zksync/artifacts/Message.d.ts +1 -2
  585. package/dist/zksync/artifacts/Message.js +1 -10
  586. package/dist/zksync/artifacts/MessageIdMultisigIsmMetadata.d.ts +1 -2
  587. package/dist/zksync/artifacts/MessageIdMultisigIsmMetadata.js +1 -10
  588. package/dist/zksync/artifacts/MetaProxy.d.ts +1 -2
  589. package/dist/zksync/artifacts/MetaProxy.js +1 -10
  590. package/dist/zksync/artifacts/MinimalProxy.d.ts +1 -2
  591. package/dist/zksync/artifacts/MinimalProxy.js +1 -10
  592. package/dist/zksync/artifacts/MockArbBridge.d.ts +1 -2
  593. package/dist/zksync/artifacts/MockArbBridge.js +1 -126
  594. package/dist/zksync/artifacts/MockArbSys.d.ts +1 -2
  595. package/dist/zksync/artifacts/MockArbSys.js +1 -96
  596. package/dist/zksync/artifacts/MockCircleMessageTransmitter.d.ts +1 -2
  597. package/dist/zksync/artifacts/MockCircleMessageTransmitter.js +1 -112
  598. package/dist/zksync/artifacts/MockCircleTokenMessenger.d.ts +1 -2
  599. package/dist/zksync/artifacts/MockCircleTokenMessenger.js +1 -121
  600. package/dist/zksync/artifacts/MockERC4626YieldSharing.d.ts +1 -2
  601. package/dist/zksync/artifacts/MockERC4626YieldSharing.js +1 -827
  602. package/dist/zksync/artifacts/MockHyperlaneEnvironment.d.ts +1 -2
  603. package/dist/zksync/artifacts/MockHyperlaneEnvironment.js +1 -124
  604. package/dist/zksync/artifacts/MockMailbox.d.ts +1 -2
  605. package/dist/zksync/artifacts/MockMailbox.js +1 -805
  606. package/dist/zksync/artifacts/MockMessageDispatcher.d.ts +1 -2
  607. package/dist/zksync/artifacts/MockMessageDispatcher.js +1 -77
  608. package/dist/zksync/artifacts/MockMessageExecutor.d.ts +1 -2
  609. package/dist/zksync/artifacts/MockMessageExecutor.js +1 -30
  610. package/dist/zksync/artifacts/MockOptimismMessenger.d.ts +1 -2
  611. package/dist/zksync/artifacts/MockOptimismMessenger.js +1 -137
  612. package/dist/zksync/artifacts/MockOptimismPortal.d.ts +1 -2
  613. package/dist/zksync/artifacts/MockOptimismPortal.js +1 -61
  614. package/dist/zksync/artifacts/MockPortalBridge.d.ts +1 -2
  615. package/dist/zksync/artifacts/MockPortalBridge.js +1 -266
  616. package/dist/zksync/artifacts/MockToken.d.ts +1 -2
  617. package/dist/zksync/artifacts/MockToken.js +1 -325
  618. package/dist/zksync/artifacts/NoopIsm.d.ts +1 -2
  619. package/dist/zksync/artifacts/NoopIsm.js +1 -61
  620. package/dist/zksync/artifacts/OPL2ToL1Hook.d.ts +1 -2
  621. package/dist/zksync/artifacts/OPL2ToL1Hook.js +1 -363
  622. package/dist/zksync/artifacts/OPL2ToL1Ism.d.ts +1 -2
  623. package/dist/zksync/artifacts/OPL2ToL1Ism.js +1 -217
  624. package/dist/zksync/artifacts/OPL2ToL1Metadata.d.ts +1 -2
  625. package/dist/zksync/artifacts/OPL2ToL1Metadata.js +1 -10
  626. package/dist/zksync/artifacts/OPStackHook.d.ts +1 -2
  627. package/dist/zksync/artifacts/OPStackHook.js +1 -332
  628. package/dist/zksync/artifacts/OPStackIsm.d.ts +1 -2
  629. package/dist/zksync/artifacts/OPStackIsm.js +1 -204
  630. package/dist/zksync/artifacts/Ownable.d.ts +1 -2
  631. package/dist/zksync/artifacts/Ownable.js +1 -63
  632. package/dist/zksync/artifacts/Ownable2StepUpgradeable.d.ts +1 -2
  633. package/dist/zksync/artifacts/Ownable2StepUpgradeable.js +1 -115
  634. package/dist/zksync/artifacts/OwnableMulticall.d.ts +1 -2
  635. package/dist/zksync/artifacts/OwnableMulticall.js +1 -69
  636. package/dist/zksync/artifacts/OwnableUpgradeable.d.ts +1 -2
  637. package/dist/zksync/artifacts/OwnableUpgradeable.js +1 -76
  638. package/dist/zksync/artifacts/PackageVersioned.d.ts +1 -2
  639. package/dist/zksync/artifacts/PackageVersioned.js +1 -24
  640. package/dist/zksync/artifacts/Pausable.d.ts +1 -2
  641. package/dist/zksync/artifacts/Pausable.js +1 -50
  642. package/dist/zksync/artifacts/PausableHook.d.ts +1 -2
  643. package/dist/zksync/artifacts/PausableHook.js +1 -203
  644. package/dist/zksync/artifacts/PausableIsm.d.ts +1 -2
  645. package/dist/zksync/artifacts/PausableIsm.js +1 -177
  646. package/dist/zksync/artifacts/PolygonPosHook.d.ts +1 -2
  647. package/dist/zksync/artifacts/PolygonPosHook.js +1 -434
  648. package/dist/zksync/artifacts/PolygonPosIsm.d.ts +1 -2
  649. package/dist/zksync/artifacts/PolygonPosIsm.js +1 -227
  650. package/dist/zksync/artifacts/PortalAdapter.d.ts +1 -2
  651. package/dist/zksync/artifacts/PortalAdapter.js +1 -593
  652. package/dist/zksync/artifacts/ProtocolFee.d.ts +1 -2
  653. package/dist/zksync/artifacts/ProtocolFee.js +1 -274
  654. package/dist/zksync/artifacts/Proxy.d.ts +1 -2
  655. package/dist/zksync/artifacts/Proxy.js +1 -19
  656. package/dist/zksync/artifacts/ProxyAdmin.d.ts +1 -2
  657. package/dist/zksync/artifacts/ProxyAdmin.js +1 -160
  658. package/dist/zksync/artifacts/RLPReader.d.ts +1 -2
  659. package/dist/zksync/artifacts/RLPReader.js +1 -10
  660. package/dist/zksync/artifacts/RateLimited.d.ts +1 -2
  661. package/dist/zksync/artifacts/RateLimited.js +1 -257
  662. package/dist/zksync/artifacts/RateLimitedHook.d.ts +1 -2
  663. package/dist/zksync/artifacts/RateLimitedHook.js +1 -490
  664. package/dist/zksync/artifacts/RateLimitedIsm.d.ts +1 -2
  665. package/dist/zksync/artifacts/RateLimitedIsm.js +1 -453
  666. package/dist/zksync/artifacts/ReentrancyGuard.d.ts +1 -2
  667. package/dist/zksync/artifacts/ReentrancyGuard.js +1 -10
  668. package/dist/zksync/artifacts/Router.d.ts +1 -2
  669. package/dist/zksync/artifacts/Router.js +1 -310
  670. package/dist/zksync/artifacts/SafeCastUpgradeable.d.ts +1 -2
  671. package/dist/zksync/artifacts/SafeCastUpgradeable.js +1 -10
  672. package/dist/zksync/artifacts/SafeERC20.d.ts +1 -2
  673. package/dist/zksync/artifacts/SafeERC20.js +1 -10
  674. package/dist/zksync/artifacts/SignatureCheckerUpgradeable.d.ts +1 -2
  675. package/dist/zksync/artifacts/SignatureCheckerUpgradeable.js +1 -10
  676. package/dist/zksync/artifacts/SignedMath.d.ts +1 -2
  677. package/dist/zksync/artifacts/SignedMath.js +1 -10
  678. package/dist/zksync/artifacts/SignedMathUpgradeable.d.ts +1 -2
  679. package/dist/zksync/artifacts/SignedMathUpgradeable.js +1 -10
  680. package/dist/zksync/artifacts/StandardHookMetadata.d.ts +1 -2
  681. package/dist/zksync/artifacts/StandardHookMetadata.js +1 -24
  682. package/dist/zksync/artifacts/StaticAddressSetFactory.d.ts +1 -2
  683. package/dist/zksync/artifacts/StaticAddressSetFactory.js +1 -123
  684. package/dist/zksync/artifacts/StaticAggregationHook.d.ts +1 -2
  685. package/dist/zksync/artifacts/StaticAggregationHook.js +1 -117
  686. package/dist/zksync/artifacts/StaticAggregationHookFactory.d.ts +1 -2
  687. package/dist/zksync/artifacts/StaticAggregationHookFactory.js +1 -123
  688. package/dist/zksync/artifacts/StaticAggregationIsm.d.ts +1 -2
  689. package/dist/zksync/artifacts/StaticAggregationIsm.js +1 -85
  690. package/dist/zksync/artifacts/StaticAggregationIsmFactory.d.ts +1 -2
  691. package/dist/zksync/artifacts/StaticAggregationIsmFactory.js +1 -85
  692. package/dist/zksync/artifacts/StaticMerkleRootMultisigIsm.d.ts +1 -2
  693. package/dist/zksync/artifacts/StaticMerkleRootMultisigIsm.js +1 -104
  694. package/dist/zksync/artifacts/StaticMerkleRootMultisigIsmFactory.d.ts +1 -2
  695. package/dist/zksync/artifacts/StaticMerkleRootMultisigIsmFactory.js +1 -85
  696. package/dist/zksync/artifacts/StaticMerkleRootWeightedMultisigIsm.d.ts +1 -2
  697. package/dist/zksync/artifacts/StaticMerkleRootWeightedMultisigIsm.js +1 -129
  698. package/dist/zksync/artifacts/StaticMerkleRootWeightedMultisigIsmFactory.d.ts +1 -2
  699. package/dist/zksync/artifacts/StaticMerkleRootWeightedMultisigIsmFactory.js +1 -109
  700. package/dist/zksync/artifacts/StaticMessageIdMultisigIsm.d.ts +1 -2
  701. package/dist/zksync/artifacts/StaticMessageIdMultisigIsm.js +1 -104
  702. package/dist/zksync/artifacts/StaticMessageIdMultisigIsmFactory.d.ts +1 -2
  703. package/dist/zksync/artifacts/StaticMessageIdMultisigIsmFactory.js +1 -85
  704. package/dist/zksync/artifacts/StaticMessageIdWeightedMultisigIsm.d.ts +1 -2
  705. package/dist/zksync/artifacts/StaticMessageIdWeightedMultisigIsm.js +1 -129
  706. package/dist/zksync/artifacts/StaticMessageIdWeightedMultisigIsmFactory.d.ts +1 -2
  707. package/dist/zksync/artifacts/StaticMessageIdWeightedMultisigIsmFactory.js +1 -109
  708. package/dist/zksync/artifacts/StaticThresholdAddressSetFactory.d.ts +1 -2
  709. package/dist/zksync/artifacts/StaticThresholdAddressSetFactory.js +1 -85
  710. package/dist/zksync/artifacts/StaticWeightedValidatorSetFactory.d.ts +1 -2
  711. package/dist/zksync/artifacts/StaticWeightedValidatorSetFactory.js +1 -109
  712. package/dist/zksync/artifacts/StorageAggregationIsm.d.ts +1 -2
  713. package/dist/zksync/artifacts/StorageAggregationIsm.js +1 -297
  714. package/dist/zksync/artifacts/StorageAggregationIsmFactory.d.ts +1 -2
  715. package/dist/zksync/artifacts/StorageAggregationIsmFactory.js +1 -79
  716. package/dist/zksync/artifacts/StorageGasOracle.d.ts +1 -2
  717. package/dist/zksync/artifacts/StorageGasOracle.js +1 -209
  718. package/dist/zksync/artifacts/StorageMerkleRootMultisigIsm.d.ts +1 -2
  719. package/dist/zksync/artifacts/StorageMerkleRootMultisigIsm.js +1 -316
  720. package/dist/zksync/artifacts/StorageMerkleRootMultisigIsmFactory.d.ts +1 -2
  721. package/dist/zksync/artifacts/StorageMerkleRootMultisigIsmFactory.js +1 -79
  722. package/dist/zksync/artifacts/StorageMessageIdMultisigIsm.d.ts +1 -2
  723. package/dist/zksync/artifacts/StorageMessageIdMultisigIsm.js +1 -316
  724. package/dist/zksync/artifacts/StorageMessageIdMultisigIsmFactory.d.ts +1 -2
  725. package/dist/zksync/artifacts/StorageMessageIdMultisigIsmFactory.js +1 -79
  726. package/dist/zksync/artifacts/StorageMultisigIsmFactory.d.ts +1 -2
  727. package/dist/zksync/artifacts/StorageMultisigIsmFactory.js +1 -74
  728. package/dist/zksync/artifacts/StorageSlot.d.ts +1 -2
  729. package/dist/zksync/artifacts/StorageSlot.js +1 -10
  730. package/dist/zksync/artifacts/Strings.d.ts +1 -2
  731. package/dist/zksync/artifacts/Strings.js +1 -10
  732. package/dist/zksync/artifacts/StringsUpgradeable.d.ts +1 -2
  733. package/dist/zksync/artifacts/StringsUpgradeable.js +1 -10
  734. package/dist/zksync/artifacts/TestAVSDirectory.d.ts +1 -2
  735. package/dist/zksync/artifacts/TestAVSDirectory.js +1 -188
  736. package/dist/zksync/artifacts/TestDelegationManager.d.ts +1 -2
  737. package/dist/zksync/artifacts/TestDelegationManager.js +1 -150
  738. package/dist/zksync/artifacts/TestGasRouter.d.ts +1 -2
  739. package/dist/zksync/artifacts/TestGasRouter.js +1 -439
  740. package/dist/zksync/artifacts/TestHyperlaneServiceManager.d.ts +1 -2
  741. package/dist/zksync/artifacts/TestHyperlaneServiceManager.js +1 -590
  742. package/dist/zksync/artifacts/TestInterchainGasPaymaster.d.ts +1 -2
  743. package/dist/zksync/artifacts/TestInterchainGasPaymaster.js +1 -488
  744. package/dist/zksync/artifacts/TestIsm.d.ts +1 -2
  745. package/dist/zksync/artifacts/TestIsm.js +1 -61
  746. package/dist/zksync/artifacts/TestLiquidityLayerMessageRecipient.d.ts +1 -2
  747. package/dist/zksync/artifacts/TestLiquidityLayerMessageRecipient.js +1 -81
  748. package/dist/zksync/artifacts/TestMailbox.d.ts +1 -2
  749. package/dist/zksync/artifacts/TestMailbox.js +1 -794
  750. package/dist/zksync/artifacts/TestMerkle.d.ts +1 -2
  751. package/dist/zksync/artifacts/TestMerkle.js +1 -97
  752. package/dist/zksync/artifacts/TestMerkleTreeHook.d.ts +1 -2
  753. package/dist/zksync/artifacts/TestMerkleTreeHook.js +1 -405
  754. package/dist/zksync/artifacts/TestMessage.d.ts +1 -2
  755. package/dist/zksync/artifacts/TestMessage.js +1 -182
  756. package/dist/zksync/artifacts/TestPaymentCoordinator.d.ts +1 -2
  757. package/dist/zksync/artifacts/TestPaymentCoordinator.js +1 -63
  758. package/dist/zksync/artifacts/TestPostDispatchHook.d.ts +1 -2
  759. package/dist/zksync/artifacts/TestPostDispatchHook.js +1 -143
  760. package/dist/zksync/artifacts/TestQuery.d.ts +1 -2
  761. package/dist/zksync/artifacts/TestQuery.js +1 -90
  762. package/dist/zksync/artifacts/TestQuerySender.d.ts +1 -2
  763. package/dist/zksync/artifacts/TestQuerySender.js +1 -225
  764. package/dist/zksync/artifacts/TestRecipient.d.ts +1 -2
  765. package/dist/zksync/artifacts/TestRecipient.js +1 -242
  766. package/dist/zksync/artifacts/TestRemoteChallenger.d.ts +1 -2
  767. package/dist/zksync/artifacts/TestRemoteChallenger.js +1 -48
  768. package/dist/zksync/artifacts/TestRouter.d.ts +1 -2
  769. package/dist/zksync/artifacts/TestRouter.js +1 -406
  770. package/dist/zksync/artifacts/TestSendReceiver.d.ts +1 -2
  771. package/dist/zksync/artifacts/TestSendReceiver.js +1 -111
  772. package/dist/zksync/artifacts/TestSlasher.d.ts +1 -2
  773. package/dist/zksync/artifacts/TestSlasher.js +1 -24
  774. package/dist/zksync/artifacts/TestTokenRecipient.d.ts +1 -2
  775. package/dist/zksync/artifacts/TestTokenRecipient.js +1 -202
  776. package/dist/zksync/artifacts/TimelockController.d.ts +1 -2
  777. package/dist/zksync/artifacts/TimelockController.js +1 -900
  778. package/dist/zksync/artifacts/TokenMessage.d.ts +1 -2
  779. package/dist/zksync/artifacts/TokenMessage.js +1 -10
  780. package/dist/zksync/artifacts/TokenRouter.d.ts +1 -2
  781. package/dist/zksync/artifacts/TokenRouter.js +1 -547
  782. package/dist/zksync/artifacts/TransparentUpgradeableProxy.d.ts +1 -2
  783. package/dist/zksync/artifacts/TransparentUpgradeableProxy.js +1 -85
  784. package/dist/zksync/artifacts/TrustedRelayerIsm.d.ts +1 -2
  785. package/dist/zksync/artifacts/TrustedRelayerIsm.js +1 -103
  786. package/dist/zksync/artifacts/TypeCasts.d.ts +1 -2
  787. package/dist/zksync/artifacts/TypeCasts.js +1 -10
  788. package/dist/zksync/artifacts/ValidatorAnnounce.d.ts +1 -2
  789. package/dist/zksync/artifacts/ValidatorAnnounce.js +1 -303
  790. package/dist/zksync/artifacts/Versioned.d.ts +1 -2
  791. package/dist/zksync/artifacts/Versioned.js +1 -24
  792. package/dist/zksync/artifacts/WHypERC4626.d.ts +1 -2
  793. package/dist/zksync/artifacts/WHypERC4626.js +1 -430
  794. package/dist/zksync/artifacts/XERC20LockboxTest.d.ts +1 -2
  795. package/dist/zksync/artifacts/XERC20LockboxTest.js +1 -138
  796. package/dist/zksync/artifacts/XERC20Test.d.ts +1 -2
  797. package/dist/zksync/artifacts/XERC20Test.js +1 -563
  798. package/dist/zksync/artifacts/XERC20VSTest.d.ts +1 -2
  799. package/dist/zksync/artifacts/XERC20VSTest.js +1 -760
  800. package/dist/zksync/artifacts.d.ts +1 -2
  801. package/dist/zksync/artifacts.js +1 -2
  802. package/dist/zksync/buildArtifact.js +1 -1
  803. package/dist/zksync/buildArtifact.json +1 -1
  804. package/package.json +2 -2
@@ -586,7 +586,7 @@ const _abi = [
586
586
  type: "function",
587
587
  },
588
588
  ];
589
- const _bytecode = "0x60c060405260ce80546001600160e01b03191690553480156200002157600080fd5b5060405162002e2a38038062002e2a833981016040819052620000449162000184565b8080806001600160a01b0381163b620000a35760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f780000604482015260640160405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001149190620001b6565b63ffffffff1660a052620001283362000132565b50505050620001de565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602082840312156200019757600080fd5b81516001600160a01b0381168114620001af57600080fd5b9392505050565b600060208284031215620001c957600080fd5b815163ffffffff81168114620001af57600080fd5b60805160a051612c11620002196000396000818161042801528181610e250152611668015260008181610618015261107b0152612c116000f3fe6080604052600436106101b75760003560e01c80638d3638f4116100ec578063c60097041161008a578063de523cf311610064578063de523cf31461063a578063e9198bf914610667578063efae508a14610687578063f2fde38b146106a757600080fd5b8063c6009704146105b9578063c6878519146105e6578063d5438eae1461060657600080fd5b8063affed0e0116100c6578063affed0e0146104d3578063b49c53a714610535578063b9508d7f14610555578063c0c53b8b1461059957600080fd5b80638d3638f4146104165780638da5cb5b1461045f57806393c448471461048a57600080fd5b8063476eea3911610159578063715018a611610133578063715018a61461039457806371a15b38146103a95780637f5a7c7b146103c957806381005b9f146103f657600080fd5b8063476eea391461033457806348035d541461036157806356d5d4751461038157600080fd5b80632ead72f6116101955780632ead72f6146102785780633dfd3873146102a6578063440df4f4146102c6578063458ab014146102e857600080fd5b80630879b4a7146101bc5780630e72cc0614610229578063297e18b11461024b575b600080fd5b3480156101c857600080fd5b506101ff6101d73660046121d4565b60cd6020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561023557600080fd5b5061024961024436600461220f565b6106c7565b005b34801561025757600080fd5b5060cb546101ff9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561028457600080fd5b50610298610293366004612245565b610815565b604051908152602001610220565b3480156102b257600080fd5b506102496102c136600461220f565b610834565b3480156102d257600080fd5b506102db610975565b6040516102209190612262565b3480156102f457600080fd5b506103086103033660046122ee565b610986565b6040805173ffffffffffffffffffffffffffffffffffffffff9093168352602083019190915201610220565b34801561034057600080fd5b5061035461034f366004612361565b610bf3565b6040516102209190612417565b34801561036d57600080fd5b5061024961037c36600461243a565b610fdf565b61024961038f366004612473565b611063565b3480156103a057600080fd5b506102496111d7565b3480156103b557600080fd5b506102496103c4366004612514565b6111eb565b3480156103d557600080fd5b506065546101ff9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561040257600080fd5b50610298610411366004612580565b611246565b34801561042257600080fd5b5061044a7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610220565b34801561046b57600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166101ff565b34801561049657600080fd5b506103546040518060400160405280600581526020017f372e302e3000000000000000000000000000000000000000000000000000000081525081565b3480156104df57600080fd5b5060ce54610508907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681565b6040517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091168152602001610220565b34801561054157600080fd5b506102496105503660046125ae565b6112c9565b34801561056157600080fd5b50610586610570366004612245565b60cc6020526000908152604090205461ffff1681565b60405161ffff9091168152602001610220565b3480156105a557600080fd5b506102496105b43660046125da565b6112df565b3480156105c557600080fd5b5060ca546101ff9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156105f257600080fd5b50610249610601366004612713565b6114c9565b34801561061257600080fd5b506101ff7f000000000000000000000000000000000000000000000000000000000000000081565b34801561064657600080fd5b506066546101ff9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561067357600080fd5b50610249610682366004612793565b6117cd565b34801561069357600080fd5b506102496106a2366004612245565b6118ac565b3480156106b357600080fd5b506102496106c236600461220f565b6118c0565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610701575073ffffffffffffffffffffffffffffffffffffffff8116155b610792576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61079a611974565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527fc47cbcc588c67679e52261c45cc315e56562f8d0ccaba16facb9093ff9498799906020015b60405180910390a15050565b60008061082c609763ffffffff808616906119f516565b949350505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b15158061086e575073ffffffffffffffffffffffffffffffffffffffff8116155b6108fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e67000000000000000000000000000000000000000000000000006064820152608401610789565b610902611974565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527f4eab7b127c764308788622363ad3e9532de3dfba7845bd4f84c125a22544255a90602001610809565b60606109816097611a0e565b905090565b60cb54600090819073ffffffffffffffffffffffffffffffffffffffff163314610a0c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f216c69717569646974794c61796572526f7574657200000000000000000000006044820152606401610789565b6000610a1a848601866127f3565b9050600060cd6000610a2c8b85611246565b815260208101919091526040016000205473ffffffffffffffffffffffffffffffffffffffff16905080610ae2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f506f7274616c205472616e7366657220686173206e6f7420796574206265656e60448201527f20636f6d706c65746564000000000000000000000000000000000000000000006064820152608401610789565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89811660048301526024820189905282919082169063a9059cbb906044016020604051808303816000875af1158015610b5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7e9190612810565b610be4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f217472616e73666572206f7574000000000000000000000000000000000000006044820152606401610789565b50989597509495505050505050565b60cb5460609073ffffffffffffffffffffffffffffffffffffffff163314610c77576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f216c69717569646974794c61796572526f7574657200000000000000000000006044820152606401610789565b60ce54610ca3907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001612861565b60ce80547fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff9290921691909117905563ffffffff8516600090815260cc602052604081205461ffff1690610d1487611abf565b60ca546040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201526024810187905291925086169063095ea7b3906044016020604051808303816000875af1158015610d8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db39190612810565b610e19576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21617070726f76616c00000000000000000000000000000000000000000000006044820152606401610789565b60ca5460ce54604080517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1660208201527bffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092168282015280518083038201815260608301918290527fc5a5ebda0000000000000000000000000000000000000000000000000000000090915260009273ffffffffffffffffffffffffffffffffffffffff169163c5a5ebda91610edf918a918a9189918991899190606401612896565b6020604051808303816000875af1158015610efe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2291906128f3565b60ce54604080517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff909216825267ffffffffffffffff8316602083015263ffffffff8b16908201529091507ff308a69d8646d23ad24a283ae906d5d85d72ba1b9ef7add7769bca145655937f9060600160405180910390a160ce54604080517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092166020830152016040516020818303038152906040529350505050949350505050565b610fe7611974565b63ffffffff8216600081815260cc602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff861690811790915591519182527f86eee369bdd5e8620b595131597759ddadaf57f38cc5f5f76172ad2b60c9c1f4910160405180910390a25050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611128576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f78436c69656e743a2073656e646572206e6f74206d61696c626f60448201527f78000000000000000000000000000000000000000000000000000000000000006064820152608401610789565b600061113385611abf565b90508381146111c4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f456e726f6c6c656420726f7574657220646f6573206e6f74206d61746368207360448201527f656e6465720000000000000000000000000000000000000000000000000000006064820152608401610789565b6111d085858585611b24565b5050505050565b6111df611974565b6111e96000611b86565b565b6111f3611974565b8060005b818110156112405761122e8484838181106112145761121461291d565b90506020020160208101906112299190612245565b611bfd565b61123960018261294c565b90506111f7565b50505050565b6040805160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001660208083019190915283901b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000166024820152600091016040516020818303038152906040526112c09061295f565b90505b92915050565b6112d1611974565b6112db8282611c52565b5050565b600054610100900460ff16158080156112ff5750600054600160ff909116105b806113195750303b158015611319575060005460ff166001145b6113a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610789565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561140357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61140c84611b86565b60ca805473ffffffffffffffffffffffffffffffffffffffff8086167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560cb805492851692909116919091179055801561124057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150505050565b60ca546040517fc3f511c100000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff169063c3f511c190611520908590600401612417565b6000604051808303816000875af115801561153f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261158591908101906129e9565b60ca546040517fea63738d00000000000000000000000000000000000000000000000000000000815291925060009173ffffffffffffffffffffffffffffffffffffffff9091169063ea63738d906115e1908590600401612417565b600060405180830381865afa1580156115fe573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526116449190810190612a3f565b90506000808260e001518060200190518101906116619190612b08565b63ffffffff7f000000000000000000000000000000000000000000000000000000000000000016600090815260cc602052604081205460608701519395509193509161ffff90811691161461175b5760ca54606085015160408087015190517f1ff1e28600000000000000000000000000000000000000000000000000000000815261ffff9092166004830152602482015273ffffffffffffffffffffffffffffffffffffffff90911690631ff1e28690604401602060405180830381865afa158015611732573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117569190612b37565b611768565b6117688460400151611c68565b90508060cd60006117798686611246565b815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050505050565b6117d5611974565b82811461183e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e677468000000000000000000000000000000000000000000000000006044820152606401610789565b8260005b818110156118a45761189286868381811061185f5761185f61291d565b90506020020160208101906118749190612245565b8585848181106118865761188661291d565b90506020020135611c52565b61189d60018261294c565b9050611842565b505050505050565b6118b4611974565b6118bd81611bfd565b50565b6118c8611974565b73ffffffffffffffffffffffffffffffffffffffff811661196b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610789565b6118bd81611b86565b60335473ffffffffffffffffffffffffffffffffffffffff1633146111e9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610789565b600080611a028484611d11565b915091505b9250929050565b60606000611a1b83611d4b565b9050805167ffffffffffffffff811115611a3757611a37612625565b604051908082528060200260200182016040528015611a60578160200160208202803683370190505b50915060005b8151811015611ab857818181518110611a8157611a8161291d565b6020026020010151838281518110611a9b57611a9b61291d565b63ffffffff90921660209283029190910190910152600101611a66565b5050919050565b60008080611ad7609763ffffffff808716906119f516565b915091508115611ae8579392505050565b611af184611ddc565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107899190612417565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4e6f206d657373616765732065787065637465640000000000000000000000006044820152606401610789565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b611c11609763ffffffff80841690611e1316565b611c1a82611ddc565b906112db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107899190612417565b6112db609763ffffffff808516908490611e1f16565b600073ffffffffffffffffffffffffffffffffffffffff821115611d0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f5479706543617374733a2062797465733332546f41646472657373206f76657260448201527f666c6f77000000000000000000000000000000000000000000000000000000006064820152608401610789565b5090565b6000818152600283016020526040812054819080611d4057611d338585611e2a565b925060009150611a079050565b600192509050611a07565b60606000611d5883611e36565b90508067ffffffffffffffff811115611d7357611d73612625565b604051908082528060200260200182016040528015611d9c578160200160208202803683370190505b50915060005b81811015611ab857611db48482611e41565b60001c838281518110611dc957611dc961291d565b6020908102919091010152600101611da2565b6060611ded8263ffffffff16611e4d565b604051602001611dfd9190612b54565b6040516020818303038152906040529050919050565b60006112c08383611f0b565b611240838383611f28565b60006112c08383611f45565b60006112c382611f5d565b60006112c08383611f67565b60606000611e5a83611f91565b600101905060008167ffffffffffffffff811115611e7a57611e7a612625565b6040519080825280601f01601f191660200182016040528015611ea4576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8504945084611eae57509392505050565b600081815260028301602052604081208190556112c08383612073565b6000828152600284016020526040812082905561082c848461207f565b600081815260018301602052604081205415156112c0565b60006112c3825490565b6000826000018281548110611f7e57611f7e61291d565b9060005260206000200154905092915050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611fda577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310612006576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061202457662386f26fc10000830492506010015b6305f5e100831061203c576305f5e100830492506008015b612710831061205057612710830492506004015b60648310612062576064830492506002015b600a83106112c35760010192915050565b60006112c0838361208b565b60006112c08383612185565b600081815260018301602052604081205480156121745760006120af600183612b99565b85549091506000906120c390600190612b99565b90508181146121285760008660000182815481106120e3576120e361291d565b90600052602060002001549050808760000184815481106121065761210661291d565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061213957612139612bac565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506112c3565b60009150506112c3565b5092915050565b60008181526001830160205260408120546121cc575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556112c3565b5060006112c3565b6000602082840312156121e657600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146118bd57600080fd5b60006020828403121561222157600080fd5b813561222c816121ed565b9392505050565b63ffffffff811681146118bd57600080fd5b60006020828403121561225757600080fd5b813561222c81612233565b6020808252825182820181905260009190848201906040850190845b818110156122a057835163ffffffff168352928401929184019160010161227e565b50909695505050505050565b60008083601f8401126122be57600080fd5b50813567ffffffffffffffff8111156122d657600080fd5b602083019150836020828501011115611a0757600080fd5b60008060008060006080868803121561230657600080fd5b853561231181612233565b94506020860135612321816121ed565b935060408601359250606086013567ffffffffffffffff81111561234457600080fd5b612350888289016122ac565b969995985093965092949392505050565b6000806000806080858703121561237757600080fd5b843561238281612233565b9350602085013592506040850135612399816121ed565b9396929550929360600135925050565b60005b838110156123c45781810151838201526020016123ac565b50506000910152565b600081518084526123e58160208601602086016123a9565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006112c060208301846123cd565b61ffff811681146118bd57600080fd5b6000806040838503121561244d57600080fd5b823561245881612233565b915060208301356124688161242a565b809150509250929050565b6000806000806060858703121561248957600080fd5b843561249481612233565b935060208501359250604085013567ffffffffffffffff8111156124b757600080fd5b6124c3878288016122ac565b95989497509550505050565b60008083601f8401126124e157600080fd5b50813567ffffffffffffffff8111156124f957600080fd5b6020830191508360208260051b8501011115611a0757600080fd5b6000806020838503121561252757600080fd5b823567ffffffffffffffff81111561253e57600080fd5b61254a858286016124cf565b90969095509350505050565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff811681146118bd57600080fd5b6000806040838503121561259357600080fd5b823561259e81612233565b9150602083013561246881612556565b600080604083850312156125c157600080fd5b82356125cc81612233565b946020939093013593505050565b6000806000606084860312156125ef57600080fd5b83356125fa816121ed565b9250602084013561260a816121ed565b9150604084013561261a816121ed565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610100810167ffffffffffffffff8111828210171561267857612678612625565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156126c5576126c5612625565b604052919050565b600067ffffffffffffffff8211156126e7576126e7612625565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60006020828403121561272557600080fd5b813567ffffffffffffffff81111561273c57600080fd5b8201601f8101841361274d57600080fd5b803561276061275b826126cd565b61267e565b81815285602083850101111561277557600080fd5b81602084016020830137600091810160200191909152949350505050565b600080600080604085870312156127a957600080fd5b843567ffffffffffffffff808211156127c157600080fd5b6127cd888389016124cf565b909650945060208701359150808211156127e657600080fd5b506124c3878288016124cf565b60006020828403121561280557600080fd5b813561222c81612556565b60006020828403121561282257600080fd5b8151801515811461222c57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff81811683821601908082111561217e5761217e612832565b73ffffffffffffffffffffffffffffffffffffffff8716815285602082015261ffff8516604082015283606082015263ffffffff8316608082015260c060a082015260006128e760c08301846123cd565b98975050505050505050565b60006020828403121561290557600080fd5b815167ffffffffffffffff8116811461222c57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b808201808211156112c3576112c3612832565b8051602080830151919081101561299e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8160200360031b1b821691505b50919050565b600082601f8301126129b557600080fd5b81516129c361275b826126cd565b8181528460208386010111156129d857600080fd5b61082c8260208301602087016123a9565b6000602082840312156129fb57600080fd5b815167ffffffffffffffff811115612a1257600080fd5b61082c848285016129a4565b805160ff81168114612a2f57600080fd5b919050565b8051612a2f8161242a565b600060208284031215612a5157600080fd5b815167ffffffffffffffff80821115612a6957600080fd5b908301906101008286031215612a7e57600080fd5b612a86612654565b612a8f83612a1e565b81526020830151602082015260408301516040820152612ab160608401612a34565b606082015260808301516080820152612acc60a08401612a34565b60a082015260c083015160c082015260e083015182811115612aed57600080fd5b612af9878286016129a4565b60e08301525095945050505050565b60008060408385031215612b1b57600080fd5b8251612b2681612233565b602084015190925061246881612556565b600060208284031215612b4957600080fd5b815161222c816121ed565b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a2000815260008251612b8c81601f8501602087016123a9565b91909101601f0192915050565b818103818111156112c3576112c3612832565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212206cfd744fda3c1e08341aa0c97a07996c4b318706e8cd5b802e61aeb7554e52b264736f6c63430008160033";
589
+ const _bytecode = "0x60c060405260ce80546001600160e01b03191690553480156200002157600080fd5b5060405162002e2a38038062002e2a833981016040819052620000449162000184565b8080806001600160a01b0381163b620000a35760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f780000604482015260640160405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001149190620001b6565b63ffffffff1660a052620001283362000132565b50505050620001de565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602082840312156200019757600080fd5b81516001600160a01b0381168114620001af57600080fd5b9392505050565b600060208284031215620001c957600080fd5b815163ffffffff81168114620001af57600080fd5b60805160a051612c11620002196000396000818161042801528181610e250152611668015260008181610618015261107b0152612c116000f3fe6080604052600436106101b75760003560e01c80638d3638f4116100ec578063c60097041161008a578063de523cf311610064578063de523cf31461063a578063e9198bf914610667578063efae508a14610687578063f2fde38b146106a757600080fd5b8063c6009704146105b9578063c6878519146105e6578063d5438eae1461060657600080fd5b8063affed0e0116100c6578063affed0e0146104d3578063b49c53a714610535578063b9508d7f14610555578063c0c53b8b1461059957600080fd5b80638d3638f4146104165780638da5cb5b1461045f57806393c448471461048a57600080fd5b8063476eea3911610159578063715018a611610133578063715018a61461039457806371a15b38146103a95780637f5a7c7b146103c957806381005b9f146103f657600080fd5b8063476eea391461033457806348035d541461036157806356d5d4751461038157600080fd5b80632ead72f6116101955780632ead72f6146102785780633dfd3873146102a6578063440df4f4146102c6578063458ab014146102e857600080fd5b80630879b4a7146101bc5780630e72cc0614610229578063297e18b11461024b575b600080fd5b3480156101c857600080fd5b506101ff6101d73660046121d4565b60cd6020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561023557600080fd5b5061024961024436600461220f565b6106c7565b005b34801561025757600080fd5b5060cb546101ff9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561028457600080fd5b50610298610293366004612245565b610815565b604051908152602001610220565b3480156102b257600080fd5b506102496102c136600461220f565b610834565b3480156102d257600080fd5b506102db610975565b6040516102209190612262565b3480156102f457600080fd5b506103086103033660046122ee565b610986565b6040805173ffffffffffffffffffffffffffffffffffffffff9093168352602083019190915201610220565b34801561034057600080fd5b5061035461034f366004612361565b610bf3565b6040516102209190612417565b34801561036d57600080fd5b5061024961037c36600461243a565b610fdf565b61024961038f366004612473565b611063565b3480156103a057600080fd5b506102496111d7565b3480156103b557600080fd5b506102496103c4366004612514565b6111eb565b3480156103d557600080fd5b506065546101ff9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561040257600080fd5b50610298610411366004612580565b611246565b34801561042257600080fd5b5061044a7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610220565b34801561046b57600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166101ff565b34801561049657600080fd5b506103546040518060400160405280600581526020017f372e312e3000000000000000000000000000000000000000000000000000000081525081565b3480156104df57600080fd5b5060ce54610508907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681565b6040517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091168152602001610220565b34801561054157600080fd5b506102496105503660046125ae565b6112c9565b34801561056157600080fd5b50610586610570366004612245565b60cc6020526000908152604090205461ffff1681565b60405161ffff9091168152602001610220565b3480156105a557600080fd5b506102496105b43660046125da565b6112df565b3480156105c557600080fd5b5060ca546101ff9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156105f257600080fd5b50610249610601366004612713565b6114c9565b34801561061257600080fd5b506101ff7f000000000000000000000000000000000000000000000000000000000000000081565b34801561064657600080fd5b506066546101ff9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561067357600080fd5b50610249610682366004612793565b6117cd565b34801561069357600080fd5b506102496106a2366004612245565b6118ac565b3480156106b357600080fd5b506102496106c236600461220f565b6118c0565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610701575073ffffffffffffffffffffffffffffffffffffffff8116155b610792576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61079a611974565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527fc47cbcc588c67679e52261c45cc315e56562f8d0ccaba16facb9093ff9498799906020015b60405180910390a15050565b60008061082c609763ffffffff808616906119f516565b949350505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b15158061086e575073ffffffffffffffffffffffffffffffffffffffff8116155b6108fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e67000000000000000000000000000000000000000000000000006064820152608401610789565b610902611974565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527f4eab7b127c764308788622363ad3e9532de3dfba7845bd4f84c125a22544255a90602001610809565b60606109816097611a0e565b905090565b60cb54600090819073ffffffffffffffffffffffffffffffffffffffff163314610a0c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f216c69717569646974794c61796572526f7574657200000000000000000000006044820152606401610789565b6000610a1a848601866127f3565b9050600060cd6000610a2c8b85611246565b815260208101919091526040016000205473ffffffffffffffffffffffffffffffffffffffff16905080610ae2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f506f7274616c205472616e7366657220686173206e6f7420796574206265656e60448201527f20636f6d706c65746564000000000000000000000000000000000000000000006064820152608401610789565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89811660048301526024820189905282919082169063a9059cbb906044016020604051808303816000875af1158015610b5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7e9190612810565b610be4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f217472616e73666572206f7574000000000000000000000000000000000000006044820152606401610789565b50989597509495505050505050565b60cb5460609073ffffffffffffffffffffffffffffffffffffffff163314610c77576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f216c69717569646974794c61796572526f7574657200000000000000000000006044820152606401610789565b60ce54610ca3907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001612861565b60ce80547fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff9290921691909117905563ffffffff8516600090815260cc602052604081205461ffff1690610d1487611abf565b60ca546040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201526024810187905291925086169063095ea7b3906044016020604051808303816000875af1158015610d8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db39190612810565b610e19576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f21617070726f76616c00000000000000000000000000000000000000000000006044820152606401610789565b60ca5460ce54604080517f000000000000000000000000000000000000000000000000000000000000000063ffffffff1660208201527bffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092168282015280518083038201815260608301918290527fc5a5ebda0000000000000000000000000000000000000000000000000000000090915260009273ffffffffffffffffffffffffffffffffffffffff169163c5a5ebda91610edf918a918a9189918991899190606401612896565b6020604051808303816000875af1158015610efe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2291906128f3565b60ce54604080517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff909216825267ffffffffffffffff8316602083015263ffffffff8b16908201529091507ff308a69d8646d23ad24a283ae906d5d85d72ba1b9ef7add7769bca145655937f9060600160405180910390a160ce54604080517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092166020830152016040516020818303038152906040529350505050949350505050565b610fe7611974565b63ffffffff8216600081815260cc602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff861690811790915591519182527f86eee369bdd5e8620b595131597759ddadaf57f38cc5f5f76172ad2b60c9c1f4910160405180910390a25050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611128576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f78436c69656e743a2073656e646572206e6f74206d61696c626f60448201527f78000000000000000000000000000000000000000000000000000000000000006064820152608401610789565b600061113385611abf565b90508381146111c4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f456e726f6c6c656420726f7574657220646f6573206e6f74206d61746368207360448201527f656e6465720000000000000000000000000000000000000000000000000000006064820152608401610789565b6111d085858585611b24565b5050505050565b6111df611974565b6111e96000611b86565b565b6111f3611974565b8060005b818110156112405761122e8484838181106112145761121461291d565b90506020020160208101906112299190612245565b611bfd565b61123960018261294c565b90506111f7565b50505050565b6040805160e084901b7fffffffff000000000000000000000000000000000000000000000000000000001660208083019190915283901b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000166024820152600091016040516020818303038152906040526112c09061295f565b90505b92915050565b6112d1611974565b6112db8282611c52565b5050565b600054610100900460ff16158080156112ff5750600054600160ff909116105b806113195750303b158015611319575060005460ff166001145b6113a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610789565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561140357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61140c84611b86565b60ca805473ffffffffffffffffffffffffffffffffffffffff8086167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560cb805492851692909116919091179055801561124057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150505050565b60ca546040517fc3f511c100000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff169063c3f511c190611520908590600401612417565b6000604051808303816000875af115801561153f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261158591908101906129e9565b60ca546040517fea63738d00000000000000000000000000000000000000000000000000000000815291925060009173ffffffffffffffffffffffffffffffffffffffff9091169063ea63738d906115e1908590600401612417565b600060405180830381865afa1580156115fe573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526116449190810190612a3f565b90506000808260e001518060200190518101906116619190612b08565b63ffffffff7f000000000000000000000000000000000000000000000000000000000000000016600090815260cc602052604081205460608701519395509193509161ffff90811691161461175b5760ca54606085015160408087015190517f1ff1e28600000000000000000000000000000000000000000000000000000000815261ffff9092166004830152602482015273ffffffffffffffffffffffffffffffffffffffff90911690631ff1e28690604401602060405180830381865afa158015611732573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117569190612b37565b611768565b6117688460400151611c68565b90508060cd60006117798686611246565b815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050505050565b6117d5611974565b82811461183e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e677468000000000000000000000000000000000000000000000000006044820152606401610789565b8260005b818110156118a45761189286868381811061185f5761185f61291d565b90506020020160208101906118749190612245565b8585848181106118865761188661291d565b90506020020135611c52565b61189d60018261294c565b9050611842565b505050505050565b6118b4611974565b6118bd81611bfd565b50565b6118c8611974565b73ffffffffffffffffffffffffffffffffffffffff811661196b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610789565b6118bd81611b86565b60335473ffffffffffffffffffffffffffffffffffffffff1633146111e9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610789565b600080611a028484611d11565b915091505b9250929050565b60606000611a1b83611d4b565b9050805167ffffffffffffffff811115611a3757611a37612625565b604051908082528060200260200182016040528015611a60578160200160208202803683370190505b50915060005b8151811015611ab857818181518110611a8157611a8161291d565b6020026020010151838281518110611a9b57611a9b61291d565b63ffffffff90921660209283029190910190910152600101611a66565b5050919050565b60008080611ad7609763ffffffff808716906119f516565b915091508115611ae8579392505050565b611af184611ddc565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107899190612417565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4e6f206d657373616765732065787065637465640000000000000000000000006044820152606401610789565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b611c11609763ffffffff80841690611e1316565b611c1a82611ddc565b906112db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107899190612417565b6112db609763ffffffff808516908490611e1f16565b600073ffffffffffffffffffffffffffffffffffffffff821115611d0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f5479706543617374733a2062797465733332546f41646472657373206f76657260448201527f666c6f77000000000000000000000000000000000000000000000000000000006064820152608401610789565b5090565b6000818152600283016020526040812054819080611d4057611d338585611e2a565b925060009150611a079050565b600192509050611a07565b60606000611d5883611e36565b90508067ffffffffffffffff811115611d7357611d73612625565b604051908082528060200260200182016040528015611d9c578160200160208202803683370190505b50915060005b81811015611ab857611db48482611e41565b60001c838281518110611dc957611dc961291d565b6020908102919091010152600101611da2565b6060611ded8263ffffffff16611e4d565b604051602001611dfd9190612b54565b6040516020818303038152906040529050919050565b60006112c08383611f0b565b611240838383611f28565b60006112c08383611f45565b60006112c382611f5d565b60006112c08383611f67565b60606000611e5a83611f91565b600101905060008167ffffffffffffffff811115611e7a57611e7a612625565b6040519080825280601f01601f191660200182016040528015611ea4576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8504945084611eae57509392505050565b600081815260028301602052604081208190556112c08383612073565b6000828152600284016020526040812082905561082c848461207f565b600081815260018301602052604081205415156112c0565b60006112c3825490565b6000826000018281548110611f7e57611f7e61291d565b9060005260206000200154905092915050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611fda577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310612006576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061202457662386f26fc10000830492506010015b6305f5e100831061203c576305f5e100830492506008015b612710831061205057612710830492506004015b60648310612062576064830492506002015b600a83106112c35760010192915050565b60006112c0838361208b565b60006112c08383612185565b600081815260018301602052604081205480156121745760006120af600183612b99565b85549091506000906120c390600190612b99565b90508181146121285760008660000182815481106120e3576120e361291d565b90600052602060002001549050808760000184815481106121065761210661291d565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061213957612139612bac565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506112c3565b60009150506112c3565b5092915050565b60008181526001830160205260408120546121cc575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556112c3565b5060006112c3565b6000602082840312156121e657600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146118bd57600080fd5b60006020828403121561222157600080fd5b813561222c816121ed565b9392505050565b63ffffffff811681146118bd57600080fd5b60006020828403121561225757600080fd5b813561222c81612233565b6020808252825182820181905260009190848201906040850190845b818110156122a057835163ffffffff168352928401929184019160010161227e565b50909695505050505050565b60008083601f8401126122be57600080fd5b50813567ffffffffffffffff8111156122d657600080fd5b602083019150836020828501011115611a0757600080fd5b60008060008060006080868803121561230657600080fd5b853561231181612233565b94506020860135612321816121ed565b935060408601359250606086013567ffffffffffffffff81111561234457600080fd5b612350888289016122ac565b969995985093965092949392505050565b6000806000806080858703121561237757600080fd5b843561238281612233565b9350602085013592506040850135612399816121ed565b9396929550929360600135925050565b60005b838110156123c45781810151838201526020016123ac565b50506000910152565b600081518084526123e58160208601602086016123a9565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006112c060208301846123cd565b61ffff811681146118bd57600080fd5b6000806040838503121561244d57600080fd5b823561245881612233565b915060208301356124688161242a565b809150509250929050565b6000806000806060858703121561248957600080fd5b843561249481612233565b935060208501359250604085013567ffffffffffffffff8111156124b757600080fd5b6124c3878288016122ac565b95989497509550505050565b60008083601f8401126124e157600080fd5b50813567ffffffffffffffff8111156124f957600080fd5b6020830191508360208260051b8501011115611a0757600080fd5b6000806020838503121561252757600080fd5b823567ffffffffffffffff81111561253e57600080fd5b61254a858286016124cf565b90969095509350505050565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff811681146118bd57600080fd5b6000806040838503121561259357600080fd5b823561259e81612233565b9150602083013561246881612556565b600080604083850312156125c157600080fd5b82356125cc81612233565b946020939093013593505050565b6000806000606084860312156125ef57600080fd5b83356125fa816121ed565b9250602084013561260a816121ed565b9150604084013561261a816121ed565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610100810167ffffffffffffffff8111828210171561267857612678612625565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156126c5576126c5612625565b604052919050565b600067ffffffffffffffff8211156126e7576126e7612625565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60006020828403121561272557600080fd5b813567ffffffffffffffff81111561273c57600080fd5b8201601f8101841361274d57600080fd5b803561276061275b826126cd565b61267e565b81815285602083850101111561277557600080fd5b81602084016020830137600091810160200191909152949350505050565b600080600080604085870312156127a957600080fd5b843567ffffffffffffffff808211156127c157600080fd5b6127cd888389016124cf565b909650945060208701359150808211156127e657600080fd5b506124c3878288016124cf565b60006020828403121561280557600080fd5b813561222c81612556565b60006020828403121561282257600080fd5b8151801515811461222c57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff81811683821601908082111561217e5761217e612832565b73ffffffffffffffffffffffffffffffffffffffff8716815285602082015261ffff8516604082015283606082015263ffffffff8316608082015260c060a082015260006128e760c08301846123cd565b98975050505050505050565b60006020828403121561290557600080fd5b815167ffffffffffffffff8116811461222c57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b808201808211156112c3576112c3612832565b8051602080830151919081101561299e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8160200360031b1b821691505b50919050565b600082601f8301126129b557600080fd5b81516129c361275b826126cd565b8181528460208386010111156129d857600080fd5b61082c8260208301602087016123a9565b6000602082840312156129fb57600080fd5b815167ffffffffffffffff811115612a1257600080fd5b61082c848285016129a4565b805160ff81168114612a2f57600080fd5b919050565b8051612a2f8161242a565b600060208284031215612a5157600080fd5b815167ffffffffffffffff80821115612a6957600080fd5b908301906101008286031215612a7e57600080fd5b612a86612654565b612a8f83612a1e565b81526020830151602082015260408301516040820152612ab160608401612a34565b606082015260808301516080820152612acc60a08401612a34565b60a082015260c083015160c082015260e083015182811115612aed57600080fd5b612af9878286016129a4565b60e08301525095945050505050565b60008060408385031215612b1b57600080fd5b8251612b2681612233565b602084015190925061246881612556565b600060208284031215612b4957600080fd5b815161222c816121ed565b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a2000815260008251612b8c81601f8501602087016123a9565b91909101601f0192915050565b818103818111156112c3576112c3612832565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212207e3fd47e94f67c40adb7c6a9839c848f3ebb772a26c381c2d94d8ab9ef78106364736f6c63430008160033";
590
590
  const isSuperArgs = (xs) => xs.length > 1;
591
591
  export class PortalAdapter__factory extends ContractFactory {
592
592
  constructor(...args) {
@@ -12,7 +12,7 @@ export declare class MockHyperlaneEnvironment__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): MockHyperlaneEnvironment;
14
14
  connect(signer: Signer): MockHyperlaneEnvironment__factory;
15
- static readonly bytecode = "0x608060405234801561001057600080fd5b50604051613f0f380380613f0f83398101604081905261002f91610469565b6000805463ffffffff838116640100000000026001600160401b031990921690851617178155604051839061006390610436565b63ffffffff9091168152602001604051809103906000f08015801561008c573d6000803e3d6000fd5b50905060008260405161009e90610436565b63ffffffff9091168152602001604051809103906000f0801580156100c7573d6000803e3d6000fd5b506040516302cd9fb760e51b815263ffffffff851660048201526001600160a01b038083166024830152919250908316906359b3f6e090604401600060405180830381600087803b15801561011b57600080fd5b505af115801561012f573d6000803e3d6000fd5b50506040516302cd9fb760e51b815263ffffffff871660048201526001600160a01b038581166024830152841692506359b3f6e09150604401600060405180830381600087803b15801561018257600080fd5b505af1158015610196573d6000803e3d6000fd5b505050506040516101a690610443565b604051809103906000f0801580156101c2573d6000803e3d6000fd5b506000805463ffffffff168152600360205260409081902080546001600160a01b0319166001600160a01b0393909316929092179091555161020390610443565b604051809103906000f08015801561021f573d6000803e3d6000fd5b5060008054640100000000900463ffffffff90811682526003602052604080832080546001600160a01b0319166001600160a01b039586161790558254909116825290819020549051637bca343d60e11b815290821660048201529083169063f794687a90602401600060405180830381600087803b1580156102a157600080fd5b505af11580156102b5573d6000803e3d6000fd5b505060008054640100000000900463ffffffff1681526003602052604090819020549051637bca343d60e11b81526001600160a01b039182166004820152908416925063f794687a9150602401600060405180830381600087803b15801561031c57600080fd5b505af1158015610330573d6000803e3d6000fd5b505060405163f2fde38b60e01b81523360048201526001600160a01b038516925063f2fde38b9150602401600060405180830381600087803b15801561037557600080fd5b505af1158015610389573d6000803e3d6000fd5b505060405163f2fde38b60e01b81523360048201526001600160a01b038416925063f2fde38b9150602401600060405180830381600087803b1580156103ce57600080fd5b505af11580156103e2573d6000803e3d6000fd5b5050505063ffffffff93841660009081526001602052604080822080546001600160a01b03199081166001600160a01b0396871617909155949095168152939093208054909216921691909117905561049c565b6134cd8061081d83390190565b61022580613cea83390190565b805163ffffffff8116811461046457600080fd5b919050565b6000806040838503121561047c57600080fd5b61048583610450565b915061049360208401610450565b90509250929050565b610372806104ab6000396000f3fe6080604052600436106100705760003560e01c8063cee85d7e1161004e578063cee85d7e1461015f578063f11a367e1461017c578063f9d2692d146101bf578063f9f312ad146101d657600080fd5b80632858c55a146100755780635a007b7e146100b45780637a7eada31461011c575b600080fd5b34801561008157600080fd5b5060005461009a90640100000000900463ffffffff1681565b60405163ffffffff90911681526020015b60405180910390f35b3480156100c057600080fd5b506100f76100cf36600461030f565b60036020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ab565b34801561012857600080fd5b506100f761013736600461030f565b60026020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b34801561016b57600080fd5b5060005461009a9063ffffffff1681565b34801561018857600080fd5b506100f761019736600461030f565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b3480156101cb57600080fd5b506101d46101de565b005b6101d4610271565b6000805463ffffffff168152600160205260408082205481517f1605c306000000000000000000000000000000000000000000000000000000008152915173ffffffffffffffffffffffffffffffffffffffff90911692631605c306926004808201939182900301818387803b15801561025757600080fd5b505af115801561026b573d6000803e3d6000fd5b50505050565b60008054640100000000900463ffffffff168152600160205260408082205481517f1605c306000000000000000000000000000000000000000000000000000000008152915173ffffffffffffffffffffffffffffffffffffffff90911692631605c3069234926004808301939282900301818588803b1580156102f457600080fd5b505af1158015610308573d6000803e3d6000fd5b5050505050565b60006020828403121561032157600080fd5b813563ffffffff8116811461033557600080fd5b939250505056fea264697066735822122072f2e8e5292c95e89a31c829a2c54b13808bdd121007db3b735ddb50968132f464736f6c6343000816003360c0604052606b80546001600160401b03191690553480156200002157600080fd5b50604051620034cd380380620034cd833981016040819052620000449162000248565b4360805263ffffffff811660a05260405160009062000063906200022c565b604051809103906000f08015801562000080573d6000803e3d6000fd5b50606780546001600160a01b0319166001600160a01b038316179055604051909150600090620000b0906200023a565b604051809103906000f080158015620000cd573d6000803e3d6000fd5b50606880546001600160a01b0383166001600160a01b031991821681179092556069805490911690911790559050620001063362000119565b620001106200016b565b50505062000277565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff1615620001d85760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116146200022a576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6102258062002e5083390190565b610458806200307583390190565b6000602082840312156200025b57600080fd5b815163ffffffff811681146200027057600080fd5b9392505050565b60805160a051612ba5620002ab6000396000818161054101528181610e320152611b1e0152600061050d0152612ba56000f3fe6080604052600436106102345760003560e01c80638d3638f411610138578063d6d08a09116100b0578063f794687a1161007f578063f8c8765e11610064578063f8c8765e146107d5578063fa31de01146107f5578063ffa1ad741461080857600080fd5b8063f794687a14610795578063f7ccd321146107b557600080fd5b8063d6d08a09146106c9578063e495f1d4146106f6578063e70f48ac14610755578063f2fde38b1461077557600080fd5b806399b0480911610107578063a3b4919f116100ec578063a3b4919f14610644578063affed0e014610687578063d12164e4146106a457600080fd5b806399b04809146106045780639c42bd181461062457600080fd5b80638d3638f41461052f5780638da5cb5b1461056357806392d28b3d1461058e57806393c44847146105bb57600080fd5b806348aee8d4116101cb578063715018a61161019a57806381d2ea951161017f57806381d2ea95146104a95780638209d312146104c957806382ea7bfe146104fb57600080fd5b8063715018a6146104815780637c39d1301461049657600080fd5b806348aee8d41461038857806359b3f6e01461039b5780635d1fe5a9146104115780636e5f516e1461045457600080fd5b80631426b7f4116102075780631426b7f4146102ee5780631605c3061461030e5780633288990c146103165780633d1250b71461033657600080fd5b806307a2fda1146102395780630a2ee402146102a257806310b83dc0146102b7578063134fbb4f146102d8575b600080fd5b34801561024557600080fd5b506102866102543660046121fb565b6000908152606a602052604090205474010000000000000000000000000000000000000000900465ffffffffffff1690565b60405165ffffffffffff90911681526020015b60405180910390f35b6102b56102b036600461222d565b61082f565b005b6102ca6102c53660046122ac565b610944565b604051908152602001610299565b3480156102e457600080fd5b506102ca60665481565b3480156102fa57600080fd5b506102b561030936600461234a565b610a94565b6102b5610baf565b34801561032257600080fd5b506102b5610331366004612367565b610d0c565b34801561034257600080fd5b506068546103639073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610299565b6102ca6103963660046123a9565b610d68565b3480156103a757600080fd5b506102b56103b6366004612433565b63ffffffff919091166000908152606c6020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055565b34801561041d57600080fd5b5061036361042c3660046121fb565b6000908152606a602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b34801561046057600080fd5b506067546103639073ffffffffffffffffffffffffffffffffffffffff1681565b34801561048d57600080fd5b506102b5610da6565b6102b56104a436600461246a565b610dba565b3480156104b557600080fd5b506102ca6104c43660046122ac565b61125c565b3480156104d557600080fd5b50606b546104e69063ffffffff1681565b60405163ffffffff9091168152602001610299565b34801561050757600080fd5b506102ca7f000000000000000000000000000000000000000000000000000000000000000081565b34801561053b57600080fd5b506104e67f000000000000000000000000000000000000000000000000000000000000000081565b34801561056f57600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff16610363565b34801561059a57600080fd5b506105ae6105a93660046121fb565b6113ef565b6040516102999190612544565b3480156105c757600080fd5b506105ae6040518060400160405280600581526020017f372e302e3000000000000000000000000000000000000000000000000000000081525081565b34801561061057600080fd5b506102b561061f36600461234a565b611489565b34801561063057600080fd5b506102ca61063f366004612557565b6115a4565b34801561065057600080fd5b5061036361065f36600461222d565b606c6020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b34801561069357600080fd5b506065546104e69063ffffffff1681565b3480156106b057600080fd5b50606b546104e690640100000000900463ffffffff1681565b3480156106d557600080fd5b506069546103639073ffffffffffffffffffffffffffffffffffffffff1681565b34801561070257600080fd5b506107456107113660046121fb565b6000908152606a602052604090205474010000000000000000000000000000000000000000900465ffffffffffff16151590565b6040519015158152602001610299565b34801561076157600080fd5b5061036361077036600461234a565b6115e0565b34801561078157600080fd5b506102b561079036600461234a565b611717565b3480156107a157600080fd5b506102b56107b036600461234a565b6117ce565b3480156107c157600080fd5b506102ca6107d03660046123a9565b6118e9565b3480156107e157600080fd5b506102b56107f03660046125a5565b61191c565b6102ca610803366004612557565b611ad6565b34801561081457600080fd5b5061081d600381565b60405160ff9091168152602001610299565b63ffffffff81166000908152606d60205260408120805461084f90612601565b80601f016020809104026020016040519081016040528092919081815260200182805461087b90612601565b80156108c85780601f1061089d576101008083540402835291602001916108c8565b820191906000526020600020905b8154815290600101906020018083116108ab57829003601f168201915b50506040517f7c39d1300000000000000000000000000000000000000000000000000000000081529394503093637c39d130935034925061090e91508590600401612654565b6000604051808303818588803b15801561092757600080fd5b505af115801561093b573d6000803e3d6000fd5b50505050505050565b60008061095389898989611b09565b905060006109668a8a8a8a8a8a8a611b47565b63ffffffff8b166000908152606c602052604090205490915073ffffffffffffffffffffffffffffffffffffffff1680610a01576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d697373696e672072656d6f7465206d61696c626f780000000000000000000060448201526064015b60405180910390fd5b6040517f3288990c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690633288990c90610a53908690600401612544565b600060405180830381600087803b158015610a6d57600080fd5b505af1158015610a81573d6000803e3d6000fd5b50939d9c50505050505050505050505050565b610a9c611e1b565b73ffffffffffffffffffffffffffffffffffffffff81163b610b40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4d61696c626f783a20726571756972656420686f6f6b206e6f7420636f6e747260448201527f616374000000000000000000000000000000000000000000000000000000000060648201526084016109f8565b606980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f329ec8e2438a73828ecf31a6568d7a91d7b1d79e342b0692914fd053d1a002b190600090a250565b606b54640100000000900463ffffffff166000908152606d602052604081208054610bd990612601565b80601f0160208091040260200160405190810160405280929190818152602001828054610c0590612601565b8015610c525780601f10610c2757610100808354040283529160200191610c52565b820191906000526020600020905b815481529060010190602001808311610c3557829003601f168201915b50506040517f7c39d1300000000000000000000000000000000000000000000000000000000081529394503093637c39d1309350349250610c9891508590600401612654565b6000604051808303818588803b158015610cb157600080fd5b505af1158015610cc5573d6000803e3d6000fd5b5050606b8054640100000000900463ffffffff169350915060049050610cea836126a4565b91906101000a81548163ffffffff021916908363ffffffff1602179055505050565b606b5463ffffffff166000908152606d60205260409020610d2e828483612747565b50606b805463ffffffff16906000610d45836126a4565b91906101000a81548163ffffffff021916908363ffffffff160217905550505050565b6000610d9b878787878787606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610944565b979650505050505050565b610dae611e1b565b610db86000611e9c565b565b6003610dc68383611f13565b60ff1614610e30576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4d61696c626f783a206261642076657273696f6e00000000000000000000000060448201526064016109f8565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff16610e618383611f37565b63ffffffff1614610ece576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4d61696c626f783a20756e65787065637465642064657374696e6174696f6e0060448201526064016109f8565b6000610f0f83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611f5a92505050565b6000818152606a602052604090205490915074010000000000000000000000000000000000000000900465ffffffffffff1615610fa8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4d61696c626f783a20616c72656164792064656c69766572656400000000000060448201526064016109f8565b6000610fb48484611f65565b90506000610fc1826115e0565b60408051808201825233815265ffffffffffff43811660208084019182526000898152606a9091529390932091518254935190911674010000000000000000000000000000000000000000027fffffffffffff000000000000000000000000000000000000000000000000000090931673ffffffffffffffffffffffffffffffffffffffff91821617929092179055909150821661105f8686611f80565b6110698787611f99565b63ffffffff167f0d381c2a574ae8f04e213db7cfb4df8df712cdbd427d9868ffef380660ca657460405160405180910390a460405183907f1cae38cdd3d3919489272725a5ae62a4f48b2989b0dae843d3c279fee18073a990600090a26040517ff7e83aee00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063f7e83aee9061111e908a908a908a908a906004016128aa565b6020604051808303816000875af115801561113d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116191906128d1565b6111c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4d61696c626f783a2049534d20766572696669636174696f6e206661696c656460448201526064016109f8565b8173ffffffffffffffffffffffffffffffffffffffff166356d5d475346111ee8888611f99565b6111f88989611f80565b6112028a8a611fa9565b6040518663ffffffff1660e01b815260040161122194939291906128f3565b6000604051808303818588803b15801561123a57600080fd5b505af115801561124e573d6000803e3d6000fd5b505050505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82166112955760685473ffffffffffffffffffffffffffffffffffffffff1691505b60006112a389898989611b09565b6040517faaccd23000000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff84169063aaccd230906112fc90889088908690600401612923565b602060405180830381865afa158015611319573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133d9190612949565b6069546040517faaccd23000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063aaccd2309061139790899089908790600401612923565b602060405180830381865afa1580156113b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d89190612949565b6113e29190612962565b9998505050505050505050565b606d602052600090815260409020805461140890612601565b80601f016020809104026020016040519081016040528092919081815260200182805461143490612601565b80156114815780601f1061145657610100808354040283529160200191611481565b820191906000526020600020905b81548152906001019060200180831161146457829003601f168201915b505050505081565b611491611e1b565b73ffffffffffffffffffffffffffffffffffffffff81163b611535576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4d61696c626f783a2064656661756c7420686f6f6b206e6f7420636f6e74726160448201527f637400000000000000000000000000000000000000000000000000000000000060648201526084016109f8565b606880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f65a63e5066ee2fcdf9d32a7f1bf7ce71c76066f19d0609dddccd334ab87237d790600090a250565b60006115d7858585856115b986808385612975565b60685473ffffffffffffffffffffffffffffffffffffffff1661125c565b95945050505050565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fde523cf30000000000000000000000000000000000000000000000000000000017905290516000918291829173ffffffffffffffffffffffffffffffffffffffff861691611661919061299f565b600060405180830381855afa9150503d806000811461169c576040519150601f19603f3d011682016040523d82523d6000602084013e6116a1565b606091505b50915091508180156116b35750805115155b156116f6576000818060200190518101906116ce91906129bb565b905073ffffffffffffffffffffffffffffffffffffffff8116156116f457949350505050565b505b505060675473ffffffffffffffffffffffffffffffffffffffff1692915050565b61171f611e1b565b73ffffffffffffffffffffffffffffffffffffffff81166117c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016109f8565b6117cb81611e9c565b50565b6117d6611e1b565b73ffffffffffffffffffffffffffffffffffffffff81163b61187a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f783a2064656661756c742049534d206e6f7420636f6e7472616360448201527f740000000000000000000000000000000000000000000000000000000000000060648201526084016109f8565b606780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fa76ad0adbf45318f8633aa0210f711273d50fbb6fef76ed95bbae97082c75daa90600090a250565b6000610d9b878787878787606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661125c565b600054610100900460ff161580801561193c5750600054600160ff909116105b806119565750303b158015611956575060005460ff166001145b6119e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016109f8565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015611a4057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b611a48611fc5565b611a51846117ce565b611a5a83611489565b611a6382610a94565b611a6c85611717565b8015611acf57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b60006115d785858585611aeb86808385612975565b60685473ffffffffffffffffffffffffffffffffffffffff16610944565b6065546060906115d79060039063ffffffff167f00000000000000000000000000000000000000000000000000000000000000003389898989612064565b600073ffffffffffffffffffffffffffffffffffffffff8216611b805760685473ffffffffffffffffffffffffffffffffffffffff1691505b6000611b8e89898989611b09565b80516020820120606681905560658054929350909160019190600090611bbb90849063ffffffff166129d8565b92506101000a81548163ffffffff021916908363ffffffff160217905550888a63ffffffff163373ffffffffffffffffffffffffffffffffffffffff167f769f711d20c679153d382254f59892613b58a97cc876b249134ac25c80f9c81485604051611c279190612544565b60405180910390a460405181907f788dbc1b7152732178210e7f4d9d010ef016f9eafbe66786bd7169f56e0c353a90600090a26069546040517faaccd23000000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff169063aaccd23090611cb5908a908a908890600401612923565b602060405180830381865afa158015611cd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cf69190612949565b905080341015611d035750345b6069546040517f086011b900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063086011b9908390611d5f908b908b908990600401612923565b6000604051808303818588803b158015611d7857600080fd5b505af1158015611d8c573d6000803e3d6000fd5b50505050508473ffffffffffffffffffffffffffffffffffffffff1663086011b98234611db991906129fc565b8989876040518563ffffffff1660e01b8152600401611dda93929190612923565b6000604051808303818588803b158015611df357600080fd5b505af1158015611e07573d6000803e3d6000fd5b50949e9d5050505050505050505050505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610db8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109f8565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000611f226001828486612975565b611f2b91612a0f565b60f81c90505b92915050565b6000611f47602d60298486612975565b611f5091612a57565b60e01c9392505050565b805160209091012090565b6000611f79611f7484846120a2565b6120b2565b9392505050565b6000611f90602960098486612975565b611f7991612a9d565b6000611f47600960058486612975565b366000611fb983604d8187612975565b915091505b9250929050565b600054610100900460ff1661205c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016109f8565b610db861215b565b60608888888888888888604051602001612085989796959493929190612ad9565b604051602081830303815290604052905098975050505050505050565b6000611f90604d602d8486612975565b600073ffffffffffffffffffffffffffffffffffffffff821115612157576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f5479706543617374733a2062797465733332546f41646472657373206f76657260448201527f666c6f770000000000000000000000000000000000000000000000000000000060648201526084016109f8565b5090565b600054610100900460ff166121f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016109f8565b610db833611e9c565b60006020828403121561220d57600080fd5b5035919050565b803563ffffffff8116811461222857600080fd5b919050565b60006020828403121561223f57600080fd5b611f7982612214565b60008083601f84011261225a57600080fd5b50813567ffffffffffffffff81111561227257600080fd5b602083019150836020828501011115611fbe57600080fd5b73ffffffffffffffffffffffffffffffffffffffff811681146117cb57600080fd5b600080600080600080600060a0888a0312156122c757600080fd5b6122d088612214565b965060208801359550604088013567ffffffffffffffff808211156122f457600080fd5b6123008b838c01612248565b909750955060608a013591508082111561231957600080fd5b506123268a828b01612248565b909450925050608088013561233a8161228a565b8091505092959891949750929550565b60006020828403121561235c57600080fd5b8135611f798161228a565b6000806020838503121561237a57600080fd5b823567ffffffffffffffff81111561239157600080fd5b61239d85828601612248565b90969095509350505050565b600080600080600080608087890312156123c257600080fd5b6123cb87612214565b955060208701359450604087013567ffffffffffffffff808211156123ef57600080fd5b6123fb8a838b01612248565b9096509450606089013591508082111561241457600080fd5b5061242189828a01612248565b979a9699509497509295939492505050565b6000806040838503121561244657600080fd5b61244f83612214565b9150602083013561245f8161228a565b809150509250929050565b6000806000806040858703121561248057600080fd5b843567ffffffffffffffff8082111561249857600080fd5b6124a488838901612248565b909650945060208701359150808211156124bd57600080fd5b506124ca87828801612248565b95989497509550505050565b60005b838110156124f15781810151838201526020016124d9565b50506000910152565b600081518084526125128160208601602086016124d6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611f7960208301846124fa565b6000806000806060858703121561256d57600080fd5b61257685612214565b935060208501359250604085013567ffffffffffffffff81111561259957600080fd5b6124ca87828801612248565b600080600080608085870312156125bb57600080fd5b84356125c68161228a565b935060208501356125d68161228a565b925060408501356125e68161228a565b915060608501356125f68161228a565b939692955090935050565b600181811c9082168061261557607f821691505b60208210810361264e577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6040815260006040820152606060208201526000611f7960608301846124fa565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600063ffffffff8083168181036126bd576126bd612675565b6001019392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115612742576000816000526020600020601f850160051c8101602086101561271f5750805b601f850160051c820191505b8181101561273e5782815560010161272b565b5050505b505050565b67ffffffffffffffff83111561275f5761275f6126c7565b6127738361276d8354612601565b836126f6565b6000601f8411600181146127c5576000851561278f5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611acf565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561281457868501358255602094850194600190920191016127f4565b508682101561284f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6040815260006128be604083018688612861565b8281036020840152610d9b818587612861565b6000602082840312156128e357600080fd5b81518015158114611f7957600080fd5b63ffffffff85168152836020820152606060408201526000612919606083018486612861565b9695505050505050565b604081526000612937604083018587612861565b828103602084015261291981856124fa565b60006020828403121561295b57600080fd5b5051919050565b80820180821115611f3157611f31612675565b6000808585111561298557600080fd5b8386111561299257600080fd5b5050820193919092039150565b600082516129b18184602087016124d6565b9190910192915050565b6000602082840312156129cd57600080fd5b8151611f798161228a565b63ffffffff8181168382160190808211156129f5576129f5612675565b5092915050565b81810381811115611f3157611f31612675565b7fff000000000000000000000000000000000000000000000000000000000000008135818116916001851015612a4f5780818660010360031b1b83161692505b505092915050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015612a4f5760049490940360031b84901b1690921692915050565b80356020831015611f31577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fff000000000000000000000000000000000000000000000000000000000000008960f81b16815260007fffffffff00000000000000000000000000000000000000000000000000000000808a60e01b166001840152808960e01b166005840152876009840152808760e01b1660298401525084602d8301528284604d8401375060009101604d0190815297965050505050505056fea2646970667358221220d940ecc85014d6af6238bd85c24f5bf7941bbb446b26c62f8e7d5fb11ea149d164736f6c6343000816003360806040526000805461ffff191661010617905534801561001f57600080fd5b506101f68061002f6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80636465e69f14610046578063951a291f1461006a578063f7e83aee146100b1575b600080fd5b6000546100539060ff1681565b60405160ff90911681526020015b60405180910390f35b6100af6100783660046100e2565b60008054911515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909216919091179055565b005b6100d26100bf366004610154565b5050600054610100900460ff1692915050565b6040519015158152602001610061565b6000602082840312156100f457600080fd5b8135801515811461010457600080fd5b9392505050565b60008083601f84011261011d57600080fd5b50813567ffffffffffffffff81111561013557600080fd5b60208301915083602082850101111561014d57600080fd5b9250929050565b6000806000806040858703121561016a57600080fd5b843567ffffffffffffffff8082111561018257600080fd5b61018e8883890161010b565b909650945060208701359150808211156101a757600080fd5b506101b48782880161010b565b9598949750955050505056fea2646970667358221220819733c099e51c47f2ab1bfb0a8c25fc5546b5d715de6aee84959e82cdf9b48164736f6c6343000816003360806040526000805534801561001457600080fd5b50610434806100246000396000f3fe60806040526004361061007b5760003560e01c8063ddca3f431161004e578063ddca3f4314610148578063e445e7dd1461015e578063e5320bb91461017a578063f667ee91146101ad57600080fd5b8063086011b91461008057806369fe0e2d1461009557806393c44847146100b5578063aaccd23014610114575b600080fd5b61009361008e3660046102ca565b6101dd565b005b3480156100a157600080fd5b506100936100b0366004610336565b600055565b3480156100c157600080fd5b506100fe6040518060400160405280600581526020017f372e302e3000000000000000000000000000000000000000000000000000000081525081565b60405161010b919061034f565b60405180910390f35b34801561012057600080fd5b5061013a61012f3660046102ca565b505060005492915050565b60405190815260200161010b565b34801561015457600080fd5b5061013a60005481565b34801561016a57600080fd5b506040516000815260200161010b565b34801561018657600080fd5b5061019d6101953660046103bc565b600192915050565b604051901515815260200161010b565b3480156101b957600080fd5b5061019d6101c8366004610336565b60016020526000908152604090205460ff1681565b6101e9848484846101ef565b50505050565b600180600061023385858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061027692505050565b8152602081019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905550505050565b805160209091012090565b60008083601f84011261029357600080fd5b50813567ffffffffffffffff8111156102ab57600080fd5b6020830191508360208285010111156102c357600080fd5b9250929050565b600080600080604085870312156102e057600080fd5b843567ffffffffffffffff808211156102f857600080fd5b61030488838901610281565b9096509450602087013591508082111561031d57600080fd5b5061032a87828801610281565b95989497509550505050565b60006020828403121561034857600080fd5b5035919050565b60006020808352835180602085015260005b8181101561037d57858101830151858201604001528201610361565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b600080602083850312156103cf57600080fd5b823567ffffffffffffffff8111156103e657600080fd5b6103f285828601610281565b9096909550935050505056fea26469706673582212209fc4d99d1d079e85548e2027753406f46234408bd41addb22db37e25e8d55d7d64736f6c6343000816003360806040526000805461ffff191661010617905534801561001f57600080fd5b506101f68061002f6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80636465e69f14610046578063951a291f1461006a578063f7e83aee146100b1575b600080fd5b6000546100539060ff1681565b60405160ff90911681526020015b60405180910390f35b6100af6100783660046100e2565b60008054911515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909216919091179055565b005b6100d26100bf366004610154565b5050600054610100900460ff1692915050565b6040519015158152602001610061565b6000602082840312156100f457600080fd5b8135801515811461010457600080fd5b9392505050565b60008083601f84011261011d57600080fd5b50813567ffffffffffffffff81111561013557600080fd5b60208301915083602082850101111561014d57600080fd5b9250929050565b6000806000806040858703121561016a57600080fd5b843567ffffffffffffffff8082111561018257600080fd5b61018e8883890161010b565b909650945060208701359150808211156101a757600080fd5b506101b48782880161010b565b9598949750955050505056fea2646970667358221220819733c099e51c47f2ab1bfb0a8c25fc5546b5d715de6aee84959e82cdf9b48164736f6c63430008160033";
15
+ static readonly bytecode = "0x608060405234801561001057600080fd5b50604051613f0f380380613f0f83398101604081905261002f91610469565b6000805463ffffffff838116640100000000026001600160401b031990921690851617178155604051839061006390610436565b63ffffffff9091168152602001604051809103906000f08015801561008c573d6000803e3d6000fd5b50905060008260405161009e90610436565b63ffffffff9091168152602001604051809103906000f0801580156100c7573d6000803e3d6000fd5b506040516302cd9fb760e51b815263ffffffff851660048201526001600160a01b038083166024830152919250908316906359b3f6e090604401600060405180830381600087803b15801561011b57600080fd5b505af115801561012f573d6000803e3d6000fd5b50506040516302cd9fb760e51b815263ffffffff871660048201526001600160a01b038581166024830152841692506359b3f6e09150604401600060405180830381600087803b15801561018257600080fd5b505af1158015610196573d6000803e3d6000fd5b505050506040516101a690610443565b604051809103906000f0801580156101c2573d6000803e3d6000fd5b506000805463ffffffff168152600360205260409081902080546001600160a01b0319166001600160a01b0393909316929092179091555161020390610443565b604051809103906000f08015801561021f573d6000803e3d6000fd5b5060008054640100000000900463ffffffff90811682526003602052604080832080546001600160a01b0319166001600160a01b039586161790558254909116825290819020549051637bca343d60e11b815290821660048201529083169063f794687a90602401600060405180830381600087803b1580156102a157600080fd5b505af11580156102b5573d6000803e3d6000fd5b505060008054640100000000900463ffffffff1681526003602052604090819020549051637bca343d60e11b81526001600160a01b039182166004820152908416925063f794687a9150602401600060405180830381600087803b15801561031c57600080fd5b505af1158015610330573d6000803e3d6000fd5b505060405163f2fde38b60e01b81523360048201526001600160a01b038516925063f2fde38b9150602401600060405180830381600087803b15801561037557600080fd5b505af1158015610389573d6000803e3d6000fd5b505060405163f2fde38b60e01b81523360048201526001600160a01b038416925063f2fde38b9150602401600060405180830381600087803b1580156103ce57600080fd5b505af11580156103e2573d6000803e3d6000fd5b5050505063ffffffff93841660009081526001602052604080822080546001600160a01b03199081166001600160a01b0396871617909155949095168152939093208054909216921691909117905561049c565b6134cd8061081d83390190565b61022580613cea83390190565b805163ffffffff8116811461046457600080fd5b919050565b6000806040838503121561047c57600080fd5b61048583610450565b915061049360208401610450565b90509250929050565b610372806104ab6000396000f3fe6080604052600436106100705760003560e01c8063cee85d7e1161004e578063cee85d7e1461015f578063f11a367e1461017c578063f9d2692d146101bf578063f9f312ad146101d657600080fd5b80632858c55a146100755780635a007b7e146100b45780637a7eada31461011c575b600080fd5b34801561008157600080fd5b5060005461009a90640100000000900463ffffffff1681565b60405163ffffffff90911681526020015b60405180910390f35b3480156100c057600080fd5b506100f76100cf36600461030f565b60036020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ab565b34801561012857600080fd5b506100f761013736600461030f565b60026020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b34801561016b57600080fd5b5060005461009a9063ffffffff1681565b34801561018857600080fd5b506100f761019736600461030f565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b3480156101cb57600080fd5b506101d46101de565b005b6101d4610271565b6000805463ffffffff168152600160205260408082205481517f1605c306000000000000000000000000000000000000000000000000000000008152915173ffffffffffffffffffffffffffffffffffffffff90911692631605c306926004808201939182900301818387803b15801561025757600080fd5b505af115801561026b573d6000803e3d6000fd5b50505050565b60008054640100000000900463ffffffff168152600160205260408082205481517f1605c306000000000000000000000000000000000000000000000000000000008152915173ffffffffffffffffffffffffffffffffffffffff90911692631605c3069234926004808301939282900301818588803b1580156102f457600080fd5b505af1158015610308573d6000803e3d6000fd5b5050505050565b60006020828403121561032157600080fd5b813563ffffffff8116811461033557600080fd5b939250505056fea264697066735822122045f9ee1e869e23f8771ba595f85942c740919b9046ed2efce712e58754c1192e64736f6c6343000816003360c0604052606b80546001600160401b03191690553480156200002157600080fd5b50604051620034cd380380620034cd833981016040819052620000449162000248565b4360805263ffffffff811660a05260405160009062000063906200022c565b604051809103906000f08015801562000080573d6000803e3d6000fd5b50606780546001600160a01b0319166001600160a01b038316179055604051909150600090620000b0906200023a565b604051809103906000f080158015620000cd573d6000803e3d6000fd5b50606880546001600160a01b0383166001600160a01b031991821681179092556069805490911690911790559050620001063362000119565b620001106200016b565b50505062000277565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff1615620001d85760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116146200022a576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6102258062002e5083390190565b610458806200307583390190565b6000602082840312156200025b57600080fd5b815163ffffffff811681146200027057600080fd5b9392505050565b60805160a051612ba5620002ab6000396000818161054101528181610e320152611b1e0152600061050d0152612ba56000f3fe6080604052600436106102345760003560e01c80638d3638f411610138578063d6d08a09116100b0578063f794687a1161007f578063f8c8765e11610064578063f8c8765e146107d5578063fa31de01146107f5578063ffa1ad741461080857600080fd5b8063f794687a14610795578063f7ccd321146107b557600080fd5b8063d6d08a09146106c9578063e495f1d4146106f6578063e70f48ac14610755578063f2fde38b1461077557600080fd5b806399b0480911610107578063a3b4919f116100ec578063a3b4919f14610644578063affed0e014610687578063d12164e4146106a457600080fd5b806399b04809146106045780639c42bd181461062457600080fd5b80638d3638f41461052f5780638da5cb5b1461056357806392d28b3d1461058e57806393c44847146105bb57600080fd5b806348aee8d4116101cb578063715018a61161019a57806381d2ea951161017f57806381d2ea95146104a95780638209d312146104c957806382ea7bfe146104fb57600080fd5b8063715018a6146104815780637c39d1301461049657600080fd5b806348aee8d41461038857806359b3f6e01461039b5780635d1fe5a9146104115780636e5f516e1461045457600080fd5b80631426b7f4116102075780631426b7f4146102ee5780631605c3061461030e5780633288990c146103165780633d1250b71461033657600080fd5b806307a2fda1146102395780630a2ee402146102a257806310b83dc0146102b7578063134fbb4f146102d8575b600080fd5b34801561024557600080fd5b506102866102543660046121fb565b6000908152606a602052604090205474010000000000000000000000000000000000000000900465ffffffffffff1690565b60405165ffffffffffff90911681526020015b60405180910390f35b6102b56102b036600461222d565b61082f565b005b6102ca6102c53660046122ac565b610944565b604051908152602001610299565b3480156102e457600080fd5b506102ca60665481565b3480156102fa57600080fd5b506102b561030936600461234a565b610a94565b6102b5610baf565b34801561032257600080fd5b506102b5610331366004612367565b610d0c565b34801561034257600080fd5b506068546103639073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610299565b6102ca6103963660046123a9565b610d68565b3480156103a757600080fd5b506102b56103b6366004612433565b63ffffffff919091166000908152606c6020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055565b34801561041d57600080fd5b5061036361042c3660046121fb565b6000908152606a602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b34801561046057600080fd5b506067546103639073ffffffffffffffffffffffffffffffffffffffff1681565b34801561048d57600080fd5b506102b5610da6565b6102b56104a436600461246a565b610dba565b3480156104b557600080fd5b506102ca6104c43660046122ac565b61125c565b3480156104d557600080fd5b50606b546104e69063ffffffff1681565b60405163ffffffff9091168152602001610299565b34801561050757600080fd5b506102ca7f000000000000000000000000000000000000000000000000000000000000000081565b34801561053b57600080fd5b506104e67f000000000000000000000000000000000000000000000000000000000000000081565b34801561056f57600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff16610363565b34801561059a57600080fd5b506105ae6105a93660046121fb565b6113ef565b6040516102999190612544565b3480156105c757600080fd5b506105ae6040518060400160405280600581526020017f372e312e3000000000000000000000000000000000000000000000000000000081525081565b34801561061057600080fd5b506102b561061f36600461234a565b611489565b34801561063057600080fd5b506102ca61063f366004612557565b6115a4565b34801561065057600080fd5b5061036361065f36600461222d565b606c6020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b34801561069357600080fd5b506065546104e69063ffffffff1681565b3480156106b057600080fd5b50606b546104e690640100000000900463ffffffff1681565b3480156106d557600080fd5b506069546103639073ffffffffffffffffffffffffffffffffffffffff1681565b34801561070257600080fd5b506107456107113660046121fb565b6000908152606a602052604090205474010000000000000000000000000000000000000000900465ffffffffffff16151590565b6040519015158152602001610299565b34801561076157600080fd5b5061036361077036600461234a565b6115e0565b34801561078157600080fd5b506102b561079036600461234a565b611717565b3480156107a157600080fd5b506102b56107b036600461234a565b6117ce565b3480156107c157600080fd5b506102ca6107d03660046123a9565b6118e9565b3480156107e157600080fd5b506102b56107f03660046125a5565b61191c565b6102ca610803366004612557565b611ad6565b34801561081457600080fd5b5061081d600381565b60405160ff9091168152602001610299565b63ffffffff81166000908152606d60205260408120805461084f90612601565b80601f016020809104026020016040519081016040528092919081815260200182805461087b90612601565b80156108c85780601f1061089d576101008083540402835291602001916108c8565b820191906000526020600020905b8154815290600101906020018083116108ab57829003601f168201915b50506040517f7c39d1300000000000000000000000000000000000000000000000000000000081529394503093637c39d130935034925061090e91508590600401612654565b6000604051808303818588803b15801561092757600080fd5b505af115801561093b573d6000803e3d6000fd5b50505050505050565b60008061095389898989611b09565b905060006109668a8a8a8a8a8a8a611b47565b63ffffffff8b166000908152606c602052604090205490915073ffffffffffffffffffffffffffffffffffffffff1680610a01576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d697373696e672072656d6f7465206d61696c626f780000000000000000000060448201526064015b60405180910390fd5b6040517f3288990c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690633288990c90610a53908690600401612544565b600060405180830381600087803b158015610a6d57600080fd5b505af1158015610a81573d6000803e3d6000fd5b50939d9c50505050505050505050505050565b610a9c611e1b565b73ffffffffffffffffffffffffffffffffffffffff81163b610b40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4d61696c626f783a20726571756972656420686f6f6b206e6f7420636f6e747260448201527f616374000000000000000000000000000000000000000000000000000000000060648201526084016109f8565b606980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f329ec8e2438a73828ecf31a6568d7a91d7b1d79e342b0692914fd053d1a002b190600090a250565b606b54640100000000900463ffffffff166000908152606d602052604081208054610bd990612601565b80601f0160208091040260200160405190810160405280929190818152602001828054610c0590612601565b8015610c525780601f10610c2757610100808354040283529160200191610c52565b820191906000526020600020905b815481529060010190602001808311610c3557829003601f168201915b50506040517f7c39d1300000000000000000000000000000000000000000000000000000000081529394503093637c39d1309350349250610c9891508590600401612654565b6000604051808303818588803b158015610cb157600080fd5b505af1158015610cc5573d6000803e3d6000fd5b5050606b8054640100000000900463ffffffff169350915060049050610cea836126a4565b91906101000a81548163ffffffff021916908363ffffffff1602179055505050565b606b5463ffffffff166000908152606d60205260409020610d2e828483612747565b50606b805463ffffffff16906000610d45836126a4565b91906101000a81548163ffffffff021916908363ffffffff160217905550505050565b6000610d9b878787878787606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610944565b979650505050505050565b610dae611e1b565b610db86000611e9c565b565b6003610dc68383611f13565b60ff1614610e30576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4d61696c626f783a206261642076657273696f6e00000000000000000000000060448201526064016109f8565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff16610e618383611f37565b63ffffffff1614610ece576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4d61696c626f783a20756e65787065637465642064657374696e6174696f6e0060448201526064016109f8565b6000610f0f83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611f5a92505050565b6000818152606a602052604090205490915074010000000000000000000000000000000000000000900465ffffffffffff1615610fa8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4d61696c626f783a20616c72656164792064656c69766572656400000000000060448201526064016109f8565b6000610fb48484611f65565b90506000610fc1826115e0565b60408051808201825233815265ffffffffffff43811660208084019182526000898152606a9091529390932091518254935190911674010000000000000000000000000000000000000000027fffffffffffff000000000000000000000000000000000000000000000000000090931673ffffffffffffffffffffffffffffffffffffffff91821617929092179055909150821661105f8686611f80565b6110698787611f99565b63ffffffff167f0d381c2a574ae8f04e213db7cfb4df8df712cdbd427d9868ffef380660ca657460405160405180910390a460405183907f1cae38cdd3d3919489272725a5ae62a4f48b2989b0dae843d3c279fee18073a990600090a26040517ff7e83aee00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063f7e83aee9061111e908a908a908a908a906004016128aa565b6020604051808303816000875af115801561113d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116191906128d1565b6111c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4d61696c626f783a2049534d20766572696669636174696f6e206661696c656460448201526064016109f8565b8173ffffffffffffffffffffffffffffffffffffffff166356d5d475346111ee8888611f99565b6111f88989611f80565b6112028a8a611fa9565b6040518663ffffffff1660e01b815260040161122194939291906128f3565b6000604051808303818588803b15801561123a57600080fd5b505af115801561124e573d6000803e3d6000fd5b505050505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82166112955760685473ffffffffffffffffffffffffffffffffffffffff1691505b60006112a389898989611b09565b6040517faaccd23000000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff84169063aaccd230906112fc90889088908690600401612923565b602060405180830381865afa158015611319573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133d9190612949565b6069546040517faaccd23000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063aaccd2309061139790899089908790600401612923565b602060405180830381865afa1580156113b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d89190612949565b6113e29190612962565b9998505050505050505050565b606d602052600090815260409020805461140890612601565b80601f016020809104026020016040519081016040528092919081815260200182805461143490612601565b80156114815780601f1061145657610100808354040283529160200191611481565b820191906000526020600020905b81548152906001019060200180831161146457829003601f168201915b505050505081565b611491611e1b565b73ffffffffffffffffffffffffffffffffffffffff81163b611535576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4d61696c626f783a2064656661756c7420686f6f6b206e6f7420636f6e74726160448201527f637400000000000000000000000000000000000000000000000000000000000060648201526084016109f8565b606880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f65a63e5066ee2fcdf9d32a7f1bf7ce71c76066f19d0609dddccd334ab87237d790600090a250565b60006115d7858585856115b986808385612975565b60685473ffffffffffffffffffffffffffffffffffffffff1661125c565b95945050505050565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fde523cf30000000000000000000000000000000000000000000000000000000017905290516000918291829173ffffffffffffffffffffffffffffffffffffffff861691611661919061299f565b600060405180830381855afa9150503d806000811461169c576040519150601f19603f3d011682016040523d82523d6000602084013e6116a1565b606091505b50915091508180156116b35750805115155b156116f6576000818060200190518101906116ce91906129bb565b905073ffffffffffffffffffffffffffffffffffffffff8116156116f457949350505050565b505b505060675473ffffffffffffffffffffffffffffffffffffffff1692915050565b61171f611e1b565b73ffffffffffffffffffffffffffffffffffffffff81166117c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016109f8565b6117cb81611e9c565b50565b6117d6611e1b565b73ffffffffffffffffffffffffffffffffffffffff81163b61187a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f783a2064656661756c742049534d206e6f7420636f6e7472616360448201527f740000000000000000000000000000000000000000000000000000000000000060648201526084016109f8565b606780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fa76ad0adbf45318f8633aa0210f711273d50fbb6fef76ed95bbae97082c75daa90600090a250565b6000610d9b878787878787606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661125c565b600054610100900460ff161580801561193c5750600054600160ff909116105b806119565750303b158015611956575060005460ff166001145b6119e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016109f8565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015611a4057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b611a48611fc5565b611a51846117ce565b611a5a83611489565b611a6382610a94565b611a6c85611717565b8015611acf57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b60006115d785858585611aeb86808385612975565b60685473ffffffffffffffffffffffffffffffffffffffff16610944565b6065546060906115d79060039063ffffffff167f00000000000000000000000000000000000000000000000000000000000000003389898989612064565b600073ffffffffffffffffffffffffffffffffffffffff8216611b805760685473ffffffffffffffffffffffffffffffffffffffff1691505b6000611b8e89898989611b09565b80516020820120606681905560658054929350909160019190600090611bbb90849063ffffffff166129d8565b92506101000a81548163ffffffff021916908363ffffffff160217905550888a63ffffffff163373ffffffffffffffffffffffffffffffffffffffff167f769f711d20c679153d382254f59892613b58a97cc876b249134ac25c80f9c81485604051611c279190612544565b60405180910390a460405181907f788dbc1b7152732178210e7f4d9d010ef016f9eafbe66786bd7169f56e0c353a90600090a26069546040517faaccd23000000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff169063aaccd23090611cb5908a908a908890600401612923565b602060405180830381865afa158015611cd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cf69190612949565b905080341015611d035750345b6069546040517f086011b900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063086011b9908390611d5f908b908b908990600401612923565b6000604051808303818588803b158015611d7857600080fd5b505af1158015611d8c573d6000803e3d6000fd5b50505050508473ffffffffffffffffffffffffffffffffffffffff1663086011b98234611db991906129fc565b8989876040518563ffffffff1660e01b8152600401611dda93929190612923565b6000604051808303818588803b158015611df357600080fd5b505af1158015611e07573d6000803e3d6000fd5b50949e9d5050505050505050505050505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610db8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109f8565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000611f226001828486612975565b611f2b91612a0f565b60f81c90505b92915050565b6000611f47602d60298486612975565b611f5091612a57565b60e01c9392505050565b805160209091012090565b6000611f79611f7484846120a2565b6120b2565b9392505050565b6000611f90602960098486612975565b611f7991612a9d565b6000611f47600960058486612975565b366000611fb983604d8187612975565b915091505b9250929050565b600054610100900460ff1661205c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016109f8565b610db861215b565b60608888888888888888604051602001612085989796959493929190612ad9565b604051602081830303815290604052905098975050505050505050565b6000611f90604d602d8486612975565b600073ffffffffffffffffffffffffffffffffffffffff821115612157576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f5479706543617374733a2062797465733332546f41646472657373206f76657260448201527f666c6f770000000000000000000000000000000000000000000000000000000060648201526084016109f8565b5090565b600054610100900460ff166121f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016109f8565b610db833611e9c565b60006020828403121561220d57600080fd5b5035919050565b803563ffffffff8116811461222857600080fd5b919050565b60006020828403121561223f57600080fd5b611f7982612214565b60008083601f84011261225a57600080fd5b50813567ffffffffffffffff81111561227257600080fd5b602083019150836020828501011115611fbe57600080fd5b73ffffffffffffffffffffffffffffffffffffffff811681146117cb57600080fd5b600080600080600080600060a0888a0312156122c757600080fd5b6122d088612214565b965060208801359550604088013567ffffffffffffffff808211156122f457600080fd5b6123008b838c01612248565b909750955060608a013591508082111561231957600080fd5b506123268a828b01612248565b909450925050608088013561233a8161228a565b8091505092959891949750929550565b60006020828403121561235c57600080fd5b8135611f798161228a565b6000806020838503121561237a57600080fd5b823567ffffffffffffffff81111561239157600080fd5b61239d85828601612248565b90969095509350505050565b600080600080600080608087890312156123c257600080fd5b6123cb87612214565b955060208701359450604087013567ffffffffffffffff808211156123ef57600080fd5b6123fb8a838b01612248565b9096509450606089013591508082111561241457600080fd5b5061242189828a01612248565b979a9699509497509295939492505050565b6000806040838503121561244657600080fd5b61244f83612214565b9150602083013561245f8161228a565b809150509250929050565b6000806000806040858703121561248057600080fd5b843567ffffffffffffffff8082111561249857600080fd5b6124a488838901612248565b909650945060208701359150808211156124bd57600080fd5b506124ca87828801612248565b95989497509550505050565b60005b838110156124f15781810151838201526020016124d9565b50506000910152565b600081518084526125128160208601602086016124d6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611f7960208301846124fa565b6000806000806060858703121561256d57600080fd5b61257685612214565b935060208501359250604085013567ffffffffffffffff81111561259957600080fd5b6124ca87828801612248565b600080600080608085870312156125bb57600080fd5b84356125c68161228a565b935060208501356125d68161228a565b925060408501356125e68161228a565b915060608501356125f68161228a565b939692955090935050565b600181811c9082168061261557607f821691505b60208210810361264e577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6040815260006040820152606060208201526000611f7960608301846124fa565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600063ffffffff8083168181036126bd576126bd612675565b6001019392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115612742576000816000526020600020601f850160051c8101602086101561271f5750805b601f850160051c820191505b8181101561273e5782815560010161272b565b5050505b505050565b67ffffffffffffffff83111561275f5761275f6126c7565b6127738361276d8354612601565b836126f6565b6000601f8411600181146127c5576000851561278f5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611acf565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561281457868501358255602094850194600190920191016127f4565b508682101561284f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6040815260006128be604083018688612861565b8281036020840152610d9b818587612861565b6000602082840312156128e357600080fd5b81518015158114611f7957600080fd5b63ffffffff85168152836020820152606060408201526000612919606083018486612861565b9695505050505050565b604081526000612937604083018587612861565b828103602084015261291981856124fa565b60006020828403121561295b57600080fd5b5051919050565b80820180821115611f3157611f31612675565b6000808585111561298557600080fd5b8386111561299257600080fd5b5050820193919092039150565b600082516129b18184602087016124d6565b9190910192915050565b6000602082840312156129cd57600080fd5b8151611f798161228a565b63ffffffff8181168382160190808211156129f5576129f5612675565b5092915050565b81810381811115611f3157611f31612675565b7fff000000000000000000000000000000000000000000000000000000000000008135818116916001851015612a4f5780818660010360031b1b83161692505b505092915050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015612a4f5760049490940360031b84901b1690921692915050565b80356020831015611f31577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fff000000000000000000000000000000000000000000000000000000000000008960f81b16815260007fffffffff00000000000000000000000000000000000000000000000000000000808a60e01b166001840152808960e01b166005840152876009840152808760e01b1660298401525084602d8301528284604d8401375060009101604d0190815297965050505050505056fea2646970667358221220412ebde6f1dab787f38240716cd6fab690c75a2bd84251411cc0fe387c28236a64736f6c6343000816003360806040526000805461ffff191661010617905534801561001f57600080fd5b506101f68061002f6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80636465e69f14610046578063951a291f1461006a578063f7e83aee146100b1575b600080fd5b6000546100539060ff1681565b60405160ff90911681526020015b60405180910390f35b6100af6100783660046100e2565b60008054911515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909216919091179055565b005b6100d26100bf366004610154565b5050600054610100900460ff1692915050565b6040519015158152602001610061565b6000602082840312156100f457600080fd5b8135801515811461010457600080fd5b9392505050565b60008083601f84011261011d57600080fd5b50813567ffffffffffffffff81111561013557600080fd5b60208301915083602082850101111561014d57600080fd5b9250929050565b6000806000806040858703121561016a57600080fd5b843567ffffffffffffffff8082111561018257600080fd5b61018e8883890161010b565b909650945060208701359150808211156101a757600080fd5b506101b48782880161010b565b9598949750955050505056fea2646970667358221220819733c099e51c47f2ab1bfb0a8c25fc5546b5d715de6aee84959e82cdf9b48164736f6c6343000816003360806040526000805534801561001457600080fd5b50610434806100246000396000f3fe60806040526004361061007b5760003560e01c8063ddca3f431161004e578063ddca3f4314610148578063e445e7dd1461015e578063e5320bb91461017a578063f667ee91146101ad57600080fd5b8063086011b91461008057806369fe0e2d1461009557806393c44847146100b5578063aaccd23014610114575b600080fd5b61009361008e3660046102ca565b6101dd565b005b3480156100a157600080fd5b506100936100b0366004610336565b600055565b3480156100c157600080fd5b506100fe6040518060400160405280600581526020017f372e312e3000000000000000000000000000000000000000000000000000000081525081565b60405161010b919061034f565b60405180910390f35b34801561012057600080fd5b5061013a61012f3660046102ca565b505060005492915050565b60405190815260200161010b565b34801561015457600080fd5b5061013a60005481565b34801561016a57600080fd5b506040516000815260200161010b565b34801561018657600080fd5b5061019d6101953660046103bc565b600192915050565b604051901515815260200161010b565b3480156101b957600080fd5b5061019d6101c8366004610336565b60016020526000908152604090205460ff1681565b6101e9848484846101ef565b50505050565b600180600061023385858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061027692505050565b8152602081019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905550505050565b805160209091012090565b60008083601f84011261029357600080fd5b50813567ffffffffffffffff8111156102ab57600080fd5b6020830191508360208285010111156102c357600080fd5b9250929050565b600080600080604085870312156102e057600080fd5b843567ffffffffffffffff808211156102f857600080fd5b61030488838901610281565b9096509450602087013591508082111561031d57600080fd5b5061032a87828801610281565b95989497509550505050565b60006020828403121561034857600080fd5b5035919050565b60006020808352835180602085015260005b8181101561037d57858101830151858201604001528201610361565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b600080602083850312156103cf57600080fd5b823567ffffffffffffffff8111156103e657600080fd5b6103f285828601610281565b9096909550935050505056fea26469706673582212206650bd004980b48cd73e5378dcdc258e9898f7d9ccb9d24ea387e15750f4ea0164736f6c6343000816003360806040526000805461ffff191661010617905534801561001f57600080fd5b506101f68061002f6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80636465e69f14610046578063951a291f1461006a578063f7e83aee146100b1575b600080fd5b6000546100539060ff1681565b60405160ff90911681526020015b60405180910390f35b6100af6100783660046100e2565b60008054911515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909216919091179055565b005b6100d26100bf366004610154565b5050600054610100900460ff1692915050565b6040519015158152602001610061565b6000602082840312156100f457600080fd5b8135801515811461010457600080fd5b9392505050565b60008083601f84011261011d57600080fd5b50813567ffffffffffffffff81111561013557600080fd5b60208301915083602082850101111561014d57600080fd5b9250929050565b6000806000806040858703121561016a57600080fd5b843567ffffffffffffffff8082111561018257600080fd5b61018e8883890161010b565b909650945060208701359150808211156101a757600080fd5b506101b48782880161010b565b9598949750955050505056fea2646970667358221220819733c099e51c47f2ab1bfb0a8c25fc5546b5d715de6aee84959e82cdf9b48164736f6c63430008160033";
16
16
  static readonly abi: readonly [{
17
17
  readonly inputs: readonly [{
18
18
  readonly internalType: "uint32";
@@ -117,7 +117,7 @@ const _abi = [
117
117
  type: "function",
118
118
  },
119
119
  ];
120
- const _bytecode = "0x608060405234801561001057600080fd5b50604051613f0f380380613f0f83398101604081905261002f91610469565b6000805463ffffffff838116640100000000026001600160401b031990921690851617178155604051839061006390610436565b63ffffffff9091168152602001604051809103906000f08015801561008c573d6000803e3d6000fd5b50905060008260405161009e90610436565b63ffffffff9091168152602001604051809103906000f0801580156100c7573d6000803e3d6000fd5b506040516302cd9fb760e51b815263ffffffff851660048201526001600160a01b038083166024830152919250908316906359b3f6e090604401600060405180830381600087803b15801561011b57600080fd5b505af115801561012f573d6000803e3d6000fd5b50506040516302cd9fb760e51b815263ffffffff871660048201526001600160a01b038581166024830152841692506359b3f6e09150604401600060405180830381600087803b15801561018257600080fd5b505af1158015610196573d6000803e3d6000fd5b505050506040516101a690610443565b604051809103906000f0801580156101c2573d6000803e3d6000fd5b506000805463ffffffff168152600360205260409081902080546001600160a01b0319166001600160a01b0393909316929092179091555161020390610443565b604051809103906000f08015801561021f573d6000803e3d6000fd5b5060008054640100000000900463ffffffff90811682526003602052604080832080546001600160a01b0319166001600160a01b039586161790558254909116825290819020549051637bca343d60e11b815290821660048201529083169063f794687a90602401600060405180830381600087803b1580156102a157600080fd5b505af11580156102b5573d6000803e3d6000fd5b505060008054640100000000900463ffffffff1681526003602052604090819020549051637bca343d60e11b81526001600160a01b039182166004820152908416925063f794687a9150602401600060405180830381600087803b15801561031c57600080fd5b505af1158015610330573d6000803e3d6000fd5b505060405163f2fde38b60e01b81523360048201526001600160a01b038516925063f2fde38b9150602401600060405180830381600087803b15801561037557600080fd5b505af1158015610389573d6000803e3d6000fd5b505060405163f2fde38b60e01b81523360048201526001600160a01b038416925063f2fde38b9150602401600060405180830381600087803b1580156103ce57600080fd5b505af11580156103e2573d6000803e3d6000fd5b5050505063ffffffff93841660009081526001602052604080822080546001600160a01b03199081166001600160a01b0396871617909155949095168152939093208054909216921691909117905561049c565b6134cd8061081d83390190565b61022580613cea83390190565b805163ffffffff8116811461046457600080fd5b919050565b6000806040838503121561047c57600080fd5b61048583610450565b915061049360208401610450565b90509250929050565b610372806104ab6000396000f3fe6080604052600436106100705760003560e01c8063cee85d7e1161004e578063cee85d7e1461015f578063f11a367e1461017c578063f9d2692d146101bf578063f9f312ad146101d657600080fd5b80632858c55a146100755780635a007b7e146100b45780637a7eada31461011c575b600080fd5b34801561008157600080fd5b5060005461009a90640100000000900463ffffffff1681565b60405163ffffffff90911681526020015b60405180910390f35b3480156100c057600080fd5b506100f76100cf36600461030f565b60036020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ab565b34801561012857600080fd5b506100f761013736600461030f565b60026020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b34801561016b57600080fd5b5060005461009a9063ffffffff1681565b34801561018857600080fd5b506100f761019736600461030f565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b3480156101cb57600080fd5b506101d46101de565b005b6101d4610271565b6000805463ffffffff168152600160205260408082205481517f1605c306000000000000000000000000000000000000000000000000000000008152915173ffffffffffffffffffffffffffffffffffffffff90911692631605c306926004808201939182900301818387803b15801561025757600080fd5b505af115801561026b573d6000803e3d6000fd5b50505050565b60008054640100000000900463ffffffff168152600160205260408082205481517f1605c306000000000000000000000000000000000000000000000000000000008152915173ffffffffffffffffffffffffffffffffffffffff90911692631605c3069234926004808301939282900301818588803b1580156102f457600080fd5b505af1158015610308573d6000803e3d6000fd5b5050505050565b60006020828403121561032157600080fd5b813563ffffffff8116811461033557600080fd5b939250505056fea264697066735822122072f2e8e5292c95e89a31c829a2c54b13808bdd121007db3b735ddb50968132f464736f6c6343000816003360c0604052606b80546001600160401b03191690553480156200002157600080fd5b50604051620034cd380380620034cd833981016040819052620000449162000248565b4360805263ffffffff811660a05260405160009062000063906200022c565b604051809103906000f08015801562000080573d6000803e3d6000fd5b50606780546001600160a01b0319166001600160a01b038316179055604051909150600090620000b0906200023a565b604051809103906000f080158015620000cd573d6000803e3d6000fd5b50606880546001600160a01b0383166001600160a01b031991821681179092556069805490911690911790559050620001063362000119565b620001106200016b565b50505062000277565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff1615620001d85760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116146200022a576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6102258062002e5083390190565b610458806200307583390190565b6000602082840312156200025b57600080fd5b815163ffffffff811681146200027057600080fd5b9392505050565b60805160a051612ba5620002ab6000396000818161054101528181610e320152611b1e0152600061050d0152612ba56000f3fe6080604052600436106102345760003560e01c80638d3638f411610138578063d6d08a09116100b0578063f794687a1161007f578063f8c8765e11610064578063f8c8765e146107d5578063fa31de01146107f5578063ffa1ad741461080857600080fd5b8063f794687a14610795578063f7ccd321146107b557600080fd5b8063d6d08a09146106c9578063e495f1d4146106f6578063e70f48ac14610755578063f2fde38b1461077557600080fd5b806399b0480911610107578063a3b4919f116100ec578063a3b4919f14610644578063affed0e014610687578063d12164e4146106a457600080fd5b806399b04809146106045780639c42bd181461062457600080fd5b80638d3638f41461052f5780638da5cb5b1461056357806392d28b3d1461058e57806393c44847146105bb57600080fd5b806348aee8d4116101cb578063715018a61161019a57806381d2ea951161017f57806381d2ea95146104a95780638209d312146104c957806382ea7bfe146104fb57600080fd5b8063715018a6146104815780637c39d1301461049657600080fd5b806348aee8d41461038857806359b3f6e01461039b5780635d1fe5a9146104115780636e5f516e1461045457600080fd5b80631426b7f4116102075780631426b7f4146102ee5780631605c3061461030e5780633288990c146103165780633d1250b71461033657600080fd5b806307a2fda1146102395780630a2ee402146102a257806310b83dc0146102b7578063134fbb4f146102d8575b600080fd5b34801561024557600080fd5b506102866102543660046121fb565b6000908152606a602052604090205474010000000000000000000000000000000000000000900465ffffffffffff1690565b60405165ffffffffffff90911681526020015b60405180910390f35b6102b56102b036600461222d565b61082f565b005b6102ca6102c53660046122ac565b610944565b604051908152602001610299565b3480156102e457600080fd5b506102ca60665481565b3480156102fa57600080fd5b506102b561030936600461234a565b610a94565b6102b5610baf565b34801561032257600080fd5b506102b5610331366004612367565b610d0c565b34801561034257600080fd5b506068546103639073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610299565b6102ca6103963660046123a9565b610d68565b3480156103a757600080fd5b506102b56103b6366004612433565b63ffffffff919091166000908152606c6020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055565b34801561041d57600080fd5b5061036361042c3660046121fb565b6000908152606a602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b34801561046057600080fd5b506067546103639073ffffffffffffffffffffffffffffffffffffffff1681565b34801561048d57600080fd5b506102b5610da6565b6102b56104a436600461246a565b610dba565b3480156104b557600080fd5b506102ca6104c43660046122ac565b61125c565b3480156104d557600080fd5b50606b546104e69063ffffffff1681565b60405163ffffffff9091168152602001610299565b34801561050757600080fd5b506102ca7f000000000000000000000000000000000000000000000000000000000000000081565b34801561053b57600080fd5b506104e67f000000000000000000000000000000000000000000000000000000000000000081565b34801561056f57600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff16610363565b34801561059a57600080fd5b506105ae6105a93660046121fb565b6113ef565b6040516102999190612544565b3480156105c757600080fd5b506105ae6040518060400160405280600581526020017f372e302e3000000000000000000000000000000000000000000000000000000081525081565b34801561061057600080fd5b506102b561061f36600461234a565b611489565b34801561063057600080fd5b506102ca61063f366004612557565b6115a4565b34801561065057600080fd5b5061036361065f36600461222d565b606c6020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b34801561069357600080fd5b506065546104e69063ffffffff1681565b3480156106b057600080fd5b50606b546104e690640100000000900463ffffffff1681565b3480156106d557600080fd5b506069546103639073ffffffffffffffffffffffffffffffffffffffff1681565b34801561070257600080fd5b506107456107113660046121fb565b6000908152606a602052604090205474010000000000000000000000000000000000000000900465ffffffffffff16151590565b6040519015158152602001610299565b34801561076157600080fd5b5061036361077036600461234a565b6115e0565b34801561078157600080fd5b506102b561079036600461234a565b611717565b3480156107a157600080fd5b506102b56107b036600461234a565b6117ce565b3480156107c157600080fd5b506102ca6107d03660046123a9565b6118e9565b3480156107e157600080fd5b506102b56107f03660046125a5565b61191c565b6102ca610803366004612557565b611ad6565b34801561081457600080fd5b5061081d600381565b60405160ff9091168152602001610299565b63ffffffff81166000908152606d60205260408120805461084f90612601565b80601f016020809104026020016040519081016040528092919081815260200182805461087b90612601565b80156108c85780601f1061089d576101008083540402835291602001916108c8565b820191906000526020600020905b8154815290600101906020018083116108ab57829003601f168201915b50506040517f7c39d1300000000000000000000000000000000000000000000000000000000081529394503093637c39d130935034925061090e91508590600401612654565b6000604051808303818588803b15801561092757600080fd5b505af115801561093b573d6000803e3d6000fd5b50505050505050565b60008061095389898989611b09565b905060006109668a8a8a8a8a8a8a611b47565b63ffffffff8b166000908152606c602052604090205490915073ffffffffffffffffffffffffffffffffffffffff1680610a01576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d697373696e672072656d6f7465206d61696c626f780000000000000000000060448201526064015b60405180910390fd5b6040517f3288990c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690633288990c90610a53908690600401612544565b600060405180830381600087803b158015610a6d57600080fd5b505af1158015610a81573d6000803e3d6000fd5b50939d9c50505050505050505050505050565b610a9c611e1b565b73ffffffffffffffffffffffffffffffffffffffff81163b610b40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4d61696c626f783a20726571756972656420686f6f6b206e6f7420636f6e747260448201527f616374000000000000000000000000000000000000000000000000000000000060648201526084016109f8565b606980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f329ec8e2438a73828ecf31a6568d7a91d7b1d79e342b0692914fd053d1a002b190600090a250565b606b54640100000000900463ffffffff166000908152606d602052604081208054610bd990612601565b80601f0160208091040260200160405190810160405280929190818152602001828054610c0590612601565b8015610c525780601f10610c2757610100808354040283529160200191610c52565b820191906000526020600020905b815481529060010190602001808311610c3557829003601f168201915b50506040517f7c39d1300000000000000000000000000000000000000000000000000000000081529394503093637c39d1309350349250610c9891508590600401612654565b6000604051808303818588803b158015610cb157600080fd5b505af1158015610cc5573d6000803e3d6000fd5b5050606b8054640100000000900463ffffffff169350915060049050610cea836126a4565b91906101000a81548163ffffffff021916908363ffffffff1602179055505050565b606b5463ffffffff166000908152606d60205260409020610d2e828483612747565b50606b805463ffffffff16906000610d45836126a4565b91906101000a81548163ffffffff021916908363ffffffff160217905550505050565b6000610d9b878787878787606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610944565b979650505050505050565b610dae611e1b565b610db86000611e9c565b565b6003610dc68383611f13565b60ff1614610e30576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4d61696c626f783a206261642076657273696f6e00000000000000000000000060448201526064016109f8565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff16610e618383611f37565b63ffffffff1614610ece576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4d61696c626f783a20756e65787065637465642064657374696e6174696f6e0060448201526064016109f8565b6000610f0f83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611f5a92505050565b6000818152606a602052604090205490915074010000000000000000000000000000000000000000900465ffffffffffff1615610fa8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4d61696c626f783a20616c72656164792064656c69766572656400000000000060448201526064016109f8565b6000610fb48484611f65565b90506000610fc1826115e0565b60408051808201825233815265ffffffffffff43811660208084019182526000898152606a9091529390932091518254935190911674010000000000000000000000000000000000000000027fffffffffffff000000000000000000000000000000000000000000000000000090931673ffffffffffffffffffffffffffffffffffffffff91821617929092179055909150821661105f8686611f80565b6110698787611f99565b63ffffffff167f0d381c2a574ae8f04e213db7cfb4df8df712cdbd427d9868ffef380660ca657460405160405180910390a460405183907f1cae38cdd3d3919489272725a5ae62a4f48b2989b0dae843d3c279fee18073a990600090a26040517ff7e83aee00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063f7e83aee9061111e908a908a908a908a906004016128aa565b6020604051808303816000875af115801561113d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116191906128d1565b6111c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4d61696c626f783a2049534d20766572696669636174696f6e206661696c656460448201526064016109f8565b8173ffffffffffffffffffffffffffffffffffffffff166356d5d475346111ee8888611f99565b6111f88989611f80565b6112028a8a611fa9565b6040518663ffffffff1660e01b815260040161122194939291906128f3565b6000604051808303818588803b15801561123a57600080fd5b505af115801561124e573d6000803e3d6000fd5b505050505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82166112955760685473ffffffffffffffffffffffffffffffffffffffff1691505b60006112a389898989611b09565b6040517faaccd23000000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff84169063aaccd230906112fc90889088908690600401612923565b602060405180830381865afa158015611319573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133d9190612949565b6069546040517faaccd23000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063aaccd2309061139790899089908790600401612923565b602060405180830381865afa1580156113b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d89190612949565b6113e29190612962565b9998505050505050505050565b606d602052600090815260409020805461140890612601565b80601f016020809104026020016040519081016040528092919081815260200182805461143490612601565b80156114815780601f1061145657610100808354040283529160200191611481565b820191906000526020600020905b81548152906001019060200180831161146457829003601f168201915b505050505081565b611491611e1b565b73ffffffffffffffffffffffffffffffffffffffff81163b611535576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4d61696c626f783a2064656661756c7420686f6f6b206e6f7420636f6e74726160448201527f637400000000000000000000000000000000000000000000000000000000000060648201526084016109f8565b606880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f65a63e5066ee2fcdf9d32a7f1bf7ce71c76066f19d0609dddccd334ab87237d790600090a250565b60006115d7858585856115b986808385612975565b60685473ffffffffffffffffffffffffffffffffffffffff1661125c565b95945050505050565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fde523cf30000000000000000000000000000000000000000000000000000000017905290516000918291829173ffffffffffffffffffffffffffffffffffffffff861691611661919061299f565b600060405180830381855afa9150503d806000811461169c576040519150601f19603f3d011682016040523d82523d6000602084013e6116a1565b606091505b50915091508180156116b35750805115155b156116f6576000818060200190518101906116ce91906129bb565b905073ffffffffffffffffffffffffffffffffffffffff8116156116f457949350505050565b505b505060675473ffffffffffffffffffffffffffffffffffffffff1692915050565b61171f611e1b565b73ffffffffffffffffffffffffffffffffffffffff81166117c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016109f8565b6117cb81611e9c565b50565b6117d6611e1b565b73ffffffffffffffffffffffffffffffffffffffff81163b61187a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f783a2064656661756c742049534d206e6f7420636f6e7472616360448201527f740000000000000000000000000000000000000000000000000000000000000060648201526084016109f8565b606780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fa76ad0adbf45318f8633aa0210f711273d50fbb6fef76ed95bbae97082c75daa90600090a250565b6000610d9b878787878787606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661125c565b600054610100900460ff161580801561193c5750600054600160ff909116105b806119565750303b158015611956575060005460ff166001145b6119e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016109f8565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015611a4057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b611a48611fc5565b611a51846117ce565b611a5a83611489565b611a6382610a94565b611a6c85611717565b8015611acf57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b60006115d785858585611aeb86808385612975565b60685473ffffffffffffffffffffffffffffffffffffffff16610944565b6065546060906115d79060039063ffffffff167f00000000000000000000000000000000000000000000000000000000000000003389898989612064565b600073ffffffffffffffffffffffffffffffffffffffff8216611b805760685473ffffffffffffffffffffffffffffffffffffffff1691505b6000611b8e89898989611b09565b80516020820120606681905560658054929350909160019190600090611bbb90849063ffffffff166129d8565b92506101000a81548163ffffffff021916908363ffffffff160217905550888a63ffffffff163373ffffffffffffffffffffffffffffffffffffffff167f769f711d20c679153d382254f59892613b58a97cc876b249134ac25c80f9c81485604051611c279190612544565b60405180910390a460405181907f788dbc1b7152732178210e7f4d9d010ef016f9eafbe66786bd7169f56e0c353a90600090a26069546040517faaccd23000000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff169063aaccd23090611cb5908a908a908890600401612923565b602060405180830381865afa158015611cd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cf69190612949565b905080341015611d035750345b6069546040517f086011b900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063086011b9908390611d5f908b908b908990600401612923565b6000604051808303818588803b158015611d7857600080fd5b505af1158015611d8c573d6000803e3d6000fd5b50505050508473ffffffffffffffffffffffffffffffffffffffff1663086011b98234611db991906129fc565b8989876040518563ffffffff1660e01b8152600401611dda93929190612923565b6000604051808303818588803b158015611df357600080fd5b505af1158015611e07573d6000803e3d6000fd5b50949e9d5050505050505050505050505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610db8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109f8565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000611f226001828486612975565b611f2b91612a0f565b60f81c90505b92915050565b6000611f47602d60298486612975565b611f5091612a57565b60e01c9392505050565b805160209091012090565b6000611f79611f7484846120a2565b6120b2565b9392505050565b6000611f90602960098486612975565b611f7991612a9d565b6000611f47600960058486612975565b366000611fb983604d8187612975565b915091505b9250929050565b600054610100900460ff1661205c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016109f8565b610db861215b565b60608888888888888888604051602001612085989796959493929190612ad9565b604051602081830303815290604052905098975050505050505050565b6000611f90604d602d8486612975565b600073ffffffffffffffffffffffffffffffffffffffff821115612157576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f5479706543617374733a2062797465733332546f41646472657373206f76657260448201527f666c6f770000000000000000000000000000000000000000000000000000000060648201526084016109f8565b5090565b600054610100900460ff166121f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016109f8565b610db833611e9c565b60006020828403121561220d57600080fd5b5035919050565b803563ffffffff8116811461222857600080fd5b919050565b60006020828403121561223f57600080fd5b611f7982612214565b60008083601f84011261225a57600080fd5b50813567ffffffffffffffff81111561227257600080fd5b602083019150836020828501011115611fbe57600080fd5b73ffffffffffffffffffffffffffffffffffffffff811681146117cb57600080fd5b600080600080600080600060a0888a0312156122c757600080fd5b6122d088612214565b965060208801359550604088013567ffffffffffffffff808211156122f457600080fd5b6123008b838c01612248565b909750955060608a013591508082111561231957600080fd5b506123268a828b01612248565b909450925050608088013561233a8161228a565b8091505092959891949750929550565b60006020828403121561235c57600080fd5b8135611f798161228a565b6000806020838503121561237a57600080fd5b823567ffffffffffffffff81111561239157600080fd5b61239d85828601612248565b90969095509350505050565b600080600080600080608087890312156123c257600080fd5b6123cb87612214565b955060208701359450604087013567ffffffffffffffff808211156123ef57600080fd5b6123fb8a838b01612248565b9096509450606089013591508082111561241457600080fd5b5061242189828a01612248565b979a9699509497509295939492505050565b6000806040838503121561244657600080fd5b61244f83612214565b9150602083013561245f8161228a565b809150509250929050565b6000806000806040858703121561248057600080fd5b843567ffffffffffffffff8082111561249857600080fd5b6124a488838901612248565b909650945060208701359150808211156124bd57600080fd5b506124ca87828801612248565b95989497509550505050565b60005b838110156124f15781810151838201526020016124d9565b50506000910152565b600081518084526125128160208601602086016124d6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611f7960208301846124fa565b6000806000806060858703121561256d57600080fd5b61257685612214565b935060208501359250604085013567ffffffffffffffff81111561259957600080fd5b6124ca87828801612248565b600080600080608085870312156125bb57600080fd5b84356125c68161228a565b935060208501356125d68161228a565b925060408501356125e68161228a565b915060608501356125f68161228a565b939692955090935050565b600181811c9082168061261557607f821691505b60208210810361264e577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6040815260006040820152606060208201526000611f7960608301846124fa565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600063ffffffff8083168181036126bd576126bd612675565b6001019392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115612742576000816000526020600020601f850160051c8101602086101561271f5750805b601f850160051c820191505b8181101561273e5782815560010161272b565b5050505b505050565b67ffffffffffffffff83111561275f5761275f6126c7565b6127738361276d8354612601565b836126f6565b6000601f8411600181146127c5576000851561278f5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611acf565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561281457868501358255602094850194600190920191016127f4565b508682101561284f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6040815260006128be604083018688612861565b8281036020840152610d9b818587612861565b6000602082840312156128e357600080fd5b81518015158114611f7957600080fd5b63ffffffff85168152836020820152606060408201526000612919606083018486612861565b9695505050505050565b604081526000612937604083018587612861565b828103602084015261291981856124fa565b60006020828403121561295b57600080fd5b5051919050565b80820180821115611f3157611f31612675565b6000808585111561298557600080fd5b8386111561299257600080fd5b5050820193919092039150565b600082516129b18184602087016124d6565b9190910192915050565b6000602082840312156129cd57600080fd5b8151611f798161228a565b63ffffffff8181168382160190808211156129f5576129f5612675565b5092915050565b81810381811115611f3157611f31612675565b7fff000000000000000000000000000000000000000000000000000000000000008135818116916001851015612a4f5780818660010360031b1b83161692505b505092915050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015612a4f5760049490940360031b84901b1690921692915050565b80356020831015611f31577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fff000000000000000000000000000000000000000000000000000000000000008960f81b16815260007fffffffff00000000000000000000000000000000000000000000000000000000808a60e01b166001840152808960e01b166005840152876009840152808760e01b1660298401525084602d8301528284604d8401375060009101604d0190815297965050505050505056fea2646970667358221220d940ecc85014d6af6238bd85c24f5bf7941bbb446b26c62f8e7d5fb11ea149d164736f6c6343000816003360806040526000805461ffff191661010617905534801561001f57600080fd5b506101f68061002f6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80636465e69f14610046578063951a291f1461006a578063f7e83aee146100b1575b600080fd5b6000546100539060ff1681565b60405160ff90911681526020015b60405180910390f35b6100af6100783660046100e2565b60008054911515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909216919091179055565b005b6100d26100bf366004610154565b5050600054610100900460ff1692915050565b6040519015158152602001610061565b6000602082840312156100f457600080fd5b8135801515811461010457600080fd5b9392505050565b60008083601f84011261011d57600080fd5b50813567ffffffffffffffff81111561013557600080fd5b60208301915083602082850101111561014d57600080fd5b9250929050565b6000806000806040858703121561016a57600080fd5b843567ffffffffffffffff8082111561018257600080fd5b61018e8883890161010b565b909650945060208701359150808211156101a757600080fd5b506101b48782880161010b565b9598949750955050505056fea2646970667358221220819733c099e51c47f2ab1bfb0a8c25fc5546b5d715de6aee84959e82cdf9b48164736f6c6343000816003360806040526000805534801561001457600080fd5b50610434806100246000396000f3fe60806040526004361061007b5760003560e01c8063ddca3f431161004e578063ddca3f4314610148578063e445e7dd1461015e578063e5320bb91461017a578063f667ee91146101ad57600080fd5b8063086011b91461008057806369fe0e2d1461009557806393c44847146100b5578063aaccd23014610114575b600080fd5b61009361008e3660046102ca565b6101dd565b005b3480156100a157600080fd5b506100936100b0366004610336565b600055565b3480156100c157600080fd5b506100fe6040518060400160405280600581526020017f372e302e3000000000000000000000000000000000000000000000000000000081525081565b60405161010b919061034f565b60405180910390f35b34801561012057600080fd5b5061013a61012f3660046102ca565b505060005492915050565b60405190815260200161010b565b34801561015457600080fd5b5061013a60005481565b34801561016a57600080fd5b506040516000815260200161010b565b34801561018657600080fd5b5061019d6101953660046103bc565b600192915050565b604051901515815260200161010b565b3480156101b957600080fd5b5061019d6101c8366004610336565b60016020526000908152604090205460ff1681565b6101e9848484846101ef565b50505050565b600180600061023385858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061027692505050565b8152602081019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905550505050565b805160209091012090565b60008083601f84011261029357600080fd5b50813567ffffffffffffffff8111156102ab57600080fd5b6020830191508360208285010111156102c357600080fd5b9250929050565b600080600080604085870312156102e057600080fd5b843567ffffffffffffffff808211156102f857600080fd5b61030488838901610281565b9096509450602087013591508082111561031d57600080fd5b5061032a87828801610281565b95989497509550505050565b60006020828403121561034857600080fd5b5035919050565b60006020808352835180602085015260005b8181101561037d57858101830151858201604001528201610361565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b600080602083850312156103cf57600080fd5b823567ffffffffffffffff8111156103e657600080fd5b6103f285828601610281565b9096909550935050505056fea26469706673582212209fc4d99d1d079e85548e2027753406f46234408bd41addb22db37e25e8d55d7d64736f6c6343000816003360806040526000805461ffff191661010617905534801561001f57600080fd5b506101f68061002f6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80636465e69f14610046578063951a291f1461006a578063f7e83aee146100b1575b600080fd5b6000546100539060ff1681565b60405160ff90911681526020015b60405180910390f35b6100af6100783660046100e2565b60008054911515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909216919091179055565b005b6100d26100bf366004610154565b5050600054610100900460ff1692915050565b6040519015158152602001610061565b6000602082840312156100f457600080fd5b8135801515811461010457600080fd5b9392505050565b60008083601f84011261011d57600080fd5b50813567ffffffffffffffff81111561013557600080fd5b60208301915083602082850101111561014d57600080fd5b9250929050565b6000806000806040858703121561016a57600080fd5b843567ffffffffffffffff8082111561018257600080fd5b61018e8883890161010b565b909650945060208701359150808211156101a757600080fd5b506101b48782880161010b565b9598949750955050505056fea2646970667358221220819733c099e51c47f2ab1bfb0a8c25fc5546b5d715de6aee84959e82cdf9b48164736f6c63430008160033";
120
+ const _bytecode = "0x608060405234801561001057600080fd5b50604051613f0f380380613f0f83398101604081905261002f91610469565b6000805463ffffffff838116640100000000026001600160401b031990921690851617178155604051839061006390610436565b63ffffffff9091168152602001604051809103906000f08015801561008c573d6000803e3d6000fd5b50905060008260405161009e90610436565b63ffffffff9091168152602001604051809103906000f0801580156100c7573d6000803e3d6000fd5b506040516302cd9fb760e51b815263ffffffff851660048201526001600160a01b038083166024830152919250908316906359b3f6e090604401600060405180830381600087803b15801561011b57600080fd5b505af115801561012f573d6000803e3d6000fd5b50506040516302cd9fb760e51b815263ffffffff871660048201526001600160a01b038581166024830152841692506359b3f6e09150604401600060405180830381600087803b15801561018257600080fd5b505af1158015610196573d6000803e3d6000fd5b505050506040516101a690610443565b604051809103906000f0801580156101c2573d6000803e3d6000fd5b506000805463ffffffff168152600360205260409081902080546001600160a01b0319166001600160a01b0393909316929092179091555161020390610443565b604051809103906000f08015801561021f573d6000803e3d6000fd5b5060008054640100000000900463ffffffff90811682526003602052604080832080546001600160a01b0319166001600160a01b039586161790558254909116825290819020549051637bca343d60e11b815290821660048201529083169063f794687a90602401600060405180830381600087803b1580156102a157600080fd5b505af11580156102b5573d6000803e3d6000fd5b505060008054640100000000900463ffffffff1681526003602052604090819020549051637bca343d60e11b81526001600160a01b039182166004820152908416925063f794687a9150602401600060405180830381600087803b15801561031c57600080fd5b505af1158015610330573d6000803e3d6000fd5b505060405163f2fde38b60e01b81523360048201526001600160a01b038516925063f2fde38b9150602401600060405180830381600087803b15801561037557600080fd5b505af1158015610389573d6000803e3d6000fd5b505060405163f2fde38b60e01b81523360048201526001600160a01b038416925063f2fde38b9150602401600060405180830381600087803b1580156103ce57600080fd5b505af11580156103e2573d6000803e3d6000fd5b5050505063ffffffff93841660009081526001602052604080822080546001600160a01b03199081166001600160a01b0396871617909155949095168152939093208054909216921691909117905561049c565b6134cd8061081d83390190565b61022580613cea83390190565b805163ffffffff8116811461046457600080fd5b919050565b6000806040838503121561047c57600080fd5b61048583610450565b915061049360208401610450565b90509250929050565b610372806104ab6000396000f3fe6080604052600436106100705760003560e01c8063cee85d7e1161004e578063cee85d7e1461015f578063f11a367e1461017c578063f9d2692d146101bf578063f9f312ad146101d657600080fd5b80632858c55a146100755780635a007b7e146100b45780637a7eada31461011c575b600080fd5b34801561008157600080fd5b5060005461009a90640100000000900463ffffffff1681565b60405163ffffffff90911681526020015b60405180910390f35b3480156100c057600080fd5b506100f76100cf36600461030f565b60036020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ab565b34801561012857600080fd5b506100f761013736600461030f565b60026020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b34801561016b57600080fd5b5060005461009a9063ffffffff1681565b34801561018857600080fd5b506100f761019736600461030f565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b3480156101cb57600080fd5b506101d46101de565b005b6101d4610271565b6000805463ffffffff168152600160205260408082205481517f1605c306000000000000000000000000000000000000000000000000000000008152915173ffffffffffffffffffffffffffffffffffffffff90911692631605c306926004808201939182900301818387803b15801561025757600080fd5b505af115801561026b573d6000803e3d6000fd5b50505050565b60008054640100000000900463ffffffff168152600160205260408082205481517f1605c306000000000000000000000000000000000000000000000000000000008152915173ffffffffffffffffffffffffffffffffffffffff90911692631605c3069234926004808301939282900301818588803b1580156102f457600080fd5b505af1158015610308573d6000803e3d6000fd5b5050505050565b60006020828403121561032157600080fd5b813563ffffffff8116811461033557600080fd5b939250505056fea264697066735822122045f9ee1e869e23f8771ba595f85942c740919b9046ed2efce712e58754c1192e64736f6c6343000816003360c0604052606b80546001600160401b03191690553480156200002157600080fd5b50604051620034cd380380620034cd833981016040819052620000449162000248565b4360805263ffffffff811660a05260405160009062000063906200022c565b604051809103906000f08015801562000080573d6000803e3d6000fd5b50606780546001600160a01b0319166001600160a01b038316179055604051909150600090620000b0906200023a565b604051809103906000f080158015620000cd573d6000803e3d6000fd5b50606880546001600160a01b0383166001600160a01b031991821681179092556069805490911690911790559050620001063362000119565b620001106200016b565b50505062000277565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff1615620001d85760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116146200022a576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6102258062002e5083390190565b610458806200307583390190565b6000602082840312156200025b57600080fd5b815163ffffffff811681146200027057600080fd5b9392505050565b60805160a051612ba5620002ab6000396000818161054101528181610e320152611b1e0152600061050d0152612ba56000f3fe6080604052600436106102345760003560e01c80638d3638f411610138578063d6d08a09116100b0578063f794687a1161007f578063f8c8765e11610064578063f8c8765e146107d5578063fa31de01146107f5578063ffa1ad741461080857600080fd5b8063f794687a14610795578063f7ccd321146107b557600080fd5b8063d6d08a09146106c9578063e495f1d4146106f6578063e70f48ac14610755578063f2fde38b1461077557600080fd5b806399b0480911610107578063a3b4919f116100ec578063a3b4919f14610644578063affed0e014610687578063d12164e4146106a457600080fd5b806399b04809146106045780639c42bd181461062457600080fd5b80638d3638f41461052f5780638da5cb5b1461056357806392d28b3d1461058e57806393c44847146105bb57600080fd5b806348aee8d4116101cb578063715018a61161019a57806381d2ea951161017f57806381d2ea95146104a95780638209d312146104c957806382ea7bfe146104fb57600080fd5b8063715018a6146104815780637c39d1301461049657600080fd5b806348aee8d41461038857806359b3f6e01461039b5780635d1fe5a9146104115780636e5f516e1461045457600080fd5b80631426b7f4116102075780631426b7f4146102ee5780631605c3061461030e5780633288990c146103165780633d1250b71461033657600080fd5b806307a2fda1146102395780630a2ee402146102a257806310b83dc0146102b7578063134fbb4f146102d8575b600080fd5b34801561024557600080fd5b506102866102543660046121fb565b6000908152606a602052604090205474010000000000000000000000000000000000000000900465ffffffffffff1690565b60405165ffffffffffff90911681526020015b60405180910390f35b6102b56102b036600461222d565b61082f565b005b6102ca6102c53660046122ac565b610944565b604051908152602001610299565b3480156102e457600080fd5b506102ca60665481565b3480156102fa57600080fd5b506102b561030936600461234a565b610a94565b6102b5610baf565b34801561032257600080fd5b506102b5610331366004612367565b610d0c565b34801561034257600080fd5b506068546103639073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610299565b6102ca6103963660046123a9565b610d68565b3480156103a757600080fd5b506102b56103b6366004612433565b63ffffffff919091166000908152606c6020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055565b34801561041d57600080fd5b5061036361042c3660046121fb565b6000908152606a602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b34801561046057600080fd5b506067546103639073ffffffffffffffffffffffffffffffffffffffff1681565b34801561048d57600080fd5b506102b5610da6565b6102b56104a436600461246a565b610dba565b3480156104b557600080fd5b506102ca6104c43660046122ac565b61125c565b3480156104d557600080fd5b50606b546104e69063ffffffff1681565b60405163ffffffff9091168152602001610299565b34801561050757600080fd5b506102ca7f000000000000000000000000000000000000000000000000000000000000000081565b34801561053b57600080fd5b506104e67f000000000000000000000000000000000000000000000000000000000000000081565b34801561056f57600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff16610363565b34801561059a57600080fd5b506105ae6105a93660046121fb565b6113ef565b6040516102999190612544565b3480156105c757600080fd5b506105ae6040518060400160405280600581526020017f372e312e3000000000000000000000000000000000000000000000000000000081525081565b34801561061057600080fd5b506102b561061f36600461234a565b611489565b34801561063057600080fd5b506102ca61063f366004612557565b6115a4565b34801561065057600080fd5b5061036361065f36600461222d565b606c6020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b34801561069357600080fd5b506065546104e69063ffffffff1681565b3480156106b057600080fd5b50606b546104e690640100000000900463ffffffff1681565b3480156106d557600080fd5b506069546103639073ffffffffffffffffffffffffffffffffffffffff1681565b34801561070257600080fd5b506107456107113660046121fb565b6000908152606a602052604090205474010000000000000000000000000000000000000000900465ffffffffffff16151590565b6040519015158152602001610299565b34801561076157600080fd5b5061036361077036600461234a565b6115e0565b34801561078157600080fd5b506102b561079036600461234a565b611717565b3480156107a157600080fd5b506102b56107b036600461234a565b6117ce565b3480156107c157600080fd5b506102ca6107d03660046123a9565b6118e9565b3480156107e157600080fd5b506102b56107f03660046125a5565b61191c565b6102ca610803366004612557565b611ad6565b34801561081457600080fd5b5061081d600381565b60405160ff9091168152602001610299565b63ffffffff81166000908152606d60205260408120805461084f90612601565b80601f016020809104026020016040519081016040528092919081815260200182805461087b90612601565b80156108c85780601f1061089d576101008083540402835291602001916108c8565b820191906000526020600020905b8154815290600101906020018083116108ab57829003601f168201915b50506040517f7c39d1300000000000000000000000000000000000000000000000000000000081529394503093637c39d130935034925061090e91508590600401612654565b6000604051808303818588803b15801561092757600080fd5b505af115801561093b573d6000803e3d6000fd5b50505050505050565b60008061095389898989611b09565b905060006109668a8a8a8a8a8a8a611b47565b63ffffffff8b166000908152606c602052604090205490915073ffffffffffffffffffffffffffffffffffffffff1680610a01576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d697373696e672072656d6f7465206d61696c626f780000000000000000000060448201526064015b60405180910390fd5b6040517f3288990c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690633288990c90610a53908690600401612544565b600060405180830381600087803b158015610a6d57600080fd5b505af1158015610a81573d6000803e3d6000fd5b50939d9c50505050505050505050505050565b610a9c611e1b565b73ffffffffffffffffffffffffffffffffffffffff81163b610b40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4d61696c626f783a20726571756972656420686f6f6b206e6f7420636f6e747260448201527f616374000000000000000000000000000000000000000000000000000000000060648201526084016109f8565b606980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f329ec8e2438a73828ecf31a6568d7a91d7b1d79e342b0692914fd053d1a002b190600090a250565b606b54640100000000900463ffffffff166000908152606d602052604081208054610bd990612601565b80601f0160208091040260200160405190810160405280929190818152602001828054610c0590612601565b8015610c525780601f10610c2757610100808354040283529160200191610c52565b820191906000526020600020905b815481529060010190602001808311610c3557829003601f168201915b50506040517f7c39d1300000000000000000000000000000000000000000000000000000000081529394503093637c39d1309350349250610c9891508590600401612654565b6000604051808303818588803b158015610cb157600080fd5b505af1158015610cc5573d6000803e3d6000fd5b5050606b8054640100000000900463ffffffff169350915060049050610cea836126a4565b91906101000a81548163ffffffff021916908363ffffffff1602179055505050565b606b5463ffffffff166000908152606d60205260409020610d2e828483612747565b50606b805463ffffffff16906000610d45836126a4565b91906101000a81548163ffffffff021916908363ffffffff160217905550505050565b6000610d9b878787878787606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610944565b979650505050505050565b610dae611e1b565b610db86000611e9c565b565b6003610dc68383611f13565b60ff1614610e30576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4d61696c626f783a206261642076657273696f6e00000000000000000000000060448201526064016109f8565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff16610e618383611f37565b63ffffffff1614610ece576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4d61696c626f783a20756e65787065637465642064657374696e6174696f6e0060448201526064016109f8565b6000610f0f83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611f5a92505050565b6000818152606a602052604090205490915074010000000000000000000000000000000000000000900465ffffffffffff1615610fa8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4d61696c626f783a20616c72656164792064656c69766572656400000000000060448201526064016109f8565b6000610fb48484611f65565b90506000610fc1826115e0565b60408051808201825233815265ffffffffffff43811660208084019182526000898152606a9091529390932091518254935190911674010000000000000000000000000000000000000000027fffffffffffff000000000000000000000000000000000000000000000000000090931673ffffffffffffffffffffffffffffffffffffffff91821617929092179055909150821661105f8686611f80565b6110698787611f99565b63ffffffff167f0d381c2a574ae8f04e213db7cfb4df8df712cdbd427d9868ffef380660ca657460405160405180910390a460405183907f1cae38cdd3d3919489272725a5ae62a4f48b2989b0dae843d3c279fee18073a990600090a26040517ff7e83aee00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063f7e83aee9061111e908a908a908a908a906004016128aa565b6020604051808303816000875af115801561113d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116191906128d1565b6111c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4d61696c626f783a2049534d20766572696669636174696f6e206661696c656460448201526064016109f8565b8173ffffffffffffffffffffffffffffffffffffffff166356d5d475346111ee8888611f99565b6111f88989611f80565b6112028a8a611fa9565b6040518663ffffffff1660e01b815260040161122194939291906128f3565b6000604051808303818588803b15801561123a57600080fd5b505af115801561124e573d6000803e3d6000fd5b505050505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82166112955760685473ffffffffffffffffffffffffffffffffffffffff1691505b60006112a389898989611b09565b6040517faaccd23000000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff84169063aaccd230906112fc90889088908690600401612923565b602060405180830381865afa158015611319573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133d9190612949565b6069546040517faaccd23000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063aaccd2309061139790899089908790600401612923565b602060405180830381865afa1580156113b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d89190612949565b6113e29190612962565b9998505050505050505050565b606d602052600090815260409020805461140890612601565b80601f016020809104026020016040519081016040528092919081815260200182805461143490612601565b80156114815780601f1061145657610100808354040283529160200191611481565b820191906000526020600020905b81548152906001019060200180831161146457829003601f168201915b505050505081565b611491611e1b565b73ffffffffffffffffffffffffffffffffffffffff81163b611535576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4d61696c626f783a2064656661756c7420686f6f6b206e6f7420636f6e74726160448201527f637400000000000000000000000000000000000000000000000000000000000060648201526084016109f8565b606880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f65a63e5066ee2fcdf9d32a7f1bf7ce71c76066f19d0609dddccd334ab87237d790600090a250565b60006115d7858585856115b986808385612975565b60685473ffffffffffffffffffffffffffffffffffffffff1661125c565b95945050505050565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fde523cf30000000000000000000000000000000000000000000000000000000017905290516000918291829173ffffffffffffffffffffffffffffffffffffffff861691611661919061299f565b600060405180830381855afa9150503d806000811461169c576040519150601f19603f3d011682016040523d82523d6000602084013e6116a1565b606091505b50915091508180156116b35750805115155b156116f6576000818060200190518101906116ce91906129bb565b905073ffffffffffffffffffffffffffffffffffffffff8116156116f457949350505050565b505b505060675473ffffffffffffffffffffffffffffffffffffffff1692915050565b61171f611e1b565b73ffffffffffffffffffffffffffffffffffffffff81166117c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016109f8565b6117cb81611e9c565b50565b6117d6611e1b565b73ffffffffffffffffffffffffffffffffffffffff81163b61187a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f783a2064656661756c742049534d206e6f7420636f6e7472616360448201527f740000000000000000000000000000000000000000000000000000000000000060648201526084016109f8565b606780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fa76ad0adbf45318f8633aa0210f711273d50fbb6fef76ed95bbae97082c75daa90600090a250565b6000610d9b878787878787606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661125c565b600054610100900460ff161580801561193c5750600054600160ff909116105b806119565750303b158015611956575060005460ff166001145b6119e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016109f8565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015611a4057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b611a48611fc5565b611a51846117ce565b611a5a83611489565b611a6382610a94565b611a6c85611717565b8015611acf57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b60006115d785858585611aeb86808385612975565b60685473ffffffffffffffffffffffffffffffffffffffff16610944565b6065546060906115d79060039063ffffffff167f00000000000000000000000000000000000000000000000000000000000000003389898989612064565b600073ffffffffffffffffffffffffffffffffffffffff8216611b805760685473ffffffffffffffffffffffffffffffffffffffff1691505b6000611b8e89898989611b09565b80516020820120606681905560658054929350909160019190600090611bbb90849063ffffffff166129d8565b92506101000a81548163ffffffff021916908363ffffffff160217905550888a63ffffffff163373ffffffffffffffffffffffffffffffffffffffff167f769f711d20c679153d382254f59892613b58a97cc876b249134ac25c80f9c81485604051611c279190612544565b60405180910390a460405181907f788dbc1b7152732178210e7f4d9d010ef016f9eafbe66786bd7169f56e0c353a90600090a26069546040517faaccd23000000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff169063aaccd23090611cb5908a908a908890600401612923565b602060405180830381865afa158015611cd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cf69190612949565b905080341015611d035750345b6069546040517f086011b900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063086011b9908390611d5f908b908b908990600401612923565b6000604051808303818588803b158015611d7857600080fd5b505af1158015611d8c573d6000803e3d6000fd5b50505050508473ffffffffffffffffffffffffffffffffffffffff1663086011b98234611db991906129fc565b8989876040518563ffffffff1660e01b8152600401611dda93929190612923565b6000604051808303818588803b158015611df357600080fd5b505af1158015611e07573d6000803e3d6000fd5b50949e9d5050505050505050505050505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610db8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109f8565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000611f226001828486612975565b611f2b91612a0f565b60f81c90505b92915050565b6000611f47602d60298486612975565b611f5091612a57565b60e01c9392505050565b805160209091012090565b6000611f79611f7484846120a2565b6120b2565b9392505050565b6000611f90602960098486612975565b611f7991612a9d565b6000611f47600960058486612975565b366000611fb983604d8187612975565b915091505b9250929050565b600054610100900460ff1661205c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016109f8565b610db861215b565b60608888888888888888604051602001612085989796959493929190612ad9565b604051602081830303815290604052905098975050505050505050565b6000611f90604d602d8486612975565b600073ffffffffffffffffffffffffffffffffffffffff821115612157576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f5479706543617374733a2062797465733332546f41646472657373206f76657260448201527f666c6f770000000000000000000000000000000000000000000000000000000060648201526084016109f8565b5090565b600054610100900460ff166121f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016109f8565b610db833611e9c565b60006020828403121561220d57600080fd5b5035919050565b803563ffffffff8116811461222857600080fd5b919050565b60006020828403121561223f57600080fd5b611f7982612214565b60008083601f84011261225a57600080fd5b50813567ffffffffffffffff81111561227257600080fd5b602083019150836020828501011115611fbe57600080fd5b73ffffffffffffffffffffffffffffffffffffffff811681146117cb57600080fd5b600080600080600080600060a0888a0312156122c757600080fd5b6122d088612214565b965060208801359550604088013567ffffffffffffffff808211156122f457600080fd5b6123008b838c01612248565b909750955060608a013591508082111561231957600080fd5b506123268a828b01612248565b909450925050608088013561233a8161228a565b8091505092959891949750929550565b60006020828403121561235c57600080fd5b8135611f798161228a565b6000806020838503121561237a57600080fd5b823567ffffffffffffffff81111561239157600080fd5b61239d85828601612248565b90969095509350505050565b600080600080600080608087890312156123c257600080fd5b6123cb87612214565b955060208701359450604087013567ffffffffffffffff808211156123ef57600080fd5b6123fb8a838b01612248565b9096509450606089013591508082111561241457600080fd5b5061242189828a01612248565b979a9699509497509295939492505050565b6000806040838503121561244657600080fd5b61244f83612214565b9150602083013561245f8161228a565b809150509250929050565b6000806000806040858703121561248057600080fd5b843567ffffffffffffffff8082111561249857600080fd5b6124a488838901612248565b909650945060208701359150808211156124bd57600080fd5b506124ca87828801612248565b95989497509550505050565b60005b838110156124f15781810151838201526020016124d9565b50506000910152565b600081518084526125128160208601602086016124d6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611f7960208301846124fa565b6000806000806060858703121561256d57600080fd5b61257685612214565b935060208501359250604085013567ffffffffffffffff81111561259957600080fd5b6124ca87828801612248565b600080600080608085870312156125bb57600080fd5b84356125c68161228a565b935060208501356125d68161228a565b925060408501356125e68161228a565b915060608501356125f68161228a565b939692955090935050565b600181811c9082168061261557607f821691505b60208210810361264e577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6040815260006040820152606060208201526000611f7960608301846124fa565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600063ffffffff8083168181036126bd576126bd612675565b6001019392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115612742576000816000526020600020601f850160051c8101602086101561271f5750805b601f850160051c820191505b8181101561273e5782815560010161272b565b5050505b505050565b67ffffffffffffffff83111561275f5761275f6126c7565b6127738361276d8354612601565b836126f6565b6000601f8411600181146127c5576000851561278f5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611acf565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561281457868501358255602094850194600190920191016127f4565b508682101561284f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6040815260006128be604083018688612861565b8281036020840152610d9b818587612861565b6000602082840312156128e357600080fd5b81518015158114611f7957600080fd5b63ffffffff85168152836020820152606060408201526000612919606083018486612861565b9695505050505050565b604081526000612937604083018587612861565b828103602084015261291981856124fa565b60006020828403121561295b57600080fd5b5051919050565b80820180821115611f3157611f31612675565b6000808585111561298557600080fd5b8386111561299257600080fd5b5050820193919092039150565b600082516129b18184602087016124d6565b9190910192915050565b6000602082840312156129cd57600080fd5b8151611f798161228a565b63ffffffff8181168382160190808211156129f5576129f5612675565b5092915050565b81810381811115611f3157611f31612675565b7fff000000000000000000000000000000000000000000000000000000000000008135818116916001851015612a4f5780818660010360031b1b83161692505b505092915050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015612a4f5760049490940360031b84901b1690921692915050565b80356020831015611f31577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fff000000000000000000000000000000000000000000000000000000000000008960f81b16815260007fffffffff00000000000000000000000000000000000000000000000000000000808a60e01b166001840152808960e01b166005840152876009840152808760e01b1660298401525084602d8301528284604d8401375060009101604d0190815297965050505050505056fea2646970667358221220412ebde6f1dab787f38240716cd6fab690c75a2bd84251411cc0fe387c28236a64736f6c6343000816003360806040526000805461ffff191661010617905534801561001f57600080fd5b506101f68061002f6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80636465e69f14610046578063951a291f1461006a578063f7e83aee146100b1575b600080fd5b6000546100539060ff1681565b60405160ff90911681526020015b60405180910390f35b6100af6100783660046100e2565b60008054911515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909216919091179055565b005b6100d26100bf366004610154565b5050600054610100900460ff1692915050565b6040519015158152602001610061565b6000602082840312156100f457600080fd5b8135801515811461010457600080fd5b9392505050565b60008083601f84011261011d57600080fd5b50813567ffffffffffffffff81111561013557600080fd5b60208301915083602082850101111561014d57600080fd5b9250929050565b6000806000806040858703121561016a57600080fd5b843567ffffffffffffffff8082111561018257600080fd5b61018e8883890161010b565b909650945060208701359150808211156101a757600080fd5b506101b48782880161010b565b9598949750955050505056fea2646970667358221220819733c099e51c47f2ab1bfb0a8c25fc5546b5d715de6aee84959e82cdf9b48164736f6c6343000816003360806040526000805534801561001457600080fd5b50610434806100246000396000f3fe60806040526004361061007b5760003560e01c8063ddca3f431161004e578063ddca3f4314610148578063e445e7dd1461015e578063e5320bb91461017a578063f667ee91146101ad57600080fd5b8063086011b91461008057806369fe0e2d1461009557806393c44847146100b5578063aaccd23014610114575b600080fd5b61009361008e3660046102ca565b6101dd565b005b3480156100a157600080fd5b506100936100b0366004610336565b600055565b3480156100c157600080fd5b506100fe6040518060400160405280600581526020017f372e312e3000000000000000000000000000000000000000000000000000000081525081565b60405161010b919061034f565b60405180910390f35b34801561012057600080fd5b5061013a61012f3660046102ca565b505060005492915050565b60405190815260200161010b565b34801561015457600080fd5b5061013a60005481565b34801561016a57600080fd5b506040516000815260200161010b565b34801561018657600080fd5b5061019d6101953660046103bc565b600192915050565b604051901515815260200161010b565b3480156101b957600080fd5b5061019d6101c8366004610336565b60016020526000908152604090205460ff1681565b6101e9848484846101ef565b50505050565b600180600061023385858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061027692505050565b8152602081019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905550505050565b805160209091012090565b60008083601f84011261029357600080fd5b50813567ffffffffffffffff8111156102ab57600080fd5b6020830191508360208285010111156102c357600080fd5b9250929050565b600080600080604085870312156102e057600080fd5b843567ffffffffffffffff808211156102f857600080fd5b61030488838901610281565b9096509450602087013591508082111561031d57600080fd5b5061032a87828801610281565b95989497509550505050565b60006020828403121561034857600080fd5b5035919050565b60006020808352835180602085015260005b8181101561037d57858101830151858201604001528201610361565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b600080602083850312156103cf57600080fd5b823567ffffffffffffffff8111156103e657600080fd5b6103f285828601610281565b9096909550935050505056fea26469706673582212206650bd004980b48cd73e5378dcdc258e9898f7d9ccb9d24ea387e15750f4ea0164736f6c6343000816003360806040526000805461ffff191661010617905534801561001f57600080fd5b506101f68061002f6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80636465e69f14610046578063951a291f1461006a578063f7e83aee146100b1575b600080fd5b6000546100539060ff1681565b60405160ff90911681526020015b60405180910390f35b6100af6100783660046100e2565b60008054911515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909216919091179055565b005b6100d26100bf366004610154565b5050600054610100900460ff1692915050565b6040519015158152602001610061565b6000602082840312156100f457600080fd5b8135801515811461010457600080fd5b9392505050565b60008083601f84011261011d57600080fd5b50813567ffffffffffffffff81111561013557600080fd5b60208301915083602082850101111561014d57600080fd5b9250929050565b6000806000806040858703121561016a57600080fd5b843567ffffffffffffffff8082111561018257600080fd5b61018e8883890161010b565b909650945060208701359150808211156101a757600080fd5b506101b48782880161010b565b9598949750955050505056fea2646970667358221220819733c099e51c47f2ab1bfb0a8c25fc5546b5d715de6aee84959e82cdf9b48164736f6c63430008160033";
121
121
  const isSuperArgs = (xs) => xs.length > 1;
122
122
  export class MockHyperlaneEnvironment__factory extends ContractFactory {
123
123
  constructor(...args) {
@@ -12,7 +12,7 @@ export declare class MockMailbox__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): MockMailbox;
14
14
  connect(signer: Signer): MockMailbox__factory;
15
- static readonly bytecode = "0x60c0604052606b80546001600160401b03191690553480156200002157600080fd5b50604051620034cd380380620034cd833981016040819052620000449162000248565b4360805263ffffffff811660a05260405160009062000063906200022c565b604051809103906000f08015801562000080573d6000803e3d6000fd5b50606780546001600160a01b0319166001600160a01b038316179055604051909150600090620000b0906200023a565b604051809103906000f080158015620000cd573d6000803e3d6000fd5b50606880546001600160a01b0383166001600160a01b031991821681179092556069805490911690911790559050620001063362000119565b620001106200016b565b50505062000277565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff1615620001d85760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116146200022a576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6102258062002e5083390190565b610458806200307583390190565b6000602082840312156200025b57600080fd5b815163ffffffff811681146200027057600080fd5b9392505050565b60805160a051612ba5620002ab6000396000818161054101528181610e320152611b1e0152600061050d0152612ba56000f3fe6080604052600436106102345760003560e01c80638d3638f411610138578063d6d08a09116100b0578063f794687a1161007f578063f8c8765e11610064578063f8c8765e146107d5578063fa31de01146107f5578063ffa1ad741461080857600080fd5b8063f794687a14610795578063f7ccd321146107b557600080fd5b8063d6d08a09146106c9578063e495f1d4146106f6578063e70f48ac14610755578063f2fde38b1461077557600080fd5b806399b0480911610107578063a3b4919f116100ec578063a3b4919f14610644578063affed0e014610687578063d12164e4146106a457600080fd5b806399b04809146106045780639c42bd181461062457600080fd5b80638d3638f41461052f5780638da5cb5b1461056357806392d28b3d1461058e57806393c44847146105bb57600080fd5b806348aee8d4116101cb578063715018a61161019a57806381d2ea951161017f57806381d2ea95146104a95780638209d312146104c957806382ea7bfe146104fb57600080fd5b8063715018a6146104815780637c39d1301461049657600080fd5b806348aee8d41461038857806359b3f6e01461039b5780635d1fe5a9146104115780636e5f516e1461045457600080fd5b80631426b7f4116102075780631426b7f4146102ee5780631605c3061461030e5780633288990c146103165780633d1250b71461033657600080fd5b806307a2fda1146102395780630a2ee402146102a257806310b83dc0146102b7578063134fbb4f146102d8575b600080fd5b34801561024557600080fd5b506102866102543660046121fb565b6000908152606a602052604090205474010000000000000000000000000000000000000000900465ffffffffffff1690565b60405165ffffffffffff90911681526020015b60405180910390f35b6102b56102b036600461222d565b61082f565b005b6102ca6102c53660046122ac565b610944565b604051908152602001610299565b3480156102e457600080fd5b506102ca60665481565b3480156102fa57600080fd5b506102b561030936600461234a565b610a94565b6102b5610baf565b34801561032257600080fd5b506102b5610331366004612367565b610d0c565b34801561034257600080fd5b506068546103639073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610299565b6102ca6103963660046123a9565b610d68565b3480156103a757600080fd5b506102b56103b6366004612433565b63ffffffff919091166000908152606c6020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055565b34801561041d57600080fd5b5061036361042c3660046121fb565b6000908152606a602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b34801561046057600080fd5b506067546103639073ffffffffffffffffffffffffffffffffffffffff1681565b34801561048d57600080fd5b506102b5610da6565b6102b56104a436600461246a565b610dba565b3480156104b557600080fd5b506102ca6104c43660046122ac565b61125c565b3480156104d557600080fd5b50606b546104e69063ffffffff1681565b60405163ffffffff9091168152602001610299565b34801561050757600080fd5b506102ca7f000000000000000000000000000000000000000000000000000000000000000081565b34801561053b57600080fd5b506104e67f000000000000000000000000000000000000000000000000000000000000000081565b34801561056f57600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff16610363565b34801561059a57600080fd5b506105ae6105a93660046121fb565b6113ef565b6040516102999190612544565b3480156105c757600080fd5b506105ae6040518060400160405280600581526020017f372e302e3000000000000000000000000000000000000000000000000000000081525081565b34801561061057600080fd5b506102b561061f36600461234a565b611489565b34801561063057600080fd5b506102ca61063f366004612557565b6115a4565b34801561065057600080fd5b5061036361065f36600461222d565b606c6020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b34801561069357600080fd5b506065546104e69063ffffffff1681565b3480156106b057600080fd5b50606b546104e690640100000000900463ffffffff1681565b3480156106d557600080fd5b506069546103639073ffffffffffffffffffffffffffffffffffffffff1681565b34801561070257600080fd5b506107456107113660046121fb565b6000908152606a602052604090205474010000000000000000000000000000000000000000900465ffffffffffff16151590565b6040519015158152602001610299565b34801561076157600080fd5b5061036361077036600461234a565b6115e0565b34801561078157600080fd5b506102b561079036600461234a565b611717565b3480156107a157600080fd5b506102b56107b036600461234a565b6117ce565b3480156107c157600080fd5b506102ca6107d03660046123a9565b6118e9565b3480156107e157600080fd5b506102b56107f03660046125a5565b61191c565b6102ca610803366004612557565b611ad6565b34801561081457600080fd5b5061081d600381565b60405160ff9091168152602001610299565b63ffffffff81166000908152606d60205260408120805461084f90612601565b80601f016020809104026020016040519081016040528092919081815260200182805461087b90612601565b80156108c85780601f1061089d576101008083540402835291602001916108c8565b820191906000526020600020905b8154815290600101906020018083116108ab57829003601f168201915b50506040517f7c39d1300000000000000000000000000000000000000000000000000000000081529394503093637c39d130935034925061090e91508590600401612654565b6000604051808303818588803b15801561092757600080fd5b505af115801561093b573d6000803e3d6000fd5b50505050505050565b60008061095389898989611b09565b905060006109668a8a8a8a8a8a8a611b47565b63ffffffff8b166000908152606c602052604090205490915073ffffffffffffffffffffffffffffffffffffffff1680610a01576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d697373696e672072656d6f7465206d61696c626f780000000000000000000060448201526064015b60405180910390fd5b6040517f3288990c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690633288990c90610a53908690600401612544565b600060405180830381600087803b158015610a6d57600080fd5b505af1158015610a81573d6000803e3d6000fd5b50939d9c50505050505050505050505050565b610a9c611e1b565b73ffffffffffffffffffffffffffffffffffffffff81163b610b40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4d61696c626f783a20726571756972656420686f6f6b206e6f7420636f6e747260448201527f616374000000000000000000000000000000000000000000000000000000000060648201526084016109f8565b606980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f329ec8e2438a73828ecf31a6568d7a91d7b1d79e342b0692914fd053d1a002b190600090a250565b606b54640100000000900463ffffffff166000908152606d602052604081208054610bd990612601565b80601f0160208091040260200160405190810160405280929190818152602001828054610c0590612601565b8015610c525780601f10610c2757610100808354040283529160200191610c52565b820191906000526020600020905b815481529060010190602001808311610c3557829003601f168201915b50506040517f7c39d1300000000000000000000000000000000000000000000000000000000081529394503093637c39d1309350349250610c9891508590600401612654565b6000604051808303818588803b158015610cb157600080fd5b505af1158015610cc5573d6000803e3d6000fd5b5050606b8054640100000000900463ffffffff169350915060049050610cea836126a4565b91906101000a81548163ffffffff021916908363ffffffff1602179055505050565b606b5463ffffffff166000908152606d60205260409020610d2e828483612747565b50606b805463ffffffff16906000610d45836126a4565b91906101000a81548163ffffffff021916908363ffffffff160217905550505050565b6000610d9b878787878787606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610944565b979650505050505050565b610dae611e1b565b610db86000611e9c565b565b6003610dc68383611f13565b60ff1614610e30576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4d61696c626f783a206261642076657273696f6e00000000000000000000000060448201526064016109f8565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff16610e618383611f37565b63ffffffff1614610ece576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4d61696c626f783a20756e65787065637465642064657374696e6174696f6e0060448201526064016109f8565b6000610f0f83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611f5a92505050565b6000818152606a602052604090205490915074010000000000000000000000000000000000000000900465ffffffffffff1615610fa8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4d61696c626f783a20616c72656164792064656c69766572656400000000000060448201526064016109f8565b6000610fb48484611f65565b90506000610fc1826115e0565b60408051808201825233815265ffffffffffff43811660208084019182526000898152606a9091529390932091518254935190911674010000000000000000000000000000000000000000027fffffffffffff000000000000000000000000000000000000000000000000000090931673ffffffffffffffffffffffffffffffffffffffff91821617929092179055909150821661105f8686611f80565b6110698787611f99565b63ffffffff167f0d381c2a574ae8f04e213db7cfb4df8df712cdbd427d9868ffef380660ca657460405160405180910390a460405183907f1cae38cdd3d3919489272725a5ae62a4f48b2989b0dae843d3c279fee18073a990600090a26040517ff7e83aee00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063f7e83aee9061111e908a908a908a908a906004016128aa565b6020604051808303816000875af115801561113d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116191906128d1565b6111c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4d61696c626f783a2049534d20766572696669636174696f6e206661696c656460448201526064016109f8565b8173ffffffffffffffffffffffffffffffffffffffff166356d5d475346111ee8888611f99565b6111f88989611f80565b6112028a8a611fa9565b6040518663ffffffff1660e01b815260040161122194939291906128f3565b6000604051808303818588803b15801561123a57600080fd5b505af115801561124e573d6000803e3d6000fd5b505050505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82166112955760685473ffffffffffffffffffffffffffffffffffffffff1691505b60006112a389898989611b09565b6040517faaccd23000000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff84169063aaccd230906112fc90889088908690600401612923565b602060405180830381865afa158015611319573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133d9190612949565b6069546040517faaccd23000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063aaccd2309061139790899089908790600401612923565b602060405180830381865afa1580156113b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d89190612949565b6113e29190612962565b9998505050505050505050565b606d602052600090815260409020805461140890612601565b80601f016020809104026020016040519081016040528092919081815260200182805461143490612601565b80156114815780601f1061145657610100808354040283529160200191611481565b820191906000526020600020905b81548152906001019060200180831161146457829003601f168201915b505050505081565b611491611e1b565b73ffffffffffffffffffffffffffffffffffffffff81163b611535576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4d61696c626f783a2064656661756c7420686f6f6b206e6f7420636f6e74726160448201527f637400000000000000000000000000000000000000000000000000000000000060648201526084016109f8565b606880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f65a63e5066ee2fcdf9d32a7f1bf7ce71c76066f19d0609dddccd334ab87237d790600090a250565b60006115d7858585856115b986808385612975565b60685473ffffffffffffffffffffffffffffffffffffffff1661125c565b95945050505050565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fde523cf30000000000000000000000000000000000000000000000000000000017905290516000918291829173ffffffffffffffffffffffffffffffffffffffff861691611661919061299f565b600060405180830381855afa9150503d806000811461169c576040519150601f19603f3d011682016040523d82523d6000602084013e6116a1565b606091505b50915091508180156116b35750805115155b156116f6576000818060200190518101906116ce91906129bb565b905073ffffffffffffffffffffffffffffffffffffffff8116156116f457949350505050565b505b505060675473ffffffffffffffffffffffffffffffffffffffff1692915050565b61171f611e1b565b73ffffffffffffffffffffffffffffffffffffffff81166117c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016109f8565b6117cb81611e9c565b50565b6117d6611e1b565b73ffffffffffffffffffffffffffffffffffffffff81163b61187a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f783a2064656661756c742049534d206e6f7420636f6e7472616360448201527f740000000000000000000000000000000000000000000000000000000000000060648201526084016109f8565b606780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fa76ad0adbf45318f8633aa0210f711273d50fbb6fef76ed95bbae97082c75daa90600090a250565b6000610d9b878787878787606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661125c565b600054610100900460ff161580801561193c5750600054600160ff909116105b806119565750303b158015611956575060005460ff166001145b6119e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016109f8565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015611a4057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b611a48611fc5565b611a51846117ce565b611a5a83611489565b611a6382610a94565b611a6c85611717565b8015611acf57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b60006115d785858585611aeb86808385612975565b60685473ffffffffffffffffffffffffffffffffffffffff16610944565b6065546060906115d79060039063ffffffff167f00000000000000000000000000000000000000000000000000000000000000003389898989612064565b600073ffffffffffffffffffffffffffffffffffffffff8216611b805760685473ffffffffffffffffffffffffffffffffffffffff1691505b6000611b8e89898989611b09565b80516020820120606681905560658054929350909160019190600090611bbb90849063ffffffff166129d8565b92506101000a81548163ffffffff021916908363ffffffff160217905550888a63ffffffff163373ffffffffffffffffffffffffffffffffffffffff167f769f711d20c679153d382254f59892613b58a97cc876b249134ac25c80f9c81485604051611c279190612544565b60405180910390a460405181907f788dbc1b7152732178210e7f4d9d010ef016f9eafbe66786bd7169f56e0c353a90600090a26069546040517faaccd23000000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff169063aaccd23090611cb5908a908a908890600401612923565b602060405180830381865afa158015611cd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cf69190612949565b905080341015611d035750345b6069546040517f086011b900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063086011b9908390611d5f908b908b908990600401612923565b6000604051808303818588803b158015611d7857600080fd5b505af1158015611d8c573d6000803e3d6000fd5b50505050508473ffffffffffffffffffffffffffffffffffffffff1663086011b98234611db991906129fc565b8989876040518563ffffffff1660e01b8152600401611dda93929190612923565b6000604051808303818588803b158015611df357600080fd5b505af1158015611e07573d6000803e3d6000fd5b50949e9d5050505050505050505050505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610db8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109f8565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000611f226001828486612975565b611f2b91612a0f565b60f81c90505b92915050565b6000611f47602d60298486612975565b611f5091612a57565b60e01c9392505050565b805160209091012090565b6000611f79611f7484846120a2565b6120b2565b9392505050565b6000611f90602960098486612975565b611f7991612a9d565b6000611f47600960058486612975565b366000611fb983604d8187612975565b915091505b9250929050565b600054610100900460ff1661205c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016109f8565b610db861215b565b60608888888888888888604051602001612085989796959493929190612ad9565b604051602081830303815290604052905098975050505050505050565b6000611f90604d602d8486612975565b600073ffffffffffffffffffffffffffffffffffffffff821115612157576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f5479706543617374733a2062797465733332546f41646472657373206f76657260448201527f666c6f770000000000000000000000000000000000000000000000000000000060648201526084016109f8565b5090565b600054610100900460ff166121f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016109f8565b610db833611e9c565b60006020828403121561220d57600080fd5b5035919050565b803563ffffffff8116811461222857600080fd5b919050565b60006020828403121561223f57600080fd5b611f7982612214565b60008083601f84011261225a57600080fd5b50813567ffffffffffffffff81111561227257600080fd5b602083019150836020828501011115611fbe57600080fd5b73ffffffffffffffffffffffffffffffffffffffff811681146117cb57600080fd5b600080600080600080600060a0888a0312156122c757600080fd5b6122d088612214565b965060208801359550604088013567ffffffffffffffff808211156122f457600080fd5b6123008b838c01612248565b909750955060608a013591508082111561231957600080fd5b506123268a828b01612248565b909450925050608088013561233a8161228a565b8091505092959891949750929550565b60006020828403121561235c57600080fd5b8135611f798161228a565b6000806020838503121561237a57600080fd5b823567ffffffffffffffff81111561239157600080fd5b61239d85828601612248565b90969095509350505050565b600080600080600080608087890312156123c257600080fd5b6123cb87612214565b955060208701359450604087013567ffffffffffffffff808211156123ef57600080fd5b6123fb8a838b01612248565b9096509450606089013591508082111561241457600080fd5b5061242189828a01612248565b979a9699509497509295939492505050565b6000806040838503121561244657600080fd5b61244f83612214565b9150602083013561245f8161228a565b809150509250929050565b6000806000806040858703121561248057600080fd5b843567ffffffffffffffff8082111561249857600080fd5b6124a488838901612248565b909650945060208701359150808211156124bd57600080fd5b506124ca87828801612248565b95989497509550505050565b60005b838110156124f15781810151838201526020016124d9565b50506000910152565b600081518084526125128160208601602086016124d6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611f7960208301846124fa565b6000806000806060858703121561256d57600080fd5b61257685612214565b935060208501359250604085013567ffffffffffffffff81111561259957600080fd5b6124ca87828801612248565b600080600080608085870312156125bb57600080fd5b84356125c68161228a565b935060208501356125d68161228a565b925060408501356125e68161228a565b915060608501356125f68161228a565b939692955090935050565b600181811c9082168061261557607f821691505b60208210810361264e577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6040815260006040820152606060208201526000611f7960608301846124fa565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600063ffffffff8083168181036126bd576126bd612675565b6001019392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115612742576000816000526020600020601f850160051c8101602086101561271f5750805b601f850160051c820191505b8181101561273e5782815560010161272b565b5050505b505050565b67ffffffffffffffff83111561275f5761275f6126c7565b6127738361276d8354612601565b836126f6565b6000601f8411600181146127c5576000851561278f5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611acf565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561281457868501358255602094850194600190920191016127f4565b508682101561284f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6040815260006128be604083018688612861565b8281036020840152610d9b818587612861565b6000602082840312156128e357600080fd5b81518015158114611f7957600080fd5b63ffffffff85168152836020820152606060408201526000612919606083018486612861565b9695505050505050565b604081526000612937604083018587612861565b828103602084015261291981856124fa565b60006020828403121561295b57600080fd5b5051919050565b80820180821115611f3157611f31612675565b6000808585111561298557600080fd5b8386111561299257600080fd5b5050820193919092039150565b600082516129b18184602087016124d6565b9190910192915050565b6000602082840312156129cd57600080fd5b8151611f798161228a565b63ffffffff8181168382160190808211156129f5576129f5612675565b5092915050565b81810381811115611f3157611f31612675565b7fff000000000000000000000000000000000000000000000000000000000000008135818116916001851015612a4f5780818660010360031b1b83161692505b505092915050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015612a4f5760049490940360031b84901b1690921692915050565b80356020831015611f31577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fff000000000000000000000000000000000000000000000000000000000000008960f81b16815260007fffffffff00000000000000000000000000000000000000000000000000000000808a60e01b166001840152808960e01b166005840152876009840152808760e01b1660298401525084602d8301528284604d8401375060009101604d0190815297965050505050505056fea2646970667358221220d940ecc85014d6af6238bd85c24f5bf7941bbb446b26c62f8e7d5fb11ea149d164736f6c6343000816003360806040526000805461ffff191661010617905534801561001f57600080fd5b506101f68061002f6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80636465e69f14610046578063951a291f1461006a578063f7e83aee146100b1575b600080fd5b6000546100539060ff1681565b60405160ff90911681526020015b60405180910390f35b6100af6100783660046100e2565b60008054911515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909216919091179055565b005b6100d26100bf366004610154565b5050600054610100900460ff1692915050565b6040519015158152602001610061565b6000602082840312156100f457600080fd5b8135801515811461010457600080fd5b9392505050565b60008083601f84011261011d57600080fd5b50813567ffffffffffffffff81111561013557600080fd5b60208301915083602082850101111561014d57600080fd5b9250929050565b6000806000806040858703121561016a57600080fd5b843567ffffffffffffffff8082111561018257600080fd5b61018e8883890161010b565b909650945060208701359150808211156101a757600080fd5b506101b48782880161010b565b9598949750955050505056fea2646970667358221220819733c099e51c47f2ab1bfb0a8c25fc5546b5d715de6aee84959e82cdf9b48164736f6c6343000816003360806040526000805534801561001457600080fd5b50610434806100246000396000f3fe60806040526004361061007b5760003560e01c8063ddca3f431161004e578063ddca3f4314610148578063e445e7dd1461015e578063e5320bb91461017a578063f667ee91146101ad57600080fd5b8063086011b91461008057806369fe0e2d1461009557806393c44847146100b5578063aaccd23014610114575b600080fd5b61009361008e3660046102ca565b6101dd565b005b3480156100a157600080fd5b506100936100b0366004610336565b600055565b3480156100c157600080fd5b506100fe6040518060400160405280600581526020017f372e302e3000000000000000000000000000000000000000000000000000000081525081565b60405161010b919061034f565b60405180910390f35b34801561012057600080fd5b5061013a61012f3660046102ca565b505060005492915050565b60405190815260200161010b565b34801561015457600080fd5b5061013a60005481565b34801561016a57600080fd5b506040516000815260200161010b565b34801561018657600080fd5b5061019d6101953660046103bc565b600192915050565b604051901515815260200161010b565b3480156101b957600080fd5b5061019d6101c8366004610336565b60016020526000908152604090205460ff1681565b6101e9848484846101ef565b50505050565b600180600061023385858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061027692505050565b8152602081019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905550505050565b805160209091012090565b60008083601f84011261029357600080fd5b50813567ffffffffffffffff8111156102ab57600080fd5b6020830191508360208285010111156102c357600080fd5b9250929050565b600080600080604085870312156102e057600080fd5b843567ffffffffffffffff808211156102f857600080fd5b61030488838901610281565b9096509450602087013591508082111561031d57600080fd5b5061032a87828801610281565b95989497509550505050565b60006020828403121561034857600080fd5b5035919050565b60006020808352835180602085015260005b8181101561037d57858101830151858201604001528201610361565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b600080602083850312156103cf57600080fd5b823567ffffffffffffffff8111156103e657600080fd5b6103f285828601610281565b9096909550935050505056fea26469706673582212209fc4d99d1d079e85548e2027753406f46234408bd41addb22db37e25e8d55d7d64736f6c63430008160033";
15
+ static readonly bytecode = "0x60c0604052606b80546001600160401b03191690553480156200002157600080fd5b50604051620034cd380380620034cd833981016040819052620000449162000248565b4360805263ffffffff811660a05260405160009062000063906200022c565b604051809103906000f08015801562000080573d6000803e3d6000fd5b50606780546001600160a01b0319166001600160a01b038316179055604051909150600090620000b0906200023a565b604051809103906000f080158015620000cd573d6000803e3d6000fd5b50606880546001600160a01b0383166001600160a01b031991821681179092556069805490911690911790559050620001063362000119565b620001106200016b565b50505062000277565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff1615620001d85760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116146200022a576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6102258062002e5083390190565b610458806200307583390190565b6000602082840312156200025b57600080fd5b815163ffffffff811681146200027057600080fd5b9392505050565b60805160a051612ba5620002ab6000396000818161054101528181610e320152611b1e0152600061050d0152612ba56000f3fe6080604052600436106102345760003560e01c80638d3638f411610138578063d6d08a09116100b0578063f794687a1161007f578063f8c8765e11610064578063f8c8765e146107d5578063fa31de01146107f5578063ffa1ad741461080857600080fd5b8063f794687a14610795578063f7ccd321146107b557600080fd5b8063d6d08a09146106c9578063e495f1d4146106f6578063e70f48ac14610755578063f2fde38b1461077557600080fd5b806399b0480911610107578063a3b4919f116100ec578063a3b4919f14610644578063affed0e014610687578063d12164e4146106a457600080fd5b806399b04809146106045780639c42bd181461062457600080fd5b80638d3638f41461052f5780638da5cb5b1461056357806392d28b3d1461058e57806393c44847146105bb57600080fd5b806348aee8d4116101cb578063715018a61161019a57806381d2ea951161017f57806381d2ea95146104a95780638209d312146104c957806382ea7bfe146104fb57600080fd5b8063715018a6146104815780637c39d1301461049657600080fd5b806348aee8d41461038857806359b3f6e01461039b5780635d1fe5a9146104115780636e5f516e1461045457600080fd5b80631426b7f4116102075780631426b7f4146102ee5780631605c3061461030e5780633288990c146103165780633d1250b71461033657600080fd5b806307a2fda1146102395780630a2ee402146102a257806310b83dc0146102b7578063134fbb4f146102d8575b600080fd5b34801561024557600080fd5b506102866102543660046121fb565b6000908152606a602052604090205474010000000000000000000000000000000000000000900465ffffffffffff1690565b60405165ffffffffffff90911681526020015b60405180910390f35b6102b56102b036600461222d565b61082f565b005b6102ca6102c53660046122ac565b610944565b604051908152602001610299565b3480156102e457600080fd5b506102ca60665481565b3480156102fa57600080fd5b506102b561030936600461234a565b610a94565b6102b5610baf565b34801561032257600080fd5b506102b5610331366004612367565b610d0c565b34801561034257600080fd5b506068546103639073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610299565b6102ca6103963660046123a9565b610d68565b3480156103a757600080fd5b506102b56103b6366004612433565b63ffffffff919091166000908152606c6020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055565b34801561041d57600080fd5b5061036361042c3660046121fb565b6000908152606a602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b34801561046057600080fd5b506067546103639073ffffffffffffffffffffffffffffffffffffffff1681565b34801561048d57600080fd5b506102b5610da6565b6102b56104a436600461246a565b610dba565b3480156104b557600080fd5b506102ca6104c43660046122ac565b61125c565b3480156104d557600080fd5b50606b546104e69063ffffffff1681565b60405163ffffffff9091168152602001610299565b34801561050757600080fd5b506102ca7f000000000000000000000000000000000000000000000000000000000000000081565b34801561053b57600080fd5b506104e67f000000000000000000000000000000000000000000000000000000000000000081565b34801561056f57600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff16610363565b34801561059a57600080fd5b506105ae6105a93660046121fb565b6113ef565b6040516102999190612544565b3480156105c757600080fd5b506105ae6040518060400160405280600581526020017f372e312e3000000000000000000000000000000000000000000000000000000081525081565b34801561061057600080fd5b506102b561061f36600461234a565b611489565b34801561063057600080fd5b506102ca61063f366004612557565b6115a4565b34801561065057600080fd5b5061036361065f36600461222d565b606c6020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b34801561069357600080fd5b506065546104e69063ffffffff1681565b3480156106b057600080fd5b50606b546104e690640100000000900463ffffffff1681565b3480156106d557600080fd5b506069546103639073ffffffffffffffffffffffffffffffffffffffff1681565b34801561070257600080fd5b506107456107113660046121fb565b6000908152606a602052604090205474010000000000000000000000000000000000000000900465ffffffffffff16151590565b6040519015158152602001610299565b34801561076157600080fd5b5061036361077036600461234a565b6115e0565b34801561078157600080fd5b506102b561079036600461234a565b611717565b3480156107a157600080fd5b506102b56107b036600461234a565b6117ce565b3480156107c157600080fd5b506102ca6107d03660046123a9565b6118e9565b3480156107e157600080fd5b506102b56107f03660046125a5565b61191c565b6102ca610803366004612557565b611ad6565b34801561081457600080fd5b5061081d600381565b60405160ff9091168152602001610299565b63ffffffff81166000908152606d60205260408120805461084f90612601565b80601f016020809104026020016040519081016040528092919081815260200182805461087b90612601565b80156108c85780601f1061089d576101008083540402835291602001916108c8565b820191906000526020600020905b8154815290600101906020018083116108ab57829003601f168201915b50506040517f7c39d1300000000000000000000000000000000000000000000000000000000081529394503093637c39d130935034925061090e91508590600401612654565b6000604051808303818588803b15801561092757600080fd5b505af115801561093b573d6000803e3d6000fd5b50505050505050565b60008061095389898989611b09565b905060006109668a8a8a8a8a8a8a611b47565b63ffffffff8b166000908152606c602052604090205490915073ffffffffffffffffffffffffffffffffffffffff1680610a01576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d697373696e672072656d6f7465206d61696c626f780000000000000000000060448201526064015b60405180910390fd5b6040517f3288990c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690633288990c90610a53908690600401612544565b600060405180830381600087803b158015610a6d57600080fd5b505af1158015610a81573d6000803e3d6000fd5b50939d9c50505050505050505050505050565b610a9c611e1b565b73ffffffffffffffffffffffffffffffffffffffff81163b610b40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4d61696c626f783a20726571756972656420686f6f6b206e6f7420636f6e747260448201527f616374000000000000000000000000000000000000000000000000000000000060648201526084016109f8565b606980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f329ec8e2438a73828ecf31a6568d7a91d7b1d79e342b0692914fd053d1a002b190600090a250565b606b54640100000000900463ffffffff166000908152606d602052604081208054610bd990612601565b80601f0160208091040260200160405190810160405280929190818152602001828054610c0590612601565b8015610c525780601f10610c2757610100808354040283529160200191610c52565b820191906000526020600020905b815481529060010190602001808311610c3557829003601f168201915b50506040517f7c39d1300000000000000000000000000000000000000000000000000000000081529394503093637c39d1309350349250610c9891508590600401612654565b6000604051808303818588803b158015610cb157600080fd5b505af1158015610cc5573d6000803e3d6000fd5b5050606b8054640100000000900463ffffffff169350915060049050610cea836126a4565b91906101000a81548163ffffffff021916908363ffffffff1602179055505050565b606b5463ffffffff166000908152606d60205260409020610d2e828483612747565b50606b805463ffffffff16906000610d45836126a4565b91906101000a81548163ffffffff021916908363ffffffff160217905550505050565b6000610d9b878787878787606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610944565b979650505050505050565b610dae611e1b565b610db86000611e9c565b565b6003610dc68383611f13565b60ff1614610e30576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4d61696c626f783a206261642076657273696f6e00000000000000000000000060448201526064016109f8565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff16610e618383611f37565b63ffffffff1614610ece576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4d61696c626f783a20756e65787065637465642064657374696e6174696f6e0060448201526064016109f8565b6000610f0f83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611f5a92505050565b6000818152606a602052604090205490915074010000000000000000000000000000000000000000900465ffffffffffff1615610fa8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4d61696c626f783a20616c72656164792064656c69766572656400000000000060448201526064016109f8565b6000610fb48484611f65565b90506000610fc1826115e0565b60408051808201825233815265ffffffffffff43811660208084019182526000898152606a9091529390932091518254935190911674010000000000000000000000000000000000000000027fffffffffffff000000000000000000000000000000000000000000000000000090931673ffffffffffffffffffffffffffffffffffffffff91821617929092179055909150821661105f8686611f80565b6110698787611f99565b63ffffffff167f0d381c2a574ae8f04e213db7cfb4df8df712cdbd427d9868ffef380660ca657460405160405180910390a460405183907f1cae38cdd3d3919489272725a5ae62a4f48b2989b0dae843d3c279fee18073a990600090a26040517ff7e83aee00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063f7e83aee9061111e908a908a908a908a906004016128aa565b6020604051808303816000875af115801561113d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116191906128d1565b6111c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4d61696c626f783a2049534d20766572696669636174696f6e206661696c656460448201526064016109f8565b8173ffffffffffffffffffffffffffffffffffffffff166356d5d475346111ee8888611f99565b6111f88989611f80565b6112028a8a611fa9565b6040518663ffffffff1660e01b815260040161122194939291906128f3565b6000604051808303818588803b15801561123a57600080fd5b505af115801561124e573d6000803e3d6000fd5b505050505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82166112955760685473ffffffffffffffffffffffffffffffffffffffff1691505b60006112a389898989611b09565b6040517faaccd23000000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff84169063aaccd230906112fc90889088908690600401612923565b602060405180830381865afa158015611319573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133d9190612949565b6069546040517faaccd23000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063aaccd2309061139790899089908790600401612923565b602060405180830381865afa1580156113b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d89190612949565b6113e29190612962565b9998505050505050505050565b606d602052600090815260409020805461140890612601565b80601f016020809104026020016040519081016040528092919081815260200182805461143490612601565b80156114815780601f1061145657610100808354040283529160200191611481565b820191906000526020600020905b81548152906001019060200180831161146457829003601f168201915b505050505081565b611491611e1b565b73ffffffffffffffffffffffffffffffffffffffff81163b611535576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4d61696c626f783a2064656661756c7420686f6f6b206e6f7420636f6e74726160448201527f637400000000000000000000000000000000000000000000000000000000000060648201526084016109f8565b606880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f65a63e5066ee2fcdf9d32a7f1bf7ce71c76066f19d0609dddccd334ab87237d790600090a250565b60006115d7858585856115b986808385612975565b60685473ffffffffffffffffffffffffffffffffffffffff1661125c565b95945050505050565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fde523cf30000000000000000000000000000000000000000000000000000000017905290516000918291829173ffffffffffffffffffffffffffffffffffffffff861691611661919061299f565b600060405180830381855afa9150503d806000811461169c576040519150601f19603f3d011682016040523d82523d6000602084013e6116a1565b606091505b50915091508180156116b35750805115155b156116f6576000818060200190518101906116ce91906129bb565b905073ffffffffffffffffffffffffffffffffffffffff8116156116f457949350505050565b505b505060675473ffffffffffffffffffffffffffffffffffffffff1692915050565b61171f611e1b565b73ffffffffffffffffffffffffffffffffffffffff81166117c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016109f8565b6117cb81611e9c565b50565b6117d6611e1b565b73ffffffffffffffffffffffffffffffffffffffff81163b61187a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f783a2064656661756c742049534d206e6f7420636f6e7472616360448201527f740000000000000000000000000000000000000000000000000000000000000060648201526084016109f8565b606780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fa76ad0adbf45318f8633aa0210f711273d50fbb6fef76ed95bbae97082c75daa90600090a250565b6000610d9b878787878787606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661125c565b600054610100900460ff161580801561193c5750600054600160ff909116105b806119565750303b158015611956575060005460ff166001145b6119e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016109f8565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015611a4057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b611a48611fc5565b611a51846117ce565b611a5a83611489565b611a6382610a94565b611a6c85611717565b8015611acf57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b60006115d785858585611aeb86808385612975565b60685473ffffffffffffffffffffffffffffffffffffffff16610944565b6065546060906115d79060039063ffffffff167f00000000000000000000000000000000000000000000000000000000000000003389898989612064565b600073ffffffffffffffffffffffffffffffffffffffff8216611b805760685473ffffffffffffffffffffffffffffffffffffffff1691505b6000611b8e89898989611b09565b80516020820120606681905560658054929350909160019190600090611bbb90849063ffffffff166129d8565b92506101000a81548163ffffffff021916908363ffffffff160217905550888a63ffffffff163373ffffffffffffffffffffffffffffffffffffffff167f769f711d20c679153d382254f59892613b58a97cc876b249134ac25c80f9c81485604051611c279190612544565b60405180910390a460405181907f788dbc1b7152732178210e7f4d9d010ef016f9eafbe66786bd7169f56e0c353a90600090a26069546040517faaccd23000000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff169063aaccd23090611cb5908a908a908890600401612923565b602060405180830381865afa158015611cd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cf69190612949565b905080341015611d035750345b6069546040517f086011b900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063086011b9908390611d5f908b908b908990600401612923565b6000604051808303818588803b158015611d7857600080fd5b505af1158015611d8c573d6000803e3d6000fd5b50505050508473ffffffffffffffffffffffffffffffffffffffff1663086011b98234611db991906129fc565b8989876040518563ffffffff1660e01b8152600401611dda93929190612923565b6000604051808303818588803b158015611df357600080fd5b505af1158015611e07573d6000803e3d6000fd5b50949e9d5050505050505050505050505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610db8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109f8565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000611f226001828486612975565b611f2b91612a0f565b60f81c90505b92915050565b6000611f47602d60298486612975565b611f5091612a57565b60e01c9392505050565b805160209091012090565b6000611f79611f7484846120a2565b6120b2565b9392505050565b6000611f90602960098486612975565b611f7991612a9d565b6000611f47600960058486612975565b366000611fb983604d8187612975565b915091505b9250929050565b600054610100900460ff1661205c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016109f8565b610db861215b565b60608888888888888888604051602001612085989796959493929190612ad9565b604051602081830303815290604052905098975050505050505050565b6000611f90604d602d8486612975565b600073ffffffffffffffffffffffffffffffffffffffff821115612157576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f5479706543617374733a2062797465733332546f41646472657373206f76657260448201527f666c6f770000000000000000000000000000000000000000000000000000000060648201526084016109f8565b5090565b600054610100900460ff166121f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016109f8565b610db833611e9c565b60006020828403121561220d57600080fd5b5035919050565b803563ffffffff8116811461222857600080fd5b919050565b60006020828403121561223f57600080fd5b611f7982612214565b60008083601f84011261225a57600080fd5b50813567ffffffffffffffff81111561227257600080fd5b602083019150836020828501011115611fbe57600080fd5b73ffffffffffffffffffffffffffffffffffffffff811681146117cb57600080fd5b600080600080600080600060a0888a0312156122c757600080fd5b6122d088612214565b965060208801359550604088013567ffffffffffffffff808211156122f457600080fd5b6123008b838c01612248565b909750955060608a013591508082111561231957600080fd5b506123268a828b01612248565b909450925050608088013561233a8161228a565b8091505092959891949750929550565b60006020828403121561235c57600080fd5b8135611f798161228a565b6000806020838503121561237a57600080fd5b823567ffffffffffffffff81111561239157600080fd5b61239d85828601612248565b90969095509350505050565b600080600080600080608087890312156123c257600080fd5b6123cb87612214565b955060208701359450604087013567ffffffffffffffff808211156123ef57600080fd5b6123fb8a838b01612248565b9096509450606089013591508082111561241457600080fd5b5061242189828a01612248565b979a9699509497509295939492505050565b6000806040838503121561244657600080fd5b61244f83612214565b9150602083013561245f8161228a565b809150509250929050565b6000806000806040858703121561248057600080fd5b843567ffffffffffffffff8082111561249857600080fd5b6124a488838901612248565b909650945060208701359150808211156124bd57600080fd5b506124ca87828801612248565b95989497509550505050565b60005b838110156124f15781810151838201526020016124d9565b50506000910152565b600081518084526125128160208601602086016124d6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611f7960208301846124fa565b6000806000806060858703121561256d57600080fd5b61257685612214565b935060208501359250604085013567ffffffffffffffff81111561259957600080fd5b6124ca87828801612248565b600080600080608085870312156125bb57600080fd5b84356125c68161228a565b935060208501356125d68161228a565b925060408501356125e68161228a565b915060608501356125f68161228a565b939692955090935050565b600181811c9082168061261557607f821691505b60208210810361264e577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6040815260006040820152606060208201526000611f7960608301846124fa565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600063ffffffff8083168181036126bd576126bd612675565b6001019392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115612742576000816000526020600020601f850160051c8101602086101561271f5750805b601f850160051c820191505b8181101561273e5782815560010161272b565b5050505b505050565b67ffffffffffffffff83111561275f5761275f6126c7565b6127738361276d8354612601565b836126f6565b6000601f8411600181146127c5576000851561278f5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611acf565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561281457868501358255602094850194600190920191016127f4565b508682101561284f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6040815260006128be604083018688612861565b8281036020840152610d9b818587612861565b6000602082840312156128e357600080fd5b81518015158114611f7957600080fd5b63ffffffff85168152836020820152606060408201526000612919606083018486612861565b9695505050505050565b604081526000612937604083018587612861565b828103602084015261291981856124fa565b60006020828403121561295b57600080fd5b5051919050565b80820180821115611f3157611f31612675565b6000808585111561298557600080fd5b8386111561299257600080fd5b5050820193919092039150565b600082516129b18184602087016124d6565b9190910192915050565b6000602082840312156129cd57600080fd5b8151611f798161228a565b63ffffffff8181168382160190808211156129f5576129f5612675565b5092915050565b81810381811115611f3157611f31612675565b7fff000000000000000000000000000000000000000000000000000000000000008135818116916001851015612a4f5780818660010360031b1b83161692505b505092915050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015612a4f5760049490940360031b84901b1690921692915050565b80356020831015611f31577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fff000000000000000000000000000000000000000000000000000000000000008960f81b16815260007fffffffff00000000000000000000000000000000000000000000000000000000808a60e01b166001840152808960e01b166005840152876009840152808760e01b1660298401525084602d8301528284604d8401375060009101604d0190815297965050505050505056fea2646970667358221220412ebde6f1dab787f38240716cd6fab690c75a2bd84251411cc0fe387c28236a64736f6c6343000816003360806040526000805461ffff191661010617905534801561001f57600080fd5b506101f68061002f6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80636465e69f14610046578063951a291f1461006a578063f7e83aee146100b1575b600080fd5b6000546100539060ff1681565b60405160ff90911681526020015b60405180910390f35b6100af6100783660046100e2565b60008054911515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909216919091179055565b005b6100d26100bf366004610154565b5050600054610100900460ff1692915050565b6040519015158152602001610061565b6000602082840312156100f457600080fd5b8135801515811461010457600080fd5b9392505050565b60008083601f84011261011d57600080fd5b50813567ffffffffffffffff81111561013557600080fd5b60208301915083602082850101111561014d57600080fd5b9250929050565b6000806000806040858703121561016a57600080fd5b843567ffffffffffffffff8082111561018257600080fd5b61018e8883890161010b565b909650945060208701359150808211156101a757600080fd5b506101b48782880161010b565b9598949750955050505056fea2646970667358221220819733c099e51c47f2ab1bfb0a8c25fc5546b5d715de6aee84959e82cdf9b48164736f6c6343000816003360806040526000805534801561001457600080fd5b50610434806100246000396000f3fe60806040526004361061007b5760003560e01c8063ddca3f431161004e578063ddca3f4314610148578063e445e7dd1461015e578063e5320bb91461017a578063f667ee91146101ad57600080fd5b8063086011b91461008057806369fe0e2d1461009557806393c44847146100b5578063aaccd23014610114575b600080fd5b61009361008e3660046102ca565b6101dd565b005b3480156100a157600080fd5b506100936100b0366004610336565b600055565b3480156100c157600080fd5b506100fe6040518060400160405280600581526020017f372e312e3000000000000000000000000000000000000000000000000000000081525081565b60405161010b919061034f565b60405180910390f35b34801561012057600080fd5b5061013a61012f3660046102ca565b505060005492915050565b60405190815260200161010b565b34801561015457600080fd5b5061013a60005481565b34801561016a57600080fd5b506040516000815260200161010b565b34801561018657600080fd5b5061019d6101953660046103bc565b600192915050565b604051901515815260200161010b565b3480156101b957600080fd5b5061019d6101c8366004610336565b60016020526000908152604090205460ff1681565b6101e9848484846101ef565b50505050565b600180600061023385858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061027692505050565b8152602081019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905550505050565b805160209091012090565b60008083601f84011261029357600080fd5b50813567ffffffffffffffff8111156102ab57600080fd5b6020830191508360208285010111156102c357600080fd5b9250929050565b600080600080604085870312156102e057600080fd5b843567ffffffffffffffff808211156102f857600080fd5b61030488838901610281565b9096509450602087013591508082111561031d57600080fd5b5061032a87828801610281565b95989497509550505050565b60006020828403121561034857600080fd5b5035919050565b60006020808352835180602085015260005b8181101561037d57858101830151858201604001528201610361565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b600080602083850312156103cf57600080fd5b823567ffffffffffffffff8111156103e657600080fd5b6103f285828601610281565b9096909550935050505056fea26469706673582212206650bd004980b48cd73e5378dcdc258e9898f7d9ccb9d24ea387e15750f4ea0164736f6c63430008160033";
16
16
  static readonly abi: readonly [{
17
17
  readonly inputs: readonly [{
18
18
  readonly internalType: "uint32";