@hyperlane-xyz/core 5.4.1 → 5.4.2-superchain.1

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 (301) hide show
  1. package/contracts/PackageVersioned.sol +1 -1
  2. package/contracts/hooks/SuperchainHook.sol +82 -0
  3. package/contracts/interfaces/IInterchainSecurityModule.sol +2 -1
  4. package/contracts/interfaces/hooks/IPostDispatchHook.sol +2 -1
  5. package/contracts/interfaces/optimism/ICrossL2Inbox.sol +60 -0
  6. package/contracts/interfaces/optimism/IL2toL2CrossDomainMessenger.sol +68 -0
  7. package/contracts/isms/hook/SuperchainIsm.sol +91 -0
  8. package/contracts/mock/MockOptimism.sol +73 -0
  9. package/dist/buildArtifact.js +1 -1
  10. package/dist/buildArtifact.json +1 -1
  11. package/dist/contracts/hooks/SuperchainHook.d.ts +411 -0
  12. package/dist/contracts/hooks/SuperchainHook.d.ts.map +1 -0
  13. package/dist/contracts/hooks/SuperchainHook.js +2 -0
  14. package/dist/contracts/hooks/SuperchainHook.js.map +1 -0
  15. package/dist/contracts/hooks/index.d.ts +1 -0
  16. package/dist/contracts/hooks/index.d.ts.map +1 -1
  17. package/dist/contracts/interfaces/optimism/ICrossL2Inbox.d.ts +233 -0
  18. package/dist/contracts/interfaces/optimism/ICrossL2Inbox.d.ts.map +1 -0
  19. package/dist/contracts/interfaces/optimism/ICrossL2Inbox.js +2 -0
  20. package/dist/contracts/interfaces/optimism/ICrossL2Inbox.js.map +1 -0
  21. package/dist/contracts/interfaces/optimism/IL2toL2CrossDomainMessenger.d.ts +209 -0
  22. package/dist/contracts/interfaces/optimism/IL2toL2CrossDomainMessenger.d.ts.map +1 -0
  23. package/dist/contracts/interfaces/optimism/IL2toL2CrossDomainMessenger.js +2 -0
  24. package/dist/contracts/interfaces/optimism/IL2toL2CrossDomainMessenger.js.map +1 -0
  25. package/dist/contracts/interfaces/optimism/index.d.ts +2 -0
  26. package/dist/contracts/interfaces/optimism/index.d.ts.map +1 -1
  27. package/dist/contracts/isms/hook/SuperchainIsm.sol/OPL2ToL1Ism.d.ts +273 -0
  28. package/dist/contracts/isms/hook/SuperchainIsm.sol/OPL2ToL1Ism.d.ts.map +1 -0
  29. package/dist/contracts/isms/hook/SuperchainIsm.sol/OPL2ToL1Ism.js +2 -0
  30. package/dist/contracts/isms/hook/SuperchainIsm.sol/OPL2ToL1Ism.js.map +1 -0
  31. package/dist/contracts/isms/hook/SuperchainIsm.sol/OPStackIsm.d.ts +288 -0
  32. package/dist/contracts/isms/hook/SuperchainIsm.sol/OPStackIsm.d.ts.map +1 -0
  33. package/dist/contracts/isms/hook/SuperchainIsm.sol/OPStackIsm.js +2 -0
  34. package/dist/contracts/isms/hook/SuperchainIsm.sol/OPStackIsm.js.map +1 -0
  35. package/dist/contracts/isms/hook/SuperchainIsm.sol/SuperchainISM.d.ts +273 -0
  36. package/dist/contracts/isms/hook/SuperchainIsm.sol/SuperchainISM.d.ts.map +1 -0
  37. package/dist/contracts/isms/hook/SuperchainIsm.sol/SuperchainISM.js +2 -0
  38. package/dist/contracts/isms/hook/SuperchainIsm.sol/SuperchainISM.js.map +1 -0
  39. package/dist/contracts/isms/hook/SuperchainIsm.sol/index.d.ts +2 -0
  40. package/dist/contracts/isms/hook/SuperchainIsm.sol/index.d.ts.map +1 -0
  41. package/dist/contracts/isms/hook/SuperchainIsm.sol/index.js +2 -0
  42. package/dist/contracts/isms/hook/SuperchainIsm.sol/index.js.map +1 -0
  43. package/dist/contracts/isms/hook/index.d.ts +2 -0
  44. package/dist/contracts/isms/hook/index.d.ts.map +1 -1
  45. package/dist/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/AbstractRpcMultisigIsm.d.ts +110 -0
  46. package/dist/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/AbstractRpcMultisigIsm.d.ts.map +1 -0
  47. package/dist/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/AbstractRpcMultisigIsm.js +2 -0
  48. package/dist/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/AbstractRpcMultisigIsm.js.map +1 -0
  49. package/dist/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/RpcMultisigIsm.d.ts +125 -0
  50. package/dist/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/RpcMultisigIsm.d.ts.map +1 -0
  51. package/dist/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/RpcMultisigIsm.js +2 -0
  52. package/dist/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/RpcMultisigIsm.js.map +1 -0
  53. package/dist/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/index.d.ts +3 -0
  54. package/dist/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/index.d.ts.map +1 -0
  55. package/dist/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/index.js +2 -0
  56. package/dist/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/index.js.map +1 -0
  57. package/dist/contracts/mock/MockOptimism.sol/MockL2toL2CrossDomainMessenger.d.ts +224 -0
  58. package/dist/contracts/mock/MockOptimism.sol/MockL2toL2CrossDomainMessenger.d.ts.map +1 -0
  59. package/dist/contracts/mock/MockOptimism.sol/MockL2toL2CrossDomainMessenger.js +2 -0
  60. package/dist/contracts/mock/MockOptimism.sol/MockL2toL2CrossDomainMessenger.js.map +1 -0
  61. package/dist/contracts/mock/MockOptimism.sol/index.d.ts +1 -0
  62. package/dist/contracts/mock/MockOptimism.sol/index.d.ts.map +1 -1
  63. package/dist/factories/contracts/AttributeCheckpointFraud__factory.d.ts +1 -1
  64. package/dist/factories/contracts/AttributeCheckpointFraud__factory.js +1 -1
  65. package/dist/factories/contracts/CheckpointFraudProofs__factory.d.ts +1 -1
  66. package/dist/factories/contracts/CheckpointFraudProofs__factory.js +1 -1
  67. package/dist/factories/contracts/Mailbox__factory.d.ts +1 -1
  68. package/dist/factories/contracts/Mailbox__factory.js +1 -1
  69. package/dist/factories/contracts/avs/ECDSAStakeRegistry__factory.d.ts +1 -1
  70. package/dist/factories/contracts/avs/ECDSAStakeRegistry__factory.js +1 -1
  71. package/dist/factories/contracts/avs/HyperlaneServiceManager__factory.d.ts +1 -1
  72. package/dist/factories/contracts/avs/HyperlaneServiceManager__factory.js +1 -1
  73. package/dist/factories/contracts/hooks/ArbL2ToL1Hook__factory.d.ts +1 -1
  74. package/dist/factories/contracts/hooks/ArbL2ToL1Hook__factory.js +1 -1
  75. package/dist/factories/contracts/hooks/MerkleTreeHook__factory.d.ts +1 -1
  76. package/dist/factories/contracts/hooks/MerkleTreeHook__factory.js +1 -1
  77. package/dist/factories/contracts/hooks/OPL2ToL1Hook__factory.d.ts +1 -1
  78. package/dist/factories/contracts/hooks/OPL2ToL1Hook__factory.js +1 -1
  79. package/dist/factories/contracts/hooks/OPStackHook__factory.d.ts +1 -1
  80. package/dist/factories/contracts/hooks/OPStackHook__factory.js +1 -1
  81. package/dist/factories/contracts/hooks/PausableHook__factory.d.ts +1 -1
  82. package/dist/factories/contracts/hooks/PausableHook__factory.js +1 -1
  83. package/dist/factories/contracts/hooks/PolygonPosHook__factory.d.ts +1 -1
  84. package/dist/factories/contracts/hooks/PolygonPosHook__factory.js +1 -1
  85. package/dist/factories/contracts/hooks/ProtocolFee__factory.d.ts +1 -1
  86. package/dist/factories/contracts/hooks/ProtocolFee__factory.js +1 -1
  87. package/dist/factories/contracts/hooks/SuperchainHook__factory.d.ts +262 -0
  88. package/dist/factories/contracts/hooks/SuperchainHook__factory.d.ts.map +1 -0
  89. package/dist/factories/contracts/hooks/SuperchainHook__factory.js +352 -0
  90. package/dist/factories/contracts/hooks/SuperchainHook__factory.js.map +1 -0
  91. package/dist/factories/contracts/hooks/aggregation/ERC5164Hook__factory.d.ts +1 -1
  92. package/dist/factories/contracts/hooks/aggregation/ERC5164Hook__factory.js +1 -1
  93. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHookFactory__factory.d.ts +1 -1
  94. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHookFactory__factory.js +1 -1
  95. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHook__factory.d.ts +1 -1
  96. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHook__factory.js +1 -1
  97. package/dist/factories/contracts/hooks/igp/InterchainGasPaymaster__factory.d.ts +1 -1
  98. package/dist/factories/contracts/hooks/igp/InterchainGasPaymaster__factory.js +1 -1
  99. package/dist/factories/contracts/hooks/igp/StorageGasOracle__factory.d.ts +1 -1
  100. package/dist/factories/contracts/hooks/igp/StorageGasOracle__factory.js +1 -1
  101. package/dist/factories/contracts/hooks/index.d.ts +1 -0
  102. package/dist/factories/contracts/hooks/index.d.ts.map +1 -1
  103. package/dist/factories/contracts/hooks/index.js +1 -0
  104. package/dist/factories/contracts/hooks/index.js.map +1 -1
  105. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV1Hook__factory.d.ts +1 -1
  106. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV1Hook__factory.js +1 -1
  107. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV2Hook__factory.d.ts +1 -1
  108. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV2Hook__factory.js +1 -1
  109. package/dist/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.d.ts +1 -1
  110. package/dist/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.js +1 -1
  111. package/dist/factories/contracts/hooks/routing/DomainRoutingHook__factory.d.ts +1 -1
  112. package/dist/factories/contracts/hooks/routing/DomainRoutingHook__factory.js +1 -1
  113. package/dist/factories/contracts/hooks/routing/FallbackDomainRoutingHook__factory.d.ts +1 -1
  114. package/dist/factories/contracts/hooks/routing/FallbackDomainRoutingHook__factory.js +1 -1
  115. package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.d.ts +1 -1
  116. package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.js +1 -1
  117. package/dist/factories/contracts/interfaces/optimism/ICrossL2Inbox__factory.d.ts +143 -0
  118. package/dist/factories/contracts/interfaces/optimism/ICrossL2Inbox__factory.d.ts.map +1 -0
  119. package/dist/factories/contracts/interfaces/optimism/ICrossL2Inbox__factory.js +189 -0
  120. package/dist/factories/contracts/interfaces/optimism/ICrossL2Inbox__factory.js.map +1 -0
  121. package/dist/factories/contracts/interfaces/optimism/IL2toL2CrossDomainMessenger__factory.d.ts +140 -0
  122. package/dist/factories/contracts/interfaces/optimism/IL2toL2CrossDomainMessenger__factory.d.ts.map +1 -0
  123. package/dist/factories/contracts/interfaces/optimism/IL2toL2CrossDomainMessenger__factory.js +185 -0
  124. package/dist/factories/contracts/interfaces/optimism/IL2toL2CrossDomainMessenger__factory.js.map +1 -0
  125. package/dist/factories/contracts/interfaces/optimism/index.d.ts +2 -0
  126. package/dist/factories/contracts/interfaces/optimism/index.d.ts.map +1 -1
  127. package/dist/factories/contracts/interfaces/optimism/index.js +2 -0
  128. package/dist/factories/contracts/interfaces/optimism/index.js.map +1 -1
  129. package/dist/factories/contracts/isms/NoopIsm__factory.d.ts +1 -1
  130. package/dist/factories/contracts/isms/NoopIsm__factory.js +1 -1
  131. package/dist/factories/contracts/isms/PausableIsm__factory.d.ts +1 -1
  132. package/dist/factories/contracts/isms/PausableIsm__factory.js +1 -1
  133. package/dist/factories/contracts/isms/TrustedRelayerIsm__factory.d.ts +1 -1
  134. package/dist/factories/contracts/isms/TrustedRelayerIsm__factory.js +1 -1
  135. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.d.ts +1 -1
  136. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.js +1 -1
  137. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.d.ts +1 -1
  138. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.js +1 -1
  139. package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.d.ts +1 -1
  140. package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.js +1 -1
  141. package/dist/factories/contracts/isms/hook/ERC5164Ism__factory.d.ts +1 -1
  142. package/dist/factories/contracts/isms/hook/ERC5164Ism__factory.js +1 -1
  143. package/dist/factories/contracts/isms/hook/OPL2ToL1Ism__factory.d.ts +1 -1
  144. package/dist/factories/contracts/isms/hook/OPL2ToL1Ism__factory.js +1 -1
  145. package/dist/factories/contracts/isms/hook/OPStackIsm__factory.d.ts +1 -1
  146. package/dist/factories/contracts/isms/hook/OPStackIsm__factory.js +1 -1
  147. package/dist/factories/contracts/isms/hook/PolygonPosIsm__factory.d.ts +1 -1
  148. package/dist/factories/contracts/isms/hook/PolygonPosIsm__factory.js +1 -1
  149. package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/OPL2ToL1Ism__factory.d.ts +165 -0
  150. package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/OPL2ToL1Ism__factory.d.ts.map +1 -0
  151. package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/OPL2ToL1Ism__factory.js +229 -0
  152. package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/OPL2ToL1Ism__factory.js.map +1 -0
  153. package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/OPStackIsm__factory.d.ts +175 -0
  154. package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/OPStackIsm__factory.d.ts.map +1 -0
  155. package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/OPStackIsm__factory.js +242 -0
  156. package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/OPStackIsm__factory.js.map +1 -0
  157. package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/SuperchainISM__factory.d.ts +165 -0
  158. package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/SuperchainISM__factory.d.ts.map +1 -0
  159. package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/SuperchainISM__factory.js +229 -0
  160. package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/SuperchainISM__factory.js.map +1 -0
  161. package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/index.d.ts +2 -0
  162. package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/index.d.ts.map +1 -0
  163. package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/index.js +5 -0
  164. package/dist/factories/contracts/isms/hook/SuperchainIsm.sol/index.js.map +1 -0
  165. package/dist/factories/contracts/isms/hook/index.d.ts +1 -0
  166. package/dist/factories/contracts/isms/hook/index.d.ts.map +1 -1
  167. package/dist/factories/contracts/isms/hook/index.js +1 -0
  168. package/dist/factories/contracts/isms/hook/index.js.map +1 -1
  169. package/dist/factories/contracts/isms/hook/layer-zero/LayerZeroV2Ism__factory.d.ts +1 -1
  170. package/dist/factories/contracts/isms/hook/layer-zero/LayerZeroV2Ism__factory.js +1 -1
  171. package/dist/factories/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/AbstractRpcMultisigIsm__factory.d.ts +79 -0
  172. package/dist/factories/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/AbstractRpcMultisigIsm__factory.d.ts.map +1 -0
  173. package/dist/factories/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/AbstractRpcMultisigIsm__factory.js +109 -0
  174. package/dist/factories/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/AbstractRpcMultisigIsm__factory.js.map +1 -0
  175. package/dist/factories/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/RpcMultisigIsm__factory.d.ts +121 -0
  176. package/dist/factories/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/RpcMultisigIsm__factory.d.ts.map +1 -0
  177. package/dist/factories/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/RpcMultisigIsm__factory.js +171 -0
  178. package/dist/factories/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/RpcMultisigIsm__factory.js.map +1 -0
  179. package/dist/factories/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/index.d.ts +3 -0
  180. package/dist/factories/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/index.d.ts.map +1 -0
  181. package/dist/factories/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/index.js +6 -0
  182. package/dist/factories/contracts/isms/multisig/RpcValidatorMultisigIsm.sol/index.js.map +1 -0
  183. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.d.ts +1 -1
  184. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.js +1 -1
  185. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.d.ts +1 -1
  186. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.js +1 -1
  187. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.d.ts +1 -1
  188. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.js +1 -1
  189. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.d.ts +1 -1
  190. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.js +1 -1
  191. package/dist/factories/contracts/isms/multisig/ValidatorAnnounce__factory.d.ts +1 -1
  192. package/dist/factories/contracts/isms/multisig/ValidatorAnnounce__factory.js +1 -1
  193. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory__factory.d.ts +1 -1
  194. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory__factory.js +1 -1
  195. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm__factory.d.ts +1 -1
  196. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm__factory.js +1 -1
  197. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory__factory.d.ts +1 -1
  198. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory__factory.js +1 -1
  199. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm__factory.d.ts +1 -1
  200. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm__factory.js +1 -1
  201. package/dist/factories/contracts/isms/routing/DefaultFallbackRoutingIsm__factory.d.ts +1 -1
  202. package/dist/factories/contracts/isms/routing/DefaultFallbackRoutingIsm__factory.js +1 -1
  203. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.d.ts +1 -1
  204. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.js +1 -1
  205. package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.d.ts +1 -1
  206. package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.js +1 -1
  207. package/dist/factories/contracts/isms/routing/InterchainAccountIsm__factory.d.ts +1 -1
  208. package/dist/factories/contracts/isms/routing/InterchainAccountIsm__factory.js +1 -1
  209. package/dist/factories/contracts/isms/warp-route/RateLimitedIsm__factory.d.ts +1 -1
  210. package/dist/factories/contracts/isms/warp-route/RateLimitedIsm__factory.js +1 -1
  211. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts +1 -1
  212. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js +1 -1
  213. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.d.ts +1 -1
  214. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.js +1 -1
  215. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.d.ts +1 -1
  216. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.js +1 -1
  217. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.d.ts +1 -1
  218. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.js +1 -1
  219. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.d.ts +1 -1
  220. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.js +1 -1
  221. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts +1 -1
  222. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js +1 -1
  223. package/dist/factories/contracts/mock/MockMailbox__factory.d.ts +1 -1
  224. package/dist/factories/contracts/mock/MockMailbox__factory.js +1 -1
  225. package/dist/factories/contracts/mock/MockOptimism.sol/MockL2toL2CrossDomainMessenger__factory.d.ts +174 -0
  226. package/dist/factories/contracts/mock/MockOptimism.sol/MockL2toL2CrossDomainMessenger__factory.d.ts.map +1 -0
  227. package/dist/factories/contracts/mock/MockOptimism.sol/MockL2toL2CrossDomainMessenger__factory.js +237 -0
  228. package/dist/factories/contracts/mock/MockOptimism.sol/MockL2toL2CrossDomainMessenger__factory.js.map +1 -0
  229. package/dist/factories/contracts/mock/MockOptimism.sol/MockOptimismMessenger__factory.d.ts +1 -1
  230. package/dist/factories/contracts/mock/MockOptimism.sol/MockOptimismMessenger__factory.js +1 -1
  231. package/dist/factories/contracts/mock/MockOptimism.sol/MockOptimismPortal__factory.d.ts +1 -1
  232. package/dist/factories/contracts/mock/MockOptimism.sol/MockOptimismPortal__factory.js +1 -1
  233. package/dist/factories/contracts/mock/MockOptimism.sol/index.d.ts +1 -0
  234. package/dist/factories/contracts/mock/MockOptimism.sol/index.d.ts.map +1 -1
  235. package/dist/factories/contracts/mock/MockOptimism.sol/index.js +1 -0
  236. package/dist/factories/contracts/mock/MockOptimism.sol/index.js.map +1 -1
  237. package/dist/factories/contracts/test/LightTestRecipient__factory.d.ts +1 -1
  238. package/dist/factories/contracts/test/LightTestRecipient__factory.js +1 -1
  239. package/dist/factories/contracts/test/TestGasRouter__factory.d.ts +1 -1
  240. package/dist/factories/contracts/test/TestGasRouter__factory.js +1 -1
  241. package/dist/factories/contracts/test/TestInterchainGasPaymaster__factory.d.ts +1 -1
  242. package/dist/factories/contracts/test/TestInterchainGasPaymaster__factory.js +1 -1
  243. package/dist/factories/contracts/test/TestIsm__factory.d.ts +1 -1
  244. package/dist/factories/contracts/test/TestIsm__factory.js +1 -1
  245. package/dist/factories/contracts/test/TestMailbox__factory.d.ts +1 -1
  246. package/dist/factories/contracts/test/TestMailbox__factory.js +1 -1
  247. package/dist/factories/contracts/test/TestMerkleTreeHook__factory.d.ts +1 -1
  248. package/dist/factories/contracts/test/TestMerkleTreeHook__factory.js +1 -1
  249. package/dist/factories/contracts/test/TestPostDispatchHook__factory.d.ts +1 -1
  250. package/dist/factories/contracts/test/TestPostDispatchHook__factory.js +1 -1
  251. package/dist/factories/contracts/test/TestQuerySender__factory.d.ts +1 -1
  252. package/dist/factories/contracts/test/TestQuerySender__factory.js +1 -1
  253. package/dist/factories/contracts/test/TestQuery__factory.d.ts +1 -1
  254. package/dist/factories/contracts/test/TestQuery__factory.js +1 -1
  255. package/dist/factories/contracts/test/TestRecipient__factory.d.ts +1 -1
  256. package/dist/factories/contracts/test/TestRecipient__factory.js +1 -1
  257. package/dist/factories/contracts/test/TestRemoteChallenger__factory.d.ts +1 -1
  258. package/dist/factories/contracts/test/TestRemoteChallenger__factory.js +1 -1
  259. package/dist/factories/contracts/test/TestRouter__factory.d.ts +1 -1
  260. package/dist/factories/contracts/test/TestRouter__factory.js +1 -1
  261. package/dist/factories/contracts/test/TestSendReceiver__factory.d.ts +1 -1
  262. package/dist/factories/contracts/test/TestSendReceiver__factory.js +1 -1
  263. package/dist/factories/contracts/test/avs/TestHyperlaneServiceManager__factory.d.ts +1 -1
  264. package/dist/factories/contracts/test/avs/TestHyperlaneServiceManager__factory.js +1 -1
  265. package/dist/factories/contracts/token/HypERC20Collateral__factory.d.ts +1 -1
  266. package/dist/factories/contracts/token/HypERC20Collateral__factory.js +1 -1
  267. package/dist/factories/contracts/token/HypERC20__factory.d.ts +1 -1
  268. package/dist/factories/contracts/token/HypERC20__factory.js +1 -1
  269. package/dist/factories/contracts/token/HypERC721Collateral__factory.d.ts +1 -1
  270. package/dist/factories/contracts/token/HypERC721Collateral__factory.js +1 -1
  271. package/dist/factories/contracts/token/HypERC721__factory.d.ts +1 -1
  272. package/dist/factories/contracts/token/HypERC721__factory.js +1 -1
  273. package/dist/factories/contracts/token/HypNative__factory.d.ts +1 -1
  274. package/dist/factories/contracts/token/HypNative__factory.js +1 -1
  275. package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.d.ts +1 -1
  276. package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.js +1 -1
  277. package/dist/factories/contracts/token/extensions/FastHypERC20__factory.d.ts +1 -1
  278. package/dist/factories/contracts/token/extensions/FastHypERC20__factory.js +1 -1
  279. package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.d.ts +1 -1
  280. package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.js +1 -1
  281. package/dist/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.d.ts +1 -1
  282. package/dist/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.js +1 -1
  283. package/dist/factories/contracts/token/extensions/HypERC4626__factory.d.ts +1 -1
  284. package/dist/factories/contracts/token/extensions/HypERC4626__factory.js +1 -1
  285. package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.d.ts +1 -1
  286. package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.js +1 -1
  287. package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.d.ts +1 -1
  288. package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.js +1 -1
  289. package/dist/factories/contracts/token/extensions/HypFiatToken__factory.d.ts +1 -1
  290. package/dist/factories/contracts/token/extensions/HypFiatToken__factory.js +1 -1
  291. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.d.ts +1 -1
  292. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.js +1 -1
  293. package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.d.ts +1 -1
  294. package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.js +1 -1
  295. package/dist/factories/contracts/token/extensions/HypXERC20__factory.d.ts +1 -1
  296. package/dist/factories/contracts/token/extensions/HypXERC20__factory.js +1 -1
  297. package/dist/index.d.ts +10 -0
  298. package/dist/index.d.ts.map +1 -1
  299. package/dist/index.js +5 -0
  300. package/dist/index.js.map +1 -1
  301. package/package.json +2 -2
@@ -54,7 +54,7 @@ const _abi = [
54
54
  type: "function",
55
55
  },
56
56
  ];
57
- const _bytecode = "0x608060405234801561001057600080fd5b506105c2806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80638c3152e914610030575b600080fd5b61004361003e3660046103b3565b610045565b005b60006040518060600160405280610073846040015173ffffffffffffffffffffffffffffffffffffffff1690565b8152602001836060015181526020018360a0015181525090506100958161009a565b505050565b80516060906100b290836040015184602001516100b8565b92915050565b60606100de848484604051806060016040528060298152602001610564602991396100e6565b949350505050565b60608247101561017d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516101a691906104f6565b60006040518083038185875af1925050503d80600081146101e3576040519150601f19603f3d011682016040523d82523d6000602084013e6101e8565b606091505b50915091506101f987838387610204565b979650505050505050565b6060831561029a5782516000036102935773ffffffffffffffffffffffffffffffffffffffff85163b610293576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610174565b50816100de565b6100de83838151156102af5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101749190610512565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715610335576103356102e3565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610382576103826102e3565b604052919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146103ae57600080fd5b919050565b600060208083850312156103c657600080fd5b823567ffffffffffffffff808211156103de57600080fd5b9084019060c082870312156103f257600080fd5b6103fa610312565b8235815261040984840161038a565b848201526104196040840161038a565b6040820152606083013560608201526080830135608082015260a08301358281111561044457600080fd5b80840193505086601f84011261045957600080fd5b82358281111561046b5761046b6102e3565b61049b857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160161033b565b925080835287858286010111156104b157600080fd5b808585018685013760009083019094019390935260a0830152509392505050565b60005b838110156104ed5781810151838201526020016104d5565b50506000910152565b600082516105088184602087016104d2565b9190910192915050565b60208152600082518060208401526105318160408501602087016104d2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564a2646970667358221220ef663d2fdc5f94fbdbb950f2059f385868c7102079b725a93fe383bcca65fb9864736f6c63430008130033";
57
+ const _bytecode = "0x608060405234801561001057600080fd5b506105c2806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80638c3152e914610030575b600080fd5b61004361003e3660046103b3565b610045565b005b60006040518060600160405280610073846040015173ffffffffffffffffffffffffffffffffffffffff1690565b8152602001836060015181526020018360a0015181525090506100958161009a565b505050565b80516060906100b290836040015184602001516100b8565b92915050565b60606100de848484604051806060016040528060298152602001610564602991396100e6565b949350505050565b60608247101561017d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516101a691906104f6565b60006040518083038185875af1925050503d80600081146101e3576040519150601f19603f3d011682016040523d82523d6000602084013e6101e8565b606091505b50915091506101f987838387610204565b979650505050505050565b6060831561029a5782516000036102935773ffffffffffffffffffffffffffffffffffffffff85163b610293576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610174565b50816100de565b6100de83838151156102af5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101749190610512565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715610335576103356102e3565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610382576103826102e3565b604052919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146103ae57600080fd5b919050565b600060208083850312156103c657600080fd5b823567ffffffffffffffff808211156103de57600080fd5b9084019060c082870312156103f257600080fd5b6103fa610312565b8235815261040984840161038a565b848201526104196040840161038a565b6040820152606083013560608201526080830135608082015260a08301358281111561044457600080fd5b80840193505086601f84011261045957600080fd5b82358281111561046b5761046b6102e3565b61049b857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160161033b565b925080835287858286010111156104b157600080fd5b808585018685013760009083019094019390935260a0830152509392505050565b60005b838110156104ed5781810151838201526020016104d5565b50506000910152565b600082516105088184602087016104d2565b9190910192915050565b60208152600082518060208401526105318160408501602087016104d2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564a26469706673582212205730d81d4bdf08c2997a25ebea5538d7460e87dd913d613e0bebc4759c0b095f64736f6c63430008130033";
58
58
  const isSuperArgs = (xs) => xs.length > 1;
59
59
  export class MockOptimismPortal__factory extends ContractFactory {
60
60
  constructor(...args) {
@@ -1,3 +1,4 @@
1
+ export { MockL2toL2CrossDomainMessenger__factory } from "./MockL2toL2CrossDomainMessenger__factory.js";
1
2
  export { MockOptimismMessenger__factory } from "./MockOptimismMessenger__factory.js";
2
3
  export { MockOptimismPortal__factory } from "./MockOptimismPortal__factory.js";
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../types/factories/contracts/mock/MockOptimism.sol/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../types/factories/contracts/mock/MockOptimism.sol/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uCAAuC,EAAE,MAAM,8CAA8C,CAAC;AACvG,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  /* Autogenerated file. Do not edit manually. */
2
2
  /* tslint:disable */
3
3
  /* eslint-disable */
4
+ export { MockL2toL2CrossDomainMessenger__factory } from "./MockL2toL2CrossDomainMessenger__factory.js";
4
5
  export { MockOptimismMessenger__factory } from "./MockOptimismMessenger__factory.js";
5
6
  export { MockOptimismPortal__factory } from "./MockOptimismPortal__factory.js";
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../types/factories/contracts/mock/MockOptimism.sol/index.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;AACpB,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../types/factories/contracts/mock/MockOptimism.sol/index.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;AACpB,OAAO,EAAE,uCAAuC,EAAE,MAAM,8CAA8C,CAAC;AACvG,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC"}
@@ -12,7 +12,7 @@ export declare class LightTestRecipient__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): LightTestRecipient;
14
14
  connect(signer: Signer): LightTestRecipient__factory;
15
- static readonly bytecode = "0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6109c18061007e6000396000f3fe6080604052600436106100bf5760003560e01c8063715018a611610074578063de523cf31161004e578063de523cf3146101f7578063f07c1f4714610224578063f2fde38b1461024457600080fd5b8063715018a6146101a25780638da5cb5b146101b7578063a4982fde146101e257600080fd5b80632113522a116100a55780632113522a14610118578063256fec881461016a57806356d5d4751461018e57600080fd5b80626e75ec146100cb5780630e72cc06146100f657600080fd5b366100c657005b600080fd5b3480156100d757600080fd5b506100e0610264565b6040516100ed9190610601565b60405180910390f35b34801561010257600080fd5b5061011661011136600461061b565b6102f2565b005b34801561012457600080fd5b506004546101459073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ed565b34801561017657600080fd5b5061018060025481565b6040519081526020016100ed565b61011661019c36600461069a565b50505050565b3480156101ae57600080fd5b50610116610341565b3480156101c357600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff16610145565b3480156101ee57600080fd5b506100e0610355565b34801561020357600080fd5b506001546101459073ffffffffffffffffffffffffffffffffffffffff1681565b34801561023057600080fd5b5061011661023f3660046106ff565b610362565b34801561025057600080fd5b5061011661025f36600461061b565b6103eb565b600380546102719061074b565b80601f016020809104026020016040519081016040528092919081815260200182805461029d9061074b565b80156102ea5780601f106102bf576101008083540402835291602001916102ea565b820191906000526020600020905b8154815290600101906020018083116102cd57829003601f168201915b505050505081565b6102fa6104a7565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6103496104a7565b6103536000610528565b565b600580546102719061074b565b3373ffffffffffffffffffffffffffffffffffffffff167f97d8367a1f39eb9e97f262fafbb05925c0bcfe120aaad7b9737cae34f749c2068484846040516103ac9392919061079e565b60405180910390a2600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001633179055600561019c828483610870565b6103f36104a7565b73ffffffffffffffffffffffffffffffffffffffff811661049b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6104a481610528565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610353576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610492565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000815180845260005b818110156105c3576020818501810151868301820152016105a7565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000610614602083018461059d565b9392505050565b60006020828403121561062d57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461061457600080fd5b60008083601f84011261066357600080fd5b50813567ffffffffffffffff81111561067b57600080fd5b60208301915083602082850101111561069357600080fd5b9250929050565b600080600080606085870312156106b057600080fd5b843563ffffffff811681146106c457600080fd5b935060208501359250604085013567ffffffffffffffff8111156106e757600080fd5b6106f387828801610651565b95989497509550505050565b60008060006040848603121561071457600080fd5b83359250602084013567ffffffffffffffff81111561073257600080fd5b61073e86828701610651565b9497909650939450505050565b600181811c9082168061075f57607f821691505b602082108103610798577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b83815260406020820152816040820152818360608301376000818301606090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016010192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f82111561086b57600081815260208120601f850160051c810160208610156108485750805b601f850160051c820191505b8181101561086757828155600101610854565b5050505b505050565b67ffffffffffffffff831115610888576108886107f2565b61089c83610896835461074b565b83610821565b6000601f8411600181146108ee57600085156108b85750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355610984565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561093d578685013582556020948501946001909201910161091d565b5086821015610978577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b505050505056fea26469706673582212205fd4841c7322678c78163c42141374ff687888548b4b2c13dfdc3d596ed4388964736f6c63430008130033";
15
+ static readonly bytecode = "0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6109c18061007e6000396000f3fe6080604052600436106100bf5760003560e01c8063715018a611610074578063de523cf31161004e578063de523cf3146101f7578063f07c1f4714610224578063f2fde38b1461024457600080fd5b8063715018a6146101a25780638da5cb5b146101b7578063a4982fde146101e257600080fd5b80632113522a116100a55780632113522a14610118578063256fec881461016a57806356d5d4751461018e57600080fd5b80626e75ec146100cb5780630e72cc06146100f657600080fd5b366100c657005b600080fd5b3480156100d757600080fd5b506100e0610264565b6040516100ed9190610601565b60405180910390f35b34801561010257600080fd5b5061011661011136600461061b565b6102f2565b005b34801561012457600080fd5b506004546101459073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ed565b34801561017657600080fd5b5061018060025481565b6040519081526020016100ed565b61011661019c36600461069a565b50505050565b3480156101ae57600080fd5b50610116610341565b3480156101c357600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff16610145565b3480156101ee57600080fd5b506100e0610355565b34801561020357600080fd5b506001546101459073ffffffffffffffffffffffffffffffffffffffff1681565b34801561023057600080fd5b5061011661023f3660046106ff565b610362565b34801561025057600080fd5b5061011661025f36600461061b565b6103eb565b600380546102719061074b565b80601f016020809104026020016040519081016040528092919081815260200182805461029d9061074b565b80156102ea5780601f106102bf576101008083540402835291602001916102ea565b820191906000526020600020905b8154815290600101906020018083116102cd57829003601f168201915b505050505081565b6102fa6104a7565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6103496104a7565b6103536000610528565b565b600580546102719061074b565b3373ffffffffffffffffffffffffffffffffffffffff167f97d8367a1f39eb9e97f262fafbb05925c0bcfe120aaad7b9737cae34f749c2068484846040516103ac9392919061079e565b60405180910390a2600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001633179055600561019c828483610870565b6103f36104a7565b73ffffffffffffffffffffffffffffffffffffffff811661049b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6104a481610528565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610353576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610492565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000815180845260005b818110156105c3576020818501810151868301820152016105a7565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000610614602083018461059d565b9392505050565b60006020828403121561062d57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461061457600080fd5b60008083601f84011261066357600080fd5b50813567ffffffffffffffff81111561067b57600080fd5b60208301915083602082850101111561069357600080fd5b9250929050565b600080600080606085870312156106b057600080fd5b843563ffffffff811681146106c457600080fd5b935060208501359250604085013567ffffffffffffffff8111156106e757600080fd5b6106f387828801610651565b95989497509550505050565b60008060006040848603121561071457600080fd5b83359250602084013567ffffffffffffffff81111561073257600080fd5b61073e86828701610651565b9497909650939450505050565b600181811c9082168061075f57607f821691505b602082108103610798577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b83815260406020820152816040820152818360608301376000818301606090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016010192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f82111561086b57600081815260208120601f850160051c810160208610156108485750805b601f850160051c820191505b8181101561086757828155600101610854565b5050505b505050565b67ffffffffffffffff831115610888576108886107f2565b61089c83610896835461074b565b83610821565b6000601f8411600181146108ee57600085156108b85750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355610984565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561093d578685013582556020948501946001909201910161091d565b5086821015610978577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b505050505056fea2646970667358221220ce4304f0680ce21f82f677e0024ed079a9b3c08a7dbab413edb80fa88be68d7364736f6c63430008130033";
16
16
  static readonly abi: readonly [{
17
17
  readonly anonymous: false;
18
18
  readonly inputs: readonly [{
@@ -235,7 +235,7 @@ const _abi = [
235
235
  type: "receive",
236
236
  },
237
237
  ];
238
- const _bytecode = "0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6109c18061007e6000396000f3fe6080604052600436106100bf5760003560e01c8063715018a611610074578063de523cf31161004e578063de523cf3146101f7578063f07c1f4714610224578063f2fde38b1461024457600080fd5b8063715018a6146101a25780638da5cb5b146101b7578063a4982fde146101e257600080fd5b80632113522a116100a55780632113522a14610118578063256fec881461016a57806356d5d4751461018e57600080fd5b80626e75ec146100cb5780630e72cc06146100f657600080fd5b366100c657005b600080fd5b3480156100d757600080fd5b506100e0610264565b6040516100ed9190610601565b60405180910390f35b34801561010257600080fd5b5061011661011136600461061b565b6102f2565b005b34801561012457600080fd5b506004546101459073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ed565b34801561017657600080fd5b5061018060025481565b6040519081526020016100ed565b61011661019c36600461069a565b50505050565b3480156101ae57600080fd5b50610116610341565b3480156101c357600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff16610145565b3480156101ee57600080fd5b506100e0610355565b34801561020357600080fd5b506001546101459073ffffffffffffffffffffffffffffffffffffffff1681565b34801561023057600080fd5b5061011661023f3660046106ff565b610362565b34801561025057600080fd5b5061011661025f36600461061b565b6103eb565b600380546102719061074b565b80601f016020809104026020016040519081016040528092919081815260200182805461029d9061074b565b80156102ea5780601f106102bf576101008083540402835291602001916102ea565b820191906000526020600020905b8154815290600101906020018083116102cd57829003601f168201915b505050505081565b6102fa6104a7565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6103496104a7565b6103536000610528565b565b600580546102719061074b565b3373ffffffffffffffffffffffffffffffffffffffff167f97d8367a1f39eb9e97f262fafbb05925c0bcfe120aaad7b9737cae34f749c2068484846040516103ac9392919061079e565b60405180910390a2600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001633179055600561019c828483610870565b6103f36104a7565b73ffffffffffffffffffffffffffffffffffffffff811661049b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6104a481610528565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610353576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610492565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000815180845260005b818110156105c3576020818501810151868301820152016105a7565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000610614602083018461059d565b9392505050565b60006020828403121561062d57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461061457600080fd5b60008083601f84011261066357600080fd5b50813567ffffffffffffffff81111561067b57600080fd5b60208301915083602082850101111561069357600080fd5b9250929050565b600080600080606085870312156106b057600080fd5b843563ffffffff811681146106c457600080fd5b935060208501359250604085013567ffffffffffffffff8111156106e757600080fd5b6106f387828801610651565b95989497509550505050565b60008060006040848603121561071457600080fd5b83359250602084013567ffffffffffffffff81111561073257600080fd5b61073e86828701610651565b9497909650939450505050565b600181811c9082168061075f57607f821691505b602082108103610798577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b83815260406020820152816040820152818360608301376000818301606090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016010192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f82111561086b57600081815260208120601f850160051c810160208610156108485750805b601f850160051c820191505b8181101561086757828155600101610854565b5050505b505050565b67ffffffffffffffff831115610888576108886107f2565b61089c83610896835461074b565b83610821565b6000601f8411600181146108ee57600085156108b85750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355610984565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561093d578685013582556020948501946001909201910161091d565b5086821015610978577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b505050505056fea26469706673582212205fd4841c7322678c78163c42141374ff687888548b4b2c13dfdc3d596ed4388964736f6c63430008130033";
238
+ const _bytecode = "0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6109c18061007e6000396000f3fe6080604052600436106100bf5760003560e01c8063715018a611610074578063de523cf31161004e578063de523cf3146101f7578063f07c1f4714610224578063f2fde38b1461024457600080fd5b8063715018a6146101a25780638da5cb5b146101b7578063a4982fde146101e257600080fd5b80632113522a116100a55780632113522a14610118578063256fec881461016a57806356d5d4751461018e57600080fd5b80626e75ec146100cb5780630e72cc06146100f657600080fd5b366100c657005b600080fd5b3480156100d757600080fd5b506100e0610264565b6040516100ed9190610601565b60405180910390f35b34801561010257600080fd5b5061011661011136600461061b565b6102f2565b005b34801561012457600080fd5b506004546101459073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ed565b34801561017657600080fd5b5061018060025481565b6040519081526020016100ed565b61011661019c36600461069a565b50505050565b3480156101ae57600080fd5b50610116610341565b3480156101c357600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff16610145565b3480156101ee57600080fd5b506100e0610355565b34801561020357600080fd5b506001546101459073ffffffffffffffffffffffffffffffffffffffff1681565b34801561023057600080fd5b5061011661023f3660046106ff565b610362565b34801561025057600080fd5b5061011661025f36600461061b565b6103eb565b600380546102719061074b565b80601f016020809104026020016040519081016040528092919081815260200182805461029d9061074b565b80156102ea5780601f106102bf576101008083540402835291602001916102ea565b820191906000526020600020905b8154815290600101906020018083116102cd57829003601f168201915b505050505081565b6102fa6104a7565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6103496104a7565b6103536000610528565b565b600580546102719061074b565b3373ffffffffffffffffffffffffffffffffffffffff167f97d8367a1f39eb9e97f262fafbb05925c0bcfe120aaad7b9737cae34f749c2068484846040516103ac9392919061079e565b60405180910390a2600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001633179055600561019c828483610870565b6103f36104a7565b73ffffffffffffffffffffffffffffffffffffffff811661049b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6104a481610528565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610353576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610492565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000815180845260005b818110156105c3576020818501810151868301820152016105a7565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000610614602083018461059d565b9392505050565b60006020828403121561062d57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461061457600080fd5b60008083601f84011261066357600080fd5b50813567ffffffffffffffff81111561067b57600080fd5b60208301915083602082850101111561069357600080fd5b9250929050565b600080600080606085870312156106b057600080fd5b843563ffffffff811681146106c457600080fd5b935060208501359250604085013567ffffffffffffffff8111156106e757600080fd5b6106f387828801610651565b95989497509550505050565b60008060006040848603121561071457600080fd5b83359250602084013567ffffffffffffffff81111561073257600080fd5b61073e86828701610651565b9497909650939450505050565b600181811c9082168061075f57607f821691505b602082108103610798577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b83815260406020820152816040820152818360608301376000818301606090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016010192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f82111561086b57600081815260208120601f850160051c810160208610156108485750805b601f850160051c820191505b8181101561086757828155600101610854565b5050505b505050565b67ffffffffffffffff831115610888576108886107f2565b61089c83610896835461074b565b83610821565b6000601f8411600181146108ee57600085156108b85750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355610984565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561093d578685013582556020948501946001909201910161091d565b5086821015610978577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b505050505056fea2646970667358221220ce4304f0680ce21f82f677e0024ed079a9b3c08a7dbab413edb80fa88be68d7364736f6c63430008130033";
239
239
  const isSuperArgs = (xs) => xs.length > 1;
240
240
  export class LightTestRecipient__factory extends ContractFactory {
241
241
  constructor(...args) {
@@ -12,7 +12,7 @@ export declare class TestGasRouter__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): TestGasRouter;
14
14
  connect(signer: Signer): TestGasRouter__factory;
15
- static readonly bytecode = "0x60c06040523480156200001157600080fd5b5060405162001e6e38038062001e6e833981016040819052620000349162000176565b808080806001600160a01b0381163b620000945760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f780000604482015260640160405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001059190620001a8565b63ffffffff1660a052620001193362000124565b5050505050620001d0565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602082840312156200018957600080fd5b81516001600160a01b0381168114620001a157600080fd5b9392505050565b600060208284031215620001bb57600080fd5b815163ffffffff81168114620001a157600080fd5b60805160a051611c636200020b600039600061031d015260008181610427015281816107950152818161101f01526111240152611c636000f3fe6080604052600436106101755760003560e01c80638d3638f4116100cb578063d5438eae1161007f578063efae508a11610059578063efae508a14610496578063f2ed8c53146104b6578063f2fde38b146104d657600080fd5b8063d5438eae14610415578063de523cf314610449578063e9198bf91461047657600080fd5b806393c44847116100b057806393c448471461037f578063b1bd6436146103d5578063b49c53a7146103f557600080fd5b80638d3638f41461030b5780638da5cb5b1461035457600080fd5b806356d5d4751161012d5780637249609f116101075780637249609f14610279578063775313a11461028c5780637f5a7c7b146102b957600080fd5b806356d5d47514610231578063715018a61461024457806371a15b381461025957600080fd5b80633dfd38731161015e5780633dfd3873146101cf578063440df4f4146101ef57806349d462ef1461021157600080fd5b80630e72cc061461017a5780632ead72f61461019c575b600080fd5b34801561018657600080fd5b5061019a6101953660046115a2565b6104f6565b005b3480156101a857600080fd5b506101bc6101b73660046115f1565b610611565b6040519081526020015b60405180910390f35b3480156101db57600080fd5b5061019a6101ea3660046115a2565b610630565b3480156101fb57600080fd5b50610204610746565b6040516101c6919061160c565b34801561021d57600080fd5b5061019a61022c366004611656565b610757565b61019a61023f366004611680565b61077d565b34801561025057600080fd5b5061019a6108e5565b34801561026557600080fd5b5061019a61027436600461174c565b6108f9565b61019a6102873660046117bd565b610954565b34801561029857600080fd5b506101bc6102a73660046115f1565b60ca6020526000908152604090205481565b3480156102c557600080fd5b506065546102e69073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c6565b34801561031757600080fd5b5061033f7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016101c6565b34801561036057600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166102e6565b34801561038b57600080fd5b506103c86040518060400160405280600581526020017f352e342e3100000000000000000000000000000000000000000000000000000081525081565b6040516101c6919061190b565b3480156103e157600080fd5b5061019a6103f036600461191e565b610981565b34801561040157600080fd5b5061019a610410366004611656565b610a06565b34801561042157600080fd5b506102e67f000000000000000000000000000000000000000000000000000000000000000081565b34801561045557600080fd5b506066546102e69073ffffffffffffffffffffffffffffffffffffffff1681565b34801561048257600080fd5b5061019a610491366004611993565b610a18565b3480156104a257600080fd5b5061019a6104b13660046115f1565b610af7565b3480156104c257600080fd5b506101bc6104d13660046115f1565b610b0b565b3480156104e257600080fd5b5061019a6104f13660046115a2565b610b48565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610530575073ffffffffffffffffffffffffffffffffffffffff8116155b6105c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6105c9610bfc565b50606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600080610628609763ffffffff80861690610c7d16565b949350505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b15158061066a575073ffffffffffffffffffffffffffffffffffffffff8116155b6106f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084016105b8565b6106fe610bfc565b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60606107526097610c96565b905090565b61075f610bfc565b63ffffffff91909116600090815260ca6020526040902055565b5050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610842576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f78436c69656e743a2073656e646572206e6f74206d61696c626f60448201527f780000000000000000000000000000000000000000000000000000000000000060648201526084016105b8565b600061084d85610d51565b90508381146108de576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f456e726f6c6c656420726f7574657220646f6573206e6f74206d61746368207360448201527f656e64657200000000000000000000000000000000000000000000000000000060648201526084016105b8565b5050505050565b6108ed610bfc565b6108f76000610db6565b565b610901610bfc565b8060005b8181101561094e5761093c848483818110610922576109226119ff565b905060200201602081019061093791906115f1565b610e2d565b610947600182611a5d565b9050610905565b50505050565b60655461097c9083903490849073ffffffffffffffffffffffffffffffffffffffff16610e82565b505050565b610989610bfc565b60005b8181101561097c576109f48383838181106109a9576109a96119ff565b6109bf92602060409092020190810191506115f1565b8484848181106109d1576109d16119ff565b9050604002016020013563ffffffff909116600090815260ca6020526040902055565b6109ff600182611a5d565b905061098c565b610a0e610bfc565b6107798282610ea2565b610a20610bfc565b828114610a89576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e6774680000000000000000000000000000000000000000000000000060448201526064016105b8565b8260005b81811015610aef57610add868683818110610aaa57610aaa6119ff565b9050602002016020810190610abf91906115f1565b858584818110610ad157610ad16119ff565b90506020020135610ea2565b610ae8600182611a5d565b9050610a8d565b505050505050565b610aff610bfc565b610b0881610e2d565b50565b604080516020810190915260008082526065549091610b429184919073ffffffffffffffffffffffffffffffffffffffff16610eb8565b92915050565b610b50610bfc565b73ffffffffffffffffffffffffffffffffffffffff8116610bf3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016105b8565b610b0881610db6565b60335473ffffffffffffffffffffffffffffffffffffffff1633146108f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105b8565b600080610c8a8484610ece565b915091505b9250929050565b60606000610ca383610f08565b9050805167ffffffffffffffff811115610cbf57610cbf61178e565b604051908082528060200260200182016040528015610ce8578160200160208202803683370190505b50915060005b8151811015610d4a57818181518110610d0957610d096119ff565b6020026020010151838281518110610d2357610d236119ff565b63ffffffff9092166020928302919091019091015280610d4281611a70565b915050610cee565b5050919050565b60008080610d69609763ffffffff80871690610c7d16565b915091508115610d7a579392505050565b610d8384610fa3565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b8919061190b565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610e41609763ffffffff80841690610fda16565b610e4a82610fa3565b90610779576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b8919061190b565b6000610e99858585610e9389610fed565b8661100f565b95945050505050565b610779609763ffffffff8085169084906110cd16565b60006106288484610ec887610fed565b856110d8565b6000818152600283016020526040812054819080610efd57610ef085856111ac565b925060009150610c8f9050565b600192509050610c8f565b60606000610f15836111b8565b90508067ffffffffffffffff811115610f3057610f3061178e565b604051908082528060200260200182016040528015610f59578160200160208202803683370190505b50915060005b81811015610d4a57610f7184826111c3565b60001c838281518110610f8657610f866119ff565b602090810291909101015280610f9b81611a70565b915050610f5f565b6060610fb48263ffffffff166111cf565b604051602001610fc49190611aa8565b6040516020818303038152906040529050919050565b6000610fe6838361128d565b9392505050565b63ffffffff8116600090815260ca6020526040902054606090610b42906112aa565b60008061101b87610d51565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166310b83dc08789848989896040518763ffffffff1660e01b815260040161107f959493929190611aed565b60206040518083038185885af115801561109d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110c29190611b4d565b979650505050505050565b61094e8383836112c8565b6000806110e486610d51565b6040517f81d2ea9500000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906381d2ea959061116190899085908a908a908a90600401611aed565b602060405180830381865afa15801561117e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a29190611b4d565b9695505050505050565b6000610fe683836112e5565b6000610b42826112fd565b6000610fe68383611307565b606060006111dc83611331565b600101905060008167ffffffffffffffff8111156111fc576111fc61178e565b6040519080825280601f01601f191660200182016040528015611226576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461123057509392505050565b60008181526002830160205260408120819055610fe68383611413565b6060610b42600083336040518060200160405280600081525061141f565b600082815260028401602052604081208290556106288484611454565b60008181526001830160205260408120541515610fe6565b6000610b42825490565b600082600001828154811061131e5761131e6119ff565b9060005260206000200154905092915050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061137a577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106113a6576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106113c457662386f26fc10000830492506010015b6305f5e10083106113dc576305f5e100830492506008015b61271083106113f057612710830492506004015b60648310611402576064830492506002015b600a8310610b425760010192915050565b6000610fe68383611460565b606060018585858560405160200161143b959493929190611b66565b6040516020818303038152906040529050949350505050565b6000610fe68383611553565b60008181526001830160205260408120548015611549576000611484600183611beb565b855490915060009061149890600190611beb565b90508181146114fd5760008660000182815481106114b8576114b86119ff565b90600052602060002001549050808760000184815481106114db576114db6119ff565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061150e5761150e611bfe565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610b42565b6000915050610b42565b600081815260018301602052604081205461159a57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610b42565b506000610b42565b6000602082840312156115b457600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610fe657600080fd5b803563ffffffff811681146115ec57600080fd5b919050565b60006020828403121561160357600080fd5b610fe6826115d8565b6020808252825182820181905260009190848201906040850190845b8181101561164a57835163ffffffff1683529284019291840191600101611628565b50909695505050505050565b6000806040838503121561166957600080fd5b611672836115d8565b946020939093013593505050565b6000806000806060858703121561169657600080fd5b61169f856115d8565b935060208501359250604085013567ffffffffffffffff808211156116c357600080fd5b818701915087601f8301126116d757600080fd5b8135818111156116e657600080fd5b8860208285010111156116f857600080fd5b95989497505060200194505050565b60008083601f84011261171957600080fd5b50813567ffffffffffffffff81111561173157600080fd5b6020830191508360208260051b8501011115610c8f57600080fd5b6000806020838503121561175f57600080fd5b823567ffffffffffffffff81111561177657600080fd5b61178285828601611707565b90969095509350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080604083850312156117d057600080fd5b6117d9836115d8565b9150602083013567ffffffffffffffff808211156117f657600080fd5b818501915085601f83011261180a57600080fd5b81358181111561181c5761181c61178e565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156118625761186261178e565b8160405282815288602084870101111561187b57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156118b85781810151838201526020016118a0565b50506000910152565b600081518084526118d981602086016020860161189d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610fe660208301846118c1565b6000806020838503121561193157600080fd5b823567ffffffffffffffff8082111561194957600080fd5b818501915085601f83011261195d57600080fd5b81358181111561196c57600080fd5b8660208260061b850101111561198157600080fd5b60209290920196919550909350505050565b600080600080604085870312156119a957600080fd5b843567ffffffffffffffff808211156119c157600080fd5b6119cd88838901611707565b909650945060208701359150808211156119e657600080fd5b506119f387828801611707565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610b4257610b42611a2e565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611aa157611aa1611a2e565b5060010190565b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a2000815260008251611ae081601f85016020870161189d565b91909101601f0192915050565b63ffffffff8616815284602082015260a060408201526000611b1260a08301866118c1565b8281036060840152611b2481866118c1565b91505073ffffffffffffffffffffffffffffffffffffffff831660808301529695505050505050565b600060208284031215611b5f57600080fd5b5051919050565b7fffff0000000000000000000000000000000000000000000000000000000000008660f01b1681528460028201528360228201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b16604282015260008251611bda81605685016020870161189d565b919091016056019695505050505050565b81810381811115610b4257610b42611a2e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220b4bb1476216493089f740739c29fd46d40217260b1c43d5327dfc6d03d322f2c64736f6c63430008130033";
15
+ static readonly bytecode = "0x60c06040523480156200001157600080fd5b5060405162001e6e38038062001e6e833981016040819052620000349162000176565b808080806001600160a01b0381163b620000945760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f780000604482015260640160405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001059190620001a8565b63ffffffff1660a052620001193362000124565b5050505050620001d0565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602082840312156200018957600080fd5b81516001600160a01b0381168114620001a157600080fd5b9392505050565b600060208284031215620001bb57600080fd5b815163ffffffff81168114620001a157600080fd5b60805160a051611c636200020b600039600061031d015260008181610427015281816107950152818161101f01526111240152611c636000f3fe6080604052600436106101755760003560e01c80638d3638f4116100cb578063d5438eae1161007f578063efae508a11610059578063efae508a14610496578063f2ed8c53146104b6578063f2fde38b146104d657600080fd5b8063d5438eae14610415578063de523cf314610449578063e9198bf91461047657600080fd5b806393c44847116100b057806393c448471461037f578063b1bd6436146103d5578063b49c53a7146103f557600080fd5b80638d3638f41461030b5780638da5cb5b1461035457600080fd5b806356d5d4751161012d5780637249609f116101075780637249609f14610279578063775313a11461028c5780637f5a7c7b146102b957600080fd5b806356d5d47514610231578063715018a61461024457806371a15b381461025957600080fd5b80633dfd38731161015e5780633dfd3873146101cf578063440df4f4146101ef57806349d462ef1461021157600080fd5b80630e72cc061461017a5780632ead72f61461019c575b600080fd5b34801561018657600080fd5b5061019a6101953660046115a2565b6104f6565b005b3480156101a857600080fd5b506101bc6101b73660046115f1565b610611565b6040519081526020015b60405180910390f35b3480156101db57600080fd5b5061019a6101ea3660046115a2565b610630565b3480156101fb57600080fd5b50610204610746565b6040516101c6919061160c565b34801561021d57600080fd5b5061019a61022c366004611656565b610757565b61019a61023f366004611680565b61077d565b34801561025057600080fd5b5061019a6108e5565b34801561026557600080fd5b5061019a61027436600461174c565b6108f9565b61019a6102873660046117bd565b610954565b34801561029857600080fd5b506101bc6102a73660046115f1565b60ca6020526000908152604090205481565b3480156102c557600080fd5b506065546102e69073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c6565b34801561031757600080fd5b5061033f7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016101c6565b34801561036057600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166102e6565b34801561038b57600080fd5b506103c86040518060400160405280601281526020017f352e342e322d7375706572636861696e2e30000000000000000000000000000081525081565b6040516101c6919061190b565b3480156103e157600080fd5b5061019a6103f036600461191e565b610981565b34801561040157600080fd5b5061019a610410366004611656565b610a06565b34801561042157600080fd5b506102e67f000000000000000000000000000000000000000000000000000000000000000081565b34801561045557600080fd5b506066546102e69073ffffffffffffffffffffffffffffffffffffffff1681565b34801561048257600080fd5b5061019a610491366004611993565b610a18565b3480156104a257600080fd5b5061019a6104b13660046115f1565b610af7565b3480156104c257600080fd5b506101bc6104d13660046115f1565b610b0b565b3480156104e257600080fd5b5061019a6104f13660046115a2565b610b48565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610530575073ffffffffffffffffffffffffffffffffffffffff8116155b6105c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6105c9610bfc565b50606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600080610628609763ffffffff80861690610c7d16565b949350505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b15158061066a575073ffffffffffffffffffffffffffffffffffffffff8116155b6106f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084016105b8565b6106fe610bfc565b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60606107526097610c96565b905090565b61075f610bfc565b63ffffffff91909116600090815260ca6020526040902055565b5050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610842576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f78436c69656e743a2073656e646572206e6f74206d61696c626f60448201527f780000000000000000000000000000000000000000000000000000000000000060648201526084016105b8565b600061084d85610d51565b90508381146108de576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f456e726f6c6c656420726f7574657220646f6573206e6f74206d61746368207360448201527f656e64657200000000000000000000000000000000000000000000000000000060648201526084016105b8565b5050505050565b6108ed610bfc565b6108f76000610db6565b565b610901610bfc565b8060005b8181101561094e5761093c848483818110610922576109226119ff565b905060200201602081019061093791906115f1565b610e2d565b610947600182611a5d565b9050610905565b50505050565b60655461097c9083903490849073ffffffffffffffffffffffffffffffffffffffff16610e82565b505050565b610989610bfc565b60005b8181101561097c576109f48383838181106109a9576109a96119ff565b6109bf92602060409092020190810191506115f1565b8484848181106109d1576109d16119ff565b9050604002016020013563ffffffff909116600090815260ca6020526040902055565b6109ff600182611a5d565b905061098c565b610a0e610bfc565b6107798282610ea2565b610a20610bfc565b828114610a89576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e6774680000000000000000000000000000000000000000000000000060448201526064016105b8565b8260005b81811015610aef57610add868683818110610aaa57610aaa6119ff565b9050602002016020810190610abf91906115f1565b858584818110610ad157610ad16119ff565b90506020020135610ea2565b610ae8600182611a5d565b9050610a8d565b505050505050565b610aff610bfc565b610b0881610e2d565b50565b604080516020810190915260008082526065549091610b429184919073ffffffffffffffffffffffffffffffffffffffff16610eb8565b92915050565b610b50610bfc565b73ffffffffffffffffffffffffffffffffffffffff8116610bf3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016105b8565b610b0881610db6565b60335473ffffffffffffffffffffffffffffffffffffffff1633146108f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105b8565b600080610c8a8484610ece565b915091505b9250929050565b60606000610ca383610f08565b9050805167ffffffffffffffff811115610cbf57610cbf61178e565b604051908082528060200260200182016040528015610ce8578160200160208202803683370190505b50915060005b8151811015610d4a57818181518110610d0957610d096119ff565b6020026020010151838281518110610d2357610d236119ff565b63ffffffff9092166020928302919091019091015280610d4281611a70565b915050610cee565b5050919050565b60008080610d69609763ffffffff80871690610c7d16565b915091508115610d7a579392505050565b610d8384610fa3565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b8919061190b565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610e41609763ffffffff80841690610fda16565b610e4a82610fa3565b90610779576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b8919061190b565b6000610e99858585610e9389610fed565b8661100f565b95945050505050565b610779609763ffffffff8085169084906110cd16565b60006106288484610ec887610fed565b856110d8565b6000818152600283016020526040812054819080610efd57610ef085856111ac565b925060009150610c8f9050565b600192509050610c8f565b60606000610f15836111b8565b90508067ffffffffffffffff811115610f3057610f3061178e565b604051908082528060200260200182016040528015610f59578160200160208202803683370190505b50915060005b81811015610d4a57610f7184826111c3565b60001c838281518110610f8657610f866119ff565b602090810291909101015280610f9b81611a70565b915050610f5f565b6060610fb48263ffffffff166111cf565b604051602001610fc49190611aa8565b6040516020818303038152906040529050919050565b6000610fe6838361128d565b9392505050565b63ffffffff8116600090815260ca6020526040902054606090610b42906112aa565b60008061101b87610d51565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166310b83dc08789848989896040518763ffffffff1660e01b815260040161107f959493929190611aed565b60206040518083038185885af115801561109d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110c29190611b4d565b979650505050505050565b61094e8383836112c8565b6000806110e486610d51565b6040517f81d2ea9500000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906381d2ea959061116190899085908a908a908a90600401611aed565b602060405180830381865afa15801561117e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a29190611b4d565b9695505050505050565b6000610fe683836112e5565b6000610b42826112fd565b6000610fe68383611307565b606060006111dc83611331565b600101905060008167ffffffffffffffff8111156111fc576111fc61178e565b6040519080825280601f01601f191660200182016040528015611226576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461123057509392505050565b60008181526002830160205260408120819055610fe68383611413565b6060610b42600083336040518060200160405280600081525061141f565b600082815260028401602052604081208290556106288484611454565b60008181526001830160205260408120541515610fe6565b6000610b42825490565b600082600001828154811061131e5761131e6119ff565b9060005260206000200154905092915050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061137a577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106113a6576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106113c457662386f26fc10000830492506010015b6305f5e10083106113dc576305f5e100830492506008015b61271083106113f057612710830492506004015b60648310611402576064830492506002015b600a8310610b425760010192915050565b6000610fe68383611460565b606060018585858560405160200161143b959493929190611b66565b6040516020818303038152906040529050949350505050565b6000610fe68383611553565b60008181526001830160205260408120548015611549576000611484600183611beb565b855490915060009061149890600190611beb565b90508181146114fd5760008660000182815481106114b8576114b86119ff565b90600052602060002001549050808760000184815481106114db576114db6119ff565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061150e5761150e611bfe565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610b42565b6000915050610b42565b600081815260018301602052604081205461159a57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610b42565b506000610b42565b6000602082840312156115b457600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610fe657600080fd5b803563ffffffff811681146115ec57600080fd5b919050565b60006020828403121561160357600080fd5b610fe6826115d8565b6020808252825182820181905260009190848201906040850190845b8181101561164a57835163ffffffff1683529284019291840191600101611628565b50909695505050505050565b6000806040838503121561166957600080fd5b611672836115d8565b946020939093013593505050565b6000806000806060858703121561169657600080fd5b61169f856115d8565b935060208501359250604085013567ffffffffffffffff808211156116c357600080fd5b818701915087601f8301126116d757600080fd5b8135818111156116e657600080fd5b8860208285010111156116f857600080fd5b95989497505060200194505050565b60008083601f84011261171957600080fd5b50813567ffffffffffffffff81111561173157600080fd5b6020830191508360208260051b8501011115610c8f57600080fd5b6000806020838503121561175f57600080fd5b823567ffffffffffffffff81111561177657600080fd5b61178285828601611707565b90969095509350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080604083850312156117d057600080fd5b6117d9836115d8565b9150602083013567ffffffffffffffff808211156117f657600080fd5b818501915085601f83011261180a57600080fd5b81358181111561181c5761181c61178e565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156118625761186261178e565b8160405282815288602084870101111561187b57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156118b85781810151838201526020016118a0565b50506000910152565b600081518084526118d981602086016020860161189d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610fe660208301846118c1565b6000806020838503121561193157600080fd5b823567ffffffffffffffff8082111561194957600080fd5b818501915085601f83011261195d57600080fd5b81358181111561196c57600080fd5b8660208260061b850101111561198157600080fd5b60209290920196919550909350505050565b600080600080604085870312156119a957600080fd5b843567ffffffffffffffff808211156119c157600080fd5b6119cd88838901611707565b909650945060208701359150808211156119e657600080fd5b506119f387828801611707565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610b4257610b42611a2e565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611aa157611aa1611a2e565b5060010190565b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a2000815260008251611ae081601f85016020870161189d565b91909101601f0192915050565b63ffffffff8616815284602082015260a060408201526000611b1260a08301866118c1565b8281036060840152611b2481866118c1565b91505073ffffffffffffffffffffffffffffffffffffffff831660808301529695505050505050565b600060208284031215611b5f57600080fd5b5051919050565b7fffff0000000000000000000000000000000000000000000000000000000000008660f01b1681528460028201528360228201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b16604282015260008251611bda81605685016020870161189d565b919091016056019695505050505050565b81810381811115610b4257610b42611a2e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220cdd6c17451b5e7781cd7aa44cf5baca323896f20c2f1bc14002e9af4037383cc64736f6c63430008130033";
16
16
  static readonly abi: readonly [{
17
17
  readonly inputs: readonly [{
18
18
  readonly internalType: "address";
@@ -387,7 +387,7 @@ const _abi = [
387
387
  type: "function",
388
388
  },
389
389
  ];
390
- const _bytecode = "0x60c06040523480156200001157600080fd5b5060405162001e6e38038062001e6e833981016040819052620000349162000176565b808080806001600160a01b0381163b620000945760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f780000604482015260640160405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001059190620001a8565b63ffffffff1660a052620001193362000124565b5050505050620001d0565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602082840312156200018957600080fd5b81516001600160a01b0381168114620001a157600080fd5b9392505050565b600060208284031215620001bb57600080fd5b815163ffffffff81168114620001a157600080fd5b60805160a051611c636200020b600039600061031d015260008181610427015281816107950152818161101f01526111240152611c636000f3fe6080604052600436106101755760003560e01c80638d3638f4116100cb578063d5438eae1161007f578063efae508a11610059578063efae508a14610496578063f2ed8c53146104b6578063f2fde38b146104d657600080fd5b8063d5438eae14610415578063de523cf314610449578063e9198bf91461047657600080fd5b806393c44847116100b057806393c448471461037f578063b1bd6436146103d5578063b49c53a7146103f557600080fd5b80638d3638f41461030b5780638da5cb5b1461035457600080fd5b806356d5d4751161012d5780637249609f116101075780637249609f14610279578063775313a11461028c5780637f5a7c7b146102b957600080fd5b806356d5d47514610231578063715018a61461024457806371a15b381461025957600080fd5b80633dfd38731161015e5780633dfd3873146101cf578063440df4f4146101ef57806349d462ef1461021157600080fd5b80630e72cc061461017a5780632ead72f61461019c575b600080fd5b34801561018657600080fd5b5061019a6101953660046115a2565b6104f6565b005b3480156101a857600080fd5b506101bc6101b73660046115f1565b610611565b6040519081526020015b60405180910390f35b3480156101db57600080fd5b5061019a6101ea3660046115a2565b610630565b3480156101fb57600080fd5b50610204610746565b6040516101c6919061160c565b34801561021d57600080fd5b5061019a61022c366004611656565b610757565b61019a61023f366004611680565b61077d565b34801561025057600080fd5b5061019a6108e5565b34801561026557600080fd5b5061019a61027436600461174c565b6108f9565b61019a6102873660046117bd565b610954565b34801561029857600080fd5b506101bc6102a73660046115f1565b60ca6020526000908152604090205481565b3480156102c557600080fd5b506065546102e69073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c6565b34801561031757600080fd5b5061033f7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016101c6565b34801561036057600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166102e6565b34801561038b57600080fd5b506103c86040518060400160405280600581526020017f352e342e3100000000000000000000000000000000000000000000000000000081525081565b6040516101c6919061190b565b3480156103e157600080fd5b5061019a6103f036600461191e565b610981565b34801561040157600080fd5b5061019a610410366004611656565b610a06565b34801561042157600080fd5b506102e67f000000000000000000000000000000000000000000000000000000000000000081565b34801561045557600080fd5b506066546102e69073ffffffffffffffffffffffffffffffffffffffff1681565b34801561048257600080fd5b5061019a610491366004611993565b610a18565b3480156104a257600080fd5b5061019a6104b13660046115f1565b610af7565b3480156104c257600080fd5b506101bc6104d13660046115f1565b610b0b565b3480156104e257600080fd5b5061019a6104f13660046115a2565b610b48565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610530575073ffffffffffffffffffffffffffffffffffffffff8116155b6105c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6105c9610bfc565b50606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600080610628609763ffffffff80861690610c7d16565b949350505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b15158061066a575073ffffffffffffffffffffffffffffffffffffffff8116155b6106f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084016105b8565b6106fe610bfc565b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60606107526097610c96565b905090565b61075f610bfc565b63ffffffff91909116600090815260ca6020526040902055565b5050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610842576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f78436c69656e743a2073656e646572206e6f74206d61696c626f60448201527f780000000000000000000000000000000000000000000000000000000000000060648201526084016105b8565b600061084d85610d51565b90508381146108de576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f456e726f6c6c656420726f7574657220646f6573206e6f74206d61746368207360448201527f656e64657200000000000000000000000000000000000000000000000000000060648201526084016105b8565b5050505050565b6108ed610bfc565b6108f76000610db6565b565b610901610bfc565b8060005b8181101561094e5761093c848483818110610922576109226119ff565b905060200201602081019061093791906115f1565b610e2d565b610947600182611a5d565b9050610905565b50505050565b60655461097c9083903490849073ffffffffffffffffffffffffffffffffffffffff16610e82565b505050565b610989610bfc565b60005b8181101561097c576109f48383838181106109a9576109a96119ff565b6109bf92602060409092020190810191506115f1565b8484848181106109d1576109d16119ff565b9050604002016020013563ffffffff909116600090815260ca6020526040902055565b6109ff600182611a5d565b905061098c565b610a0e610bfc565b6107798282610ea2565b610a20610bfc565b828114610a89576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e6774680000000000000000000000000000000000000000000000000060448201526064016105b8565b8260005b81811015610aef57610add868683818110610aaa57610aaa6119ff565b9050602002016020810190610abf91906115f1565b858584818110610ad157610ad16119ff565b90506020020135610ea2565b610ae8600182611a5d565b9050610a8d565b505050505050565b610aff610bfc565b610b0881610e2d565b50565b604080516020810190915260008082526065549091610b429184919073ffffffffffffffffffffffffffffffffffffffff16610eb8565b92915050565b610b50610bfc565b73ffffffffffffffffffffffffffffffffffffffff8116610bf3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016105b8565b610b0881610db6565b60335473ffffffffffffffffffffffffffffffffffffffff1633146108f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105b8565b600080610c8a8484610ece565b915091505b9250929050565b60606000610ca383610f08565b9050805167ffffffffffffffff811115610cbf57610cbf61178e565b604051908082528060200260200182016040528015610ce8578160200160208202803683370190505b50915060005b8151811015610d4a57818181518110610d0957610d096119ff565b6020026020010151838281518110610d2357610d236119ff565b63ffffffff9092166020928302919091019091015280610d4281611a70565b915050610cee565b5050919050565b60008080610d69609763ffffffff80871690610c7d16565b915091508115610d7a579392505050565b610d8384610fa3565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b8919061190b565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610e41609763ffffffff80841690610fda16565b610e4a82610fa3565b90610779576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b8919061190b565b6000610e99858585610e9389610fed565b8661100f565b95945050505050565b610779609763ffffffff8085169084906110cd16565b60006106288484610ec887610fed565b856110d8565b6000818152600283016020526040812054819080610efd57610ef085856111ac565b925060009150610c8f9050565b600192509050610c8f565b60606000610f15836111b8565b90508067ffffffffffffffff811115610f3057610f3061178e565b604051908082528060200260200182016040528015610f59578160200160208202803683370190505b50915060005b81811015610d4a57610f7184826111c3565b60001c838281518110610f8657610f866119ff565b602090810291909101015280610f9b81611a70565b915050610f5f565b6060610fb48263ffffffff166111cf565b604051602001610fc49190611aa8565b6040516020818303038152906040529050919050565b6000610fe6838361128d565b9392505050565b63ffffffff8116600090815260ca6020526040902054606090610b42906112aa565b60008061101b87610d51565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166310b83dc08789848989896040518763ffffffff1660e01b815260040161107f959493929190611aed565b60206040518083038185885af115801561109d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110c29190611b4d565b979650505050505050565b61094e8383836112c8565b6000806110e486610d51565b6040517f81d2ea9500000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906381d2ea959061116190899085908a908a908a90600401611aed565b602060405180830381865afa15801561117e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a29190611b4d565b9695505050505050565b6000610fe683836112e5565b6000610b42826112fd565b6000610fe68383611307565b606060006111dc83611331565b600101905060008167ffffffffffffffff8111156111fc576111fc61178e565b6040519080825280601f01601f191660200182016040528015611226576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461123057509392505050565b60008181526002830160205260408120819055610fe68383611413565b6060610b42600083336040518060200160405280600081525061141f565b600082815260028401602052604081208290556106288484611454565b60008181526001830160205260408120541515610fe6565b6000610b42825490565b600082600001828154811061131e5761131e6119ff565b9060005260206000200154905092915050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061137a577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106113a6576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106113c457662386f26fc10000830492506010015b6305f5e10083106113dc576305f5e100830492506008015b61271083106113f057612710830492506004015b60648310611402576064830492506002015b600a8310610b425760010192915050565b6000610fe68383611460565b606060018585858560405160200161143b959493929190611b66565b6040516020818303038152906040529050949350505050565b6000610fe68383611553565b60008181526001830160205260408120548015611549576000611484600183611beb565b855490915060009061149890600190611beb565b90508181146114fd5760008660000182815481106114b8576114b86119ff565b90600052602060002001549050808760000184815481106114db576114db6119ff565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061150e5761150e611bfe565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610b42565b6000915050610b42565b600081815260018301602052604081205461159a57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610b42565b506000610b42565b6000602082840312156115b457600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610fe657600080fd5b803563ffffffff811681146115ec57600080fd5b919050565b60006020828403121561160357600080fd5b610fe6826115d8565b6020808252825182820181905260009190848201906040850190845b8181101561164a57835163ffffffff1683529284019291840191600101611628565b50909695505050505050565b6000806040838503121561166957600080fd5b611672836115d8565b946020939093013593505050565b6000806000806060858703121561169657600080fd5b61169f856115d8565b935060208501359250604085013567ffffffffffffffff808211156116c357600080fd5b818701915087601f8301126116d757600080fd5b8135818111156116e657600080fd5b8860208285010111156116f857600080fd5b95989497505060200194505050565b60008083601f84011261171957600080fd5b50813567ffffffffffffffff81111561173157600080fd5b6020830191508360208260051b8501011115610c8f57600080fd5b6000806020838503121561175f57600080fd5b823567ffffffffffffffff81111561177657600080fd5b61178285828601611707565b90969095509350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080604083850312156117d057600080fd5b6117d9836115d8565b9150602083013567ffffffffffffffff808211156117f657600080fd5b818501915085601f83011261180a57600080fd5b81358181111561181c5761181c61178e565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156118625761186261178e565b8160405282815288602084870101111561187b57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156118b85781810151838201526020016118a0565b50506000910152565b600081518084526118d981602086016020860161189d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610fe660208301846118c1565b6000806020838503121561193157600080fd5b823567ffffffffffffffff8082111561194957600080fd5b818501915085601f83011261195d57600080fd5b81358181111561196c57600080fd5b8660208260061b850101111561198157600080fd5b60209290920196919550909350505050565b600080600080604085870312156119a957600080fd5b843567ffffffffffffffff808211156119c157600080fd5b6119cd88838901611707565b909650945060208701359150808211156119e657600080fd5b506119f387828801611707565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610b4257610b42611a2e565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611aa157611aa1611a2e565b5060010190565b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a2000815260008251611ae081601f85016020870161189d565b91909101601f0192915050565b63ffffffff8616815284602082015260a060408201526000611b1260a08301866118c1565b8281036060840152611b2481866118c1565b91505073ffffffffffffffffffffffffffffffffffffffff831660808301529695505050505050565b600060208284031215611b5f57600080fd5b5051919050565b7fffff0000000000000000000000000000000000000000000000000000000000008660f01b1681528460028201528360228201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b16604282015260008251611bda81605685016020870161189d565b919091016056019695505050505050565b81810381811115610b4257610b42611a2e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220b4bb1476216493089f740739c29fd46d40217260b1c43d5327dfc6d03d322f2c64736f6c63430008130033";
390
+ const _bytecode = "0x60c06040523480156200001157600080fd5b5060405162001e6e38038062001e6e833981016040819052620000349162000176565b808080806001600160a01b0381163b620000945760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f780000604482015260640160405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001059190620001a8565b63ffffffff1660a052620001193362000124565b5050505050620001d0565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602082840312156200018957600080fd5b81516001600160a01b0381168114620001a157600080fd5b9392505050565b600060208284031215620001bb57600080fd5b815163ffffffff81168114620001a157600080fd5b60805160a051611c636200020b600039600061031d015260008181610427015281816107950152818161101f01526111240152611c636000f3fe6080604052600436106101755760003560e01c80638d3638f4116100cb578063d5438eae1161007f578063efae508a11610059578063efae508a14610496578063f2ed8c53146104b6578063f2fde38b146104d657600080fd5b8063d5438eae14610415578063de523cf314610449578063e9198bf91461047657600080fd5b806393c44847116100b057806393c448471461037f578063b1bd6436146103d5578063b49c53a7146103f557600080fd5b80638d3638f41461030b5780638da5cb5b1461035457600080fd5b806356d5d4751161012d5780637249609f116101075780637249609f14610279578063775313a11461028c5780637f5a7c7b146102b957600080fd5b806356d5d47514610231578063715018a61461024457806371a15b381461025957600080fd5b80633dfd38731161015e5780633dfd3873146101cf578063440df4f4146101ef57806349d462ef1461021157600080fd5b80630e72cc061461017a5780632ead72f61461019c575b600080fd5b34801561018657600080fd5b5061019a6101953660046115a2565b6104f6565b005b3480156101a857600080fd5b506101bc6101b73660046115f1565b610611565b6040519081526020015b60405180910390f35b3480156101db57600080fd5b5061019a6101ea3660046115a2565b610630565b3480156101fb57600080fd5b50610204610746565b6040516101c6919061160c565b34801561021d57600080fd5b5061019a61022c366004611656565b610757565b61019a61023f366004611680565b61077d565b34801561025057600080fd5b5061019a6108e5565b34801561026557600080fd5b5061019a61027436600461174c565b6108f9565b61019a6102873660046117bd565b610954565b34801561029857600080fd5b506101bc6102a73660046115f1565b60ca6020526000908152604090205481565b3480156102c557600080fd5b506065546102e69073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c6565b34801561031757600080fd5b5061033f7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016101c6565b34801561036057600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166102e6565b34801561038b57600080fd5b506103c86040518060400160405280601281526020017f352e342e322d7375706572636861696e2e30000000000000000000000000000081525081565b6040516101c6919061190b565b3480156103e157600080fd5b5061019a6103f036600461191e565b610981565b34801561040157600080fd5b5061019a610410366004611656565b610a06565b34801561042157600080fd5b506102e67f000000000000000000000000000000000000000000000000000000000000000081565b34801561045557600080fd5b506066546102e69073ffffffffffffffffffffffffffffffffffffffff1681565b34801561048257600080fd5b5061019a610491366004611993565b610a18565b3480156104a257600080fd5b5061019a6104b13660046115f1565b610af7565b3480156104c257600080fd5b506101bc6104d13660046115f1565b610b0b565b3480156104e257600080fd5b5061019a6104f13660046115a2565b610b48565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610530575073ffffffffffffffffffffffffffffffffffffffff8116155b6105c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6105c9610bfc565b50606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600080610628609763ffffffff80861690610c7d16565b949350505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b15158061066a575073ffffffffffffffffffffffffffffffffffffffff8116155b6106f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084016105b8565b6106fe610bfc565b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60606107526097610c96565b905090565b61075f610bfc565b63ffffffff91909116600090815260ca6020526040902055565b5050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610842576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f78436c69656e743a2073656e646572206e6f74206d61696c626f60448201527f780000000000000000000000000000000000000000000000000000000000000060648201526084016105b8565b600061084d85610d51565b90508381146108de576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f456e726f6c6c656420726f7574657220646f6573206e6f74206d61746368207360448201527f656e64657200000000000000000000000000000000000000000000000000000060648201526084016105b8565b5050505050565b6108ed610bfc565b6108f76000610db6565b565b610901610bfc565b8060005b8181101561094e5761093c848483818110610922576109226119ff565b905060200201602081019061093791906115f1565b610e2d565b610947600182611a5d565b9050610905565b50505050565b60655461097c9083903490849073ffffffffffffffffffffffffffffffffffffffff16610e82565b505050565b610989610bfc565b60005b8181101561097c576109f48383838181106109a9576109a96119ff565b6109bf92602060409092020190810191506115f1565b8484848181106109d1576109d16119ff565b9050604002016020013563ffffffff909116600090815260ca6020526040902055565b6109ff600182611a5d565b905061098c565b610a0e610bfc565b6107798282610ea2565b610a20610bfc565b828114610a89576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e6774680000000000000000000000000000000000000000000000000060448201526064016105b8565b8260005b81811015610aef57610add868683818110610aaa57610aaa6119ff565b9050602002016020810190610abf91906115f1565b858584818110610ad157610ad16119ff565b90506020020135610ea2565b610ae8600182611a5d565b9050610a8d565b505050505050565b610aff610bfc565b610b0881610e2d565b50565b604080516020810190915260008082526065549091610b429184919073ffffffffffffffffffffffffffffffffffffffff16610eb8565b92915050565b610b50610bfc565b73ffffffffffffffffffffffffffffffffffffffff8116610bf3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016105b8565b610b0881610db6565b60335473ffffffffffffffffffffffffffffffffffffffff1633146108f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105b8565b600080610c8a8484610ece565b915091505b9250929050565b60606000610ca383610f08565b9050805167ffffffffffffffff811115610cbf57610cbf61178e565b604051908082528060200260200182016040528015610ce8578160200160208202803683370190505b50915060005b8151811015610d4a57818181518110610d0957610d096119ff565b6020026020010151838281518110610d2357610d236119ff565b63ffffffff9092166020928302919091019091015280610d4281611a70565b915050610cee565b5050919050565b60008080610d69609763ffffffff80871690610c7d16565b915091508115610d7a579392505050565b610d8384610fa3565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b8919061190b565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610e41609763ffffffff80841690610fda16565b610e4a82610fa3565b90610779576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b8919061190b565b6000610e99858585610e9389610fed565b8661100f565b95945050505050565b610779609763ffffffff8085169084906110cd16565b60006106288484610ec887610fed565b856110d8565b6000818152600283016020526040812054819080610efd57610ef085856111ac565b925060009150610c8f9050565b600192509050610c8f565b60606000610f15836111b8565b90508067ffffffffffffffff811115610f3057610f3061178e565b604051908082528060200260200182016040528015610f59578160200160208202803683370190505b50915060005b81811015610d4a57610f7184826111c3565b60001c838281518110610f8657610f866119ff565b602090810291909101015280610f9b81611a70565b915050610f5f565b6060610fb48263ffffffff166111cf565b604051602001610fc49190611aa8565b6040516020818303038152906040529050919050565b6000610fe6838361128d565b9392505050565b63ffffffff8116600090815260ca6020526040902054606090610b42906112aa565b60008061101b87610d51565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166310b83dc08789848989896040518763ffffffff1660e01b815260040161107f959493929190611aed565b60206040518083038185885af115801561109d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110c29190611b4d565b979650505050505050565b61094e8383836112c8565b6000806110e486610d51565b6040517f81d2ea9500000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906381d2ea959061116190899085908a908a908a90600401611aed565b602060405180830381865afa15801561117e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a29190611b4d565b9695505050505050565b6000610fe683836112e5565b6000610b42826112fd565b6000610fe68383611307565b606060006111dc83611331565b600101905060008167ffffffffffffffff8111156111fc576111fc61178e565b6040519080825280601f01601f191660200182016040528015611226576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461123057509392505050565b60008181526002830160205260408120819055610fe68383611413565b6060610b42600083336040518060200160405280600081525061141f565b600082815260028401602052604081208290556106288484611454565b60008181526001830160205260408120541515610fe6565b6000610b42825490565b600082600001828154811061131e5761131e6119ff565b9060005260206000200154905092915050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061137a577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106113a6576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106113c457662386f26fc10000830492506010015b6305f5e10083106113dc576305f5e100830492506008015b61271083106113f057612710830492506004015b60648310611402576064830492506002015b600a8310610b425760010192915050565b6000610fe68383611460565b606060018585858560405160200161143b959493929190611b66565b6040516020818303038152906040529050949350505050565b6000610fe68383611553565b60008181526001830160205260408120548015611549576000611484600183611beb565b855490915060009061149890600190611beb565b90508181146114fd5760008660000182815481106114b8576114b86119ff565b90600052602060002001549050808760000184815481106114db576114db6119ff565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061150e5761150e611bfe565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610b42565b6000915050610b42565b600081815260018301602052604081205461159a57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610b42565b506000610b42565b6000602082840312156115b457600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610fe657600080fd5b803563ffffffff811681146115ec57600080fd5b919050565b60006020828403121561160357600080fd5b610fe6826115d8565b6020808252825182820181905260009190848201906040850190845b8181101561164a57835163ffffffff1683529284019291840191600101611628565b50909695505050505050565b6000806040838503121561166957600080fd5b611672836115d8565b946020939093013593505050565b6000806000806060858703121561169657600080fd5b61169f856115d8565b935060208501359250604085013567ffffffffffffffff808211156116c357600080fd5b818701915087601f8301126116d757600080fd5b8135818111156116e657600080fd5b8860208285010111156116f857600080fd5b95989497505060200194505050565b60008083601f84011261171957600080fd5b50813567ffffffffffffffff81111561173157600080fd5b6020830191508360208260051b8501011115610c8f57600080fd5b6000806020838503121561175f57600080fd5b823567ffffffffffffffff81111561177657600080fd5b61178285828601611707565b90969095509350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080604083850312156117d057600080fd5b6117d9836115d8565b9150602083013567ffffffffffffffff808211156117f657600080fd5b818501915085601f83011261180a57600080fd5b81358181111561181c5761181c61178e565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156118625761186261178e565b8160405282815288602084870101111561187b57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156118b85781810151838201526020016118a0565b50506000910152565b600081518084526118d981602086016020860161189d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610fe660208301846118c1565b6000806020838503121561193157600080fd5b823567ffffffffffffffff8082111561194957600080fd5b818501915085601f83011261195d57600080fd5b81358181111561196c57600080fd5b8660208260061b850101111561198157600080fd5b60209290920196919550909350505050565b600080600080604085870312156119a957600080fd5b843567ffffffffffffffff808211156119c157600080fd5b6119cd88838901611707565b909650945060208701359150808211156119e657600080fd5b506119f387828801611707565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610b4257610b42611a2e565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611aa157611aa1611a2e565b5060010190565b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a2000815260008251611ae081601f85016020870161189d565b91909101601f0192915050565b63ffffffff8616815284602082015260a060408201526000611b1260a08301866118c1565b8281036060840152611b2481866118c1565b91505073ffffffffffffffffffffffffffffffffffffffff831660808301529695505050505050565b600060208284031215611b5f57600080fd5b5051919050565b7fffff0000000000000000000000000000000000000000000000000000000000008660f01b1681528460028201528360228201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b16604282015260008251611bda81605685016020870161189d565b919091016056019695505050505050565b81810381811115610b4257610b42611a2e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220cdd6c17451b5e7781cd7aa44cf5baca323896f20c2f1bc14002e9af4037383cc64736f6c63430008130033";
391
391
  const isSuperArgs = (xs) => xs.length > 1;
392
392
  export class TestGasRouter__factory extends ContractFactory {
393
393
  constructor(...args) {
@@ -12,7 +12,7 @@ export declare class TestInterchainGasPaymaster__factory extends ContractFactory
12
12
  }): TransactionRequest;
13
13
  attach(address: string): TestInterchainGasPaymaster;
14
14
  connect(signer: Signer): TestInterchainGasPaymaster__factory;
15
- static readonly bytecode = "0x60c060405261c35060a0523480156200001757600080fd5b50436080526200002833806200002e565b620002d9565b600054610100900460ff16158080156200004f5750600054600160ff909116105b806200006b5750303b1580156200006b575060005460ff166001145b620000d45760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015620000f8576000805461ff0019166101001790555b6200010262000164565b6200010d83620001cc565b62000118826200021e565b80156200015f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b600054610100900460ff16620001c05760405162461bcd60e51b815260206004820152602b602482015260008051602062001fc983398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000cb565b620001ca62000272565b565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606680546001600160a01b0319166001600160a01b0383169081179091556040519081527f04d55a8be181fb8d75b76f2d48aa0b2ee40f47e53d6e61763eeeec46feea8a249060200160405180910390a150565b600054610100900460ff16620002ce5760405162461bcd60e51b815260206004820152602b602482015260008051602062001fc983398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000cb565b620001ca33620001cc565b60805160a051611cc362000306600039600081816103a20152610e53015260006103d80152611cc36000f3fe60806040526004361061016a5760003560e01c8063715018a6116100cb578063a69297931161007f578063e5320bb911610059578063e5320bb9146104d7578063f2fde38b14610507578063fe173b971461052757600080fd5b8063a69297931461047b578063aaccd2301461049b578063e445e7dd146104bb57600080fd5b806382ea7bfe116100b057806382ea7bfe146103c65780638da5cb5b146103fa57806393c448471461042557600080fd5b8063715018a61461037e57806375ab2eca1461039357600080fd5b806343c467c01161012257806348f4e6c11161010757806348f4e6c1146103005780634e71d92d1461032057806360fcef7c1461033557600080fd5b806343c467c01461023c578063485cc955146102e057600080fd5b80631c31f710116101535780631c31f7101461019757806326d5b1a6146101b757806338af3eed146101ea57600080fd5b8063086011b91461016f57806311bf2c1814610184575b600080fd5b61018261017d366004611696565b61053c565b005b61018261019236600461173d565b6105e9565b3480156101a357600080fd5b506101826101b2366004611785565b610783565b3480156101c357600080fd5b506101d76101d23660046117a2565b610797565b6040519081526020015b60405180910390f35b3480156101f657600080fd5b506066546102179073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101e1565b34801561024857600080fd5b506102a76102573660046117cc565b60656020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff8116907401000000000000000000000000000000000000000090046bffffffffffffffffffffffff1682565b6040805173ffffffffffffffffffffffffffffffffffffffff90931683526bffffffffffffffffffffffff9091166020830152016101e1565b3480156102ec57600080fd5b506101826102fb3660046117e7565b6107e7565b34801561030c57600080fd5b5061018261031b366004611820565b61098e565b34801561032c57600080fd5b50610182610a38565b34801561034157600080fd5b506103556103503660046117cc565b610b02565b604080516fffffffffffffffffffffffffffffffff9384168152929091166020830152016101e1565b34801561038a57600080fd5b50610182610c4f565b34801561039f57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006101d7565b3480156103d257600080fd5b506101d77f000000000000000000000000000000000000000000000000000000000000000081565b34801561040657600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff16610217565b34801561043157600080fd5b5061046e6040518060400160405280600581526020017f352e342e3100000000000000000000000000000000000000000000000000000081525081565b6040516101e191906118b9565b34801561048757600080fd5b506101d76104963660046117a2565b610c63565b3480156104a757600080fd5b506101d76104b6366004611696565b610c70565b3480156104c757600080fd5b50604051600481526020016101e1565b3480156104e357600080fd5b506104f76104f236600461190a565b610d1d565b60405190151581526020016101e1565b34801561051357600080fd5b50610182610522366004611785565b610d3f565b34801561053357600080fd5b506101d7600a81565b6105468484610d1d565b6105d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084015b60405180910390fd5b6105e384848484610df3565b50505050565b60006105f58484610c63565b905080341015610687576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4947503a20696e73756666696369656e7420696e746572636861696e2067617360448201527f207061796d656e7400000000000000000000000000000000000000000000000060648201526084016105ce565b6000610693823461197b565b905080156107385773ffffffffffffffffffffffffffffffffffffffff8316610718576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f6e6f20726566756e64206164647265737300000000000000000000000000000060448201526064016105ce565b61073873ffffffffffffffffffffffffffffffffffffffff841682610e8d565b604080518581526020810184905263ffffffff87169188917f65695c3748edae85a24cc2c60b299b31f463050bc259150d2e5802ec8d11720a910160405180910390a3505050505050565b61078b610fe7565b61079481611068565b50565b63ffffffff82166000908152606560205260408120546107de9083907401000000000000000000000000000000000000000090046bffffffffffffffffffffffff1661198e565b90505b92915050565b600054610100900460ff16158080156108075750600054600160ff909116105b806108215750303b158015610821575060005460ff166001145b6108ad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016105ce565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561090b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6109136110e1565b61091c83611180565b61092582611068565b801561098957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15b505050565b610996610fe7565b8060005b818110156105e357610a268484838181106109b7576109b76119a1565b6109cd92602060609092020190810191506117cc565b8585848181106109df576109df6119a1565b6109f89260406060909202019081019150602001611785565b868685818110610a0a57610a0a6119a1565b610a219260609182020190810191506040016119d0565b6111f7565b80610a30816119fe565b91505061099a565b60665460405160009173ffffffffffffffffffffffffffffffffffffffff169047908381818185875af1925050503d8060008114610a92576040519150601f19603f3d011682016040523d82523d6000602084013e610a97565b606091505b5050905080610794576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4947503a20636c61696d206661696c656400000000000000000000000000000060448201526064016105ce565b63ffffffff8116600090815260656020526040812054819073ffffffffffffffffffffffffffffffffffffffff1680610bb257610b448463ffffffff166112a4565b604051602001610b549190611a36565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526105ce916004016118b9565b6040517f60fcef7c00000000000000000000000000000000000000000000000000000000815263ffffffff8516600482015273ffffffffffffffffffffffffffffffffffffffff8216906360fcef7c906024016040805180830381865afa158015610c21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c459190611ac1565b9250925050915091565b610c57610fe7565b610c616000611180565b565b60006107de82600a611af4565b6000610c7c8585610d1d565b610d08576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084016105ce565b610d1485858585611362565b95945050505050565b60008115806107de57506001610d33848461137e565b61ffff16149392505050565b610d47610fe7565b73ffffffffffffffffffffffffffffffffffffffff8116610dea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016105ce565b61079481611180565b6105e3610e3583838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113cf92505050565b610e3f84846113da565b610e77610e4c86866113da565b6101d289897f00000000000000000000000000000000000000000000000000000000000000006113fd565b610192610e84878761144e565b89908990611460565b80471015610ef7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016105ce565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610f51576040519150601f19603f3d011682016040523d82523d6000602084013e610f56565b606091505b5050905080610989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016105ce565b60335473ffffffffffffffffffffffffffffffffffffffff163314610c61576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105ce565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527f04d55a8be181fb8d75b76f2d48aa0b2ee40f47e53d6e61763eeeec46feea8a249060200160405180910390a150565b600054610100900460ff16611178576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ce565b610c616114b2565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60408051808201825273ffffffffffffffffffffffffffffffffffffffff8481168083526bffffffffffffffffffffffff858116602080860182815263ffffffff8b16600081815260658452899020975191519094167401000000000000000000000000000000000000000002951694909417909455845190815291820152918201527f676a23191c2989bd7cc8446122cca792bcdaa0f2d6bbd9c30d8ca031ca94634390606001610980565b606060006112b183611552565b600101905060008167ffffffffffffffff8111156112d1576112d1611b0b565b6040519080825280601f01601f1916602001820160405280156112fb576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461130557509392505050565b6000610d1461137184846113da565b610496610e4c86866113da565b600061138b816002611b3a565b60ff1682101561139d575060006107e1565b826000836113ac826002611b3a565b60ff16926113bc93929190611b53565b6113c591611b7d565b60f01c9392505050565b805160209091012090565b60006113ea602d60298486611b53565b6113f391611bc5565b60e01c9392505050565b600061140b60226020611b3a565b60ff1683101561141c575080611447565b8360228461142b826020611b3a565b60ff169261143b93929190611b53565b61144491611c0b565b90505b9392505050565b60006107de61145d8484611634565b90565b600061146e60426014611b3a565b60ff1683101561147f575080611447565b8360428461148e826014611b3a565b60ff169261149e93929190611b53565b6114a791611c47565b60601c949350505050565b600054610100900460ff16611549576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ce565b610c6133611180565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061159b577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106115c7576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106115e557662386f26fc10000830492506010015b6305f5e10083106115fd576305f5e100830492506008015b612710831061161157612710830492506004015b60648310611623576064830492506002015b600a83106107e15760010192915050565b6000611644602960098486611b53565b6107de91611c0b565b60008083601f84011261165f57600080fd5b50813567ffffffffffffffff81111561167757600080fd5b60208301915083602082850101111561168f57600080fd5b9250929050565b600080600080604085870312156116ac57600080fd5b843567ffffffffffffffff808211156116c457600080fd5b6116d08883890161164d565b909650945060208701359150808211156116e957600080fd5b506116f68782880161164d565b95989497509550505050565b803563ffffffff8116811461171657600080fd5b919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461079457600080fd5b6000806000806080858703121561175357600080fd5b8435935061176360208601611702565b925060408501359150606085013561177a8161171b565b939692955090935050565b60006020828403121561179757600080fd5b81356114478161171b565b600080604083850312156117b557600080fd5b6117be83611702565b946020939093013593505050565b6000602082840312156117de57600080fd5b6107de82611702565b600080604083850312156117fa57600080fd5b82356118058161171b565b915060208301356118158161171b565b809150509250929050565b6000806020838503121561183357600080fd5b823567ffffffffffffffff8082111561184b57600080fd5b818501915085601f83011261185f57600080fd5b81358181111561186e57600080fd5b86602060608302850101111561188357600080fd5b60209290920196919550909350505050565b60005b838110156118b0578181015183820152602001611898565b50506000910152565b60208152600082518060208401526118d8816040850160208701611895565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b6000806020838503121561191d57600080fd5b823567ffffffffffffffff81111561193457600080fd5b6119408582860161164d565b90969095509350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156107e1576107e161194c565b808201808211156107e1576107e161194c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000602082840312156119e257600080fd5b81356bffffffffffffffffffffffff8116811461144757600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611a2f57611a2f61194c565b5060010190565b7f436f6e666967757265642049475020646f65736e277420737570706f7274206481527f6f6d61696e200000000000000000000000000000000000000000000000000000602082015260008251611a94816026850160208701611895565b9190910160260192915050565b80516fffffffffffffffffffffffffffffffff8116811461171657600080fd5b60008060408385031215611ad457600080fd5b611add83611aa1565b9150611aeb60208401611aa1565b90509250929050565b80820281158282048414176107e1576107e161194c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60ff81811683821601908111156107e1576107e161194c565b60008085851115611b6357600080fd5b83861115611b7057600080fd5b5050820193919092039150565b7fffff0000000000000000000000000000000000000000000000000000000000008135818116916002851015611bbd5780818660020360031b1b83161692505b505092915050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015611bbd5760049490940360031b84901b1690921692915050565b803560208310156107e1577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008135818116916014851015611bbd5760149490940360031b84901b169092169291505056fea26469706673582212202d10a649c1877c247c074e752cd1eb8fcaed6e575957e5eaebc4b2fdb287208c64736f6c63430008130033496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069";
15
+ static readonly bytecode = "0x60c060405261c35060a0523480156200001757600080fd5b50436080526200002833806200002e565b620002d9565b600054610100900460ff16158080156200004f5750600054600160ff909116105b806200006b5750303b1580156200006b575060005460ff166001145b620000d45760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015620000f8576000805461ff0019166101001790555b6200010262000164565b6200010d83620001cc565b62000118826200021e565b80156200015f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b600054610100900460ff16620001c05760405162461bcd60e51b815260206004820152602b602482015260008051602062001fc983398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000cb565b620001ca62000272565b565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606680546001600160a01b0319166001600160a01b0383169081179091556040519081527f04d55a8be181fb8d75b76f2d48aa0b2ee40f47e53d6e61763eeeec46feea8a249060200160405180910390a150565b600054610100900460ff16620002ce5760405162461bcd60e51b815260206004820152602b602482015260008051602062001fc983398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000cb565b620001ca33620001cc565b60805160a051611cc362000306600039600081816103a20152610e53015260006103d80152611cc36000f3fe60806040526004361061016a5760003560e01c8063715018a6116100cb578063a69297931161007f578063e5320bb911610059578063e5320bb9146104d7578063f2fde38b14610507578063fe173b971461052757600080fd5b8063a69297931461047b578063aaccd2301461049b578063e445e7dd146104bb57600080fd5b806382ea7bfe116100b057806382ea7bfe146103c65780638da5cb5b146103fa57806393c448471461042557600080fd5b8063715018a61461037e57806375ab2eca1461039357600080fd5b806343c467c01161012257806348f4e6c11161010757806348f4e6c1146103005780634e71d92d1461032057806360fcef7c1461033557600080fd5b806343c467c01461023c578063485cc955146102e057600080fd5b80631c31f710116101535780631c31f7101461019757806326d5b1a6146101b757806338af3eed146101ea57600080fd5b8063086011b91461016f57806311bf2c1814610184575b600080fd5b61018261017d366004611696565b61053c565b005b61018261019236600461173d565b6105e9565b3480156101a357600080fd5b506101826101b2366004611785565b610783565b3480156101c357600080fd5b506101d76101d23660046117a2565b610797565b6040519081526020015b60405180910390f35b3480156101f657600080fd5b506066546102179073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101e1565b34801561024857600080fd5b506102a76102573660046117cc565b60656020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff8116907401000000000000000000000000000000000000000090046bffffffffffffffffffffffff1682565b6040805173ffffffffffffffffffffffffffffffffffffffff90931683526bffffffffffffffffffffffff9091166020830152016101e1565b3480156102ec57600080fd5b506101826102fb3660046117e7565b6107e7565b34801561030c57600080fd5b5061018261031b366004611820565b61098e565b34801561032c57600080fd5b50610182610a38565b34801561034157600080fd5b506103556103503660046117cc565b610b02565b604080516fffffffffffffffffffffffffffffffff9384168152929091166020830152016101e1565b34801561038a57600080fd5b50610182610c4f565b34801561039f57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006101d7565b3480156103d257600080fd5b506101d77f000000000000000000000000000000000000000000000000000000000000000081565b34801561040657600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff16610217565b34801561043157600080fd5b5061046e6040518060400160405280601281526020017f352e342e322d7375706572636861696e2e30000000000000000000000000000081525081565b6040516101e191906118b9565b34801561048757600080fd5b506101d76104963660046117a2565b610c63565b3480156104a757600080fd5b506101d76104b6366004611696565b610c70565b3480156104c757600080fd5b50604051600481526020016101e1565b3480156104e357600080fd5b506104f76104f236600461190a565b610d1d565b60405190151581526020016101e1565b34801561051357600080fd5b50610182610522366004611785565b610d3f565b34801561053357600080fd5b506101d7600a81565b6105468484610d1d565b6105d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084015b60405180910390fd5b6105e384848484610df3565b50505050565b60006105f58484610c63565b905080341015610687576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4947503a20696e73756666696369656e7420696e746572636861696e2067617360448201527f207061796d656e7400000000000000000000000000000000000000000000000060648201526084016105ce565b6000610693823461197b565b905080156107385773ffffffffffffffffffffffffffffffffffffffff8316610718576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f6e6f20726566756e64206164647265737300000000000000000000000000000060448201526064016105ce565b61073873ffffffffffffffffffffffffffffffffffffffff841682610e8d565b604080518581526020810184905263ffffffff87169188917f65695c3748edae85a24cc2c60b299b31f463050bc259150d2e5802ec8d11720a910160405180910390a3505050505050565b61078b610fe7565b61079481611068565b50565b63ffffffff82166000908152606560205260408120546107de9083907401000000000000000000000000000000000000000090046bffffffffffffffffffffffff1661198e565b90505b92915050565b600054610100900460ff16158080156108075750600054600160ff909116105b806108215750303b158015610821575060005460ff166001145b6108ad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016105ce565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561090b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6109136110e1565b61091c83611180565b61092582611068565b801561098957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15b505050565b610996610fe7565b8060005b818110156105e357610a268484838181106109b7576109b76119a1565b6109cd92602060609092020190810191506117cc565b8585848181106109df576109df6119a1565b6109f89260406060909202019081019150602001611785565b868685818110610a0a57610a0a6119a1565b610a219260609182020190810191506040016119d0565b6111f7565b80610a30816119fe565b91505061099a565b60665460405160009173ffffffffffffffffffffffffffffffffffffffff169047908381818185875af1925050503d8060008114610a92576040519150601f19603f3d011682016040523d82523d6000602084013e610a97565b606091505b5050905080610794576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4947503a20636c61696d206661696c656400000000000000000000000000000060448201526064016105ce565b63ffffffff8116600090815260656020526040812054819073ffffffffffffffffffffffffffffffffffffffff1680610bb257610b448463ffffffff166112a4565b604051602001610b549190611a36565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526105ce916004016118b9565b6040517f60fcef7c00000000000000000000000000000000000000000000000000000000815263ffffffff8516600482015273ffffffffffffffffffffffffffffffffffffffff8216906360fcef7c906024016040805180830381865afa158015610c21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c459190611ac1565b9250925050915091565b610c57610fe7565b610c616000611180565b565b60006107de82600a611af4565b6000610c7c8585610d1d565b610d08576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084016105ce565b610d1485858585611362565b95945050505050565b60008115806107de57506001610d33848461137e565b61ffff16149392505050565b610d47610fe7565b73ffffffffffffffffffffffffffffffffffffffff8116610dea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016105ce565b61079481611180565b6105e3610e3583838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113cf92505050565b610e3f84846113da565b610e77610e4c86866113da565b6101d289897f00000000000000000000000000000000000000000000000000000000000000006113fd565b610192610e84878761144e565b89908990611460565b80471015610ef7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016105ce565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610f51576040519150601f19603f3d011682016040523d82523d6000602084013e610f56565b606091505b5050905080610989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016105ce565b60335473ffffffffffffffffffffffffffffffffffffffff163314610c61576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105ce565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527f04d55a8be181fb8d75b76f2d48aa0b2ee40f47e53d6e61763eeeec46feea8a249060200160405180910390a150565b600054610100900460ff16611178576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ce565b610c616114b2565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60408051808201825273ffffffffffffffffffffffffffffffffffffffff8481168083526bffffffffffffffffffffffff858116602080860182815263ffffffff8b16600081815260658452899020975191519094167401000000000000000000000000000000000000000002951694909417909455845190815291820152918201527f676a23191c2989bd7cc8446122cca792bcdaa0f2d6bbd9c30d8ca031ca94634390606001610980565b606060006112b183611552565b600101905060008167ffffffffffffffff8111156112d1576112d1611b0b565b6040519080825280601f01601f1916602001820160405280156112fb576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461130557509392505050565b6000610d1461137184846113da565b610496610e4c86866113da565b600061138b816002611b3a565b60ff1682101561139d575060006107e1565b826000836113ac826002611b3a565b60ff16926113bc93929190611b53565b6113c591611b7d565b60f01c9392505050565b805160209091012090565b60006113ea602d60298486611b53565b6113f391611bc5565b60e01c9392505050565b600061140b60226020611b3a565b60ff1683101561141c575080611447565b8360228461142b826020611b3a565b60ff169261143b93929190611b53565b61144491611c0b565b90505b9392505050565b60006107de61145d8484611634565b90565b600061146e60426014611b3a565b60ff1683101561147f575080611447565b8360428461148e826014611b3a565b60ff169261149e93929190611b53565b6114a791611c47565b60601c949350505050565b600054610100900460ff16611549576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ce565b610c6133611180565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061159b577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106115c7576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106115e557662386f26fc10000830492506010015b6305f5e10083106115fd576305f5e100830492506008015b612710831061161157612710830492506004015b60648310611623576064830492506002015b600a83106107e15760010192915050565b6000611644602960098486611b53565b6107de91611c0b565b60008083601f84011261165f57600080fd5b50813567ffffffffffffffff81111561167757600080fd5b60208301915083602082850101111561168f57600080fd5b9250929050565b600080600080604085870312156116ac57600080fd5b843567ffffffffffffffff808211156116c457600080fd5b6116d08883890161164d565b909650945060208701359150808211156116e957600080fd5b506116f68782880161164d565b95989497509550505050565b803563ffffffff8116811461171657600080fd5b919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461079457600080fd5b6000806000806080858703121561175357600080fd5b8435935061176360208601611702565b925060408501359150606085013561177a8161171b565b939692955090935050565b60006020828403121561179757600080fd5b81356114478161171b565b600080604083850312156117b557600080fd5b6117be83611702565b946020939093013593505050565b6000602082840312156117de57600080fd5b6107de82611702565b600080604083850312156117fa57600080fd5b82356118058161171b565b915060208301356118158161171b565b809150509250929050565b6000806020838503121561183357600080fd5b823567ffffffffffffffff8082111561184b57600080fd5b818501915085601f83011261185f57600080fd5b81358181111561186e57600080fd5b86602060608302850101111561188357600080fd5b60209290920196919550909350505050565b60005b838110156118b0578181015183820152602001611898565b50506000910152565b60208152600082518060208401526118d8816040850160208701611895565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b6000806020838503121561191d57600080fd5b823567ffffffffffffffff81111561193457600080fd5b6119408582860161164d565b90969095509350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156107e1576107e161194c565b808201808211156107e1576107e161194c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000602082840312156119e257600080fd5b81356bffffffffffffffffffffffff8116811461144757600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611a2f57611a2f61194c565b5060010190565b7f436f6e666967757265642049475020646f65736e277420737570706f7274206481527f6f6d61696e200000000000000000000000000000000000000000000000000000602082015260008251611a94816026850160208701611895565b9190910160260192915050565b80516fffffffffffffffffffffffffffffffff8116811461171657600080fd5b60008060408385031215611ad457600080fd5b611add83611aa1565b9150611aeb60208401611aa1565b90509250929050565b80820281158282048414176107e1576107e161194c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60ff81811683821601908111156107e1576107e161194c565b60008085851115611b6357600080fd5b83861115611b7057600080fd5b5050820193919092039150565b7fffff0000000000000000000000000000000000000000000000000000000000008135818116916002851015611bbd5780818660020360031b1b83161692505b505092915050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015611bbd5760049490940360031b84901b1690921692915050565b803560208310156107e1577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008135818116916014851015611bbd5760149490940360031b84901b169092169291505056fea2646970667358221220c3d8ee809638b278ab8baff14e0f00725d0ae86e57b6fac96d1d505567b89dca64736f6c63430008130033496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069";
16
16
  static readonly abi: readonly [{
17
17
  readonly inputs: readonly [];
18
18
  readonly stateMutability: "nonpayable";
@@ -481,7 +481,7 @@ const _abi = [
481
481
  type: "function",
482
482
  },
483
483
  ];
484
- const _bytecode = "0x60c060405261c35060a0523480156200001757600080fd5b50436080526200002833806200002e565b620002d9565b600054610100900460ff16158080156200004f5750600054600160ff909116105b806200006b5750303b1580156200006b575060005460ff166001145b620000d45760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015620000f8576000805461ff0019166101001790555b6200010262000164565b6200010d83620001cc565b62000118826200021e565b80156200015f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b600054610100900460ff16620001c05760405162461bcd60e51b815260206004820152602b602482015260008051602062001fc983398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000cb565b620001ca62000272565b565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606680546001600160a01b0319166001600160a01b0383169081179091556040519081527f04d55a8be181fb8d75b76f2d48aa0b2ee40f47e53d6e61763eeeec46feea8a249060200160405180910390a150565b600054610100900460ff16620002ce5760405162461bcd60e51b815260206004820152602b602482015260008051602062001fc983398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000cb565b620001ca33620001cc565b60805160a051611cc362000306600039600081816103a20152610e53015260006103d80152611cc36000f3fe60806040526004361061016a5760003560e01c8063715018a6116100cb578063a69297931161007f578063e5320bb911610059578063e5320bb9146104d7578063f2fde38b14610507578063fe173b971461052757600080fd5b8063a69297931461047b578063aaccd2301461049b578063e445e7dd146104bb57600080fd5b806382ea7bfe116100b057806382ea7bfe146103c65780638da5cb5b146103fa57806393c448471461042557600080fd5b8063715018a61461037e57806375ab2eca1461039357600080fd5b806343c467c01161012257806348f4e6c11161010757806348f4e6c1146103005780634e71d92d1461032057806360fcef7c1461033557600080fd5b806343c467c01461023c578063485cc955146102e057600080fd5b80631c31f710116101535780631c31f7101461019757806326d5b1a6146101b757806338af3eed146101ea57600080fd5b8063086011b91461016f57806311bf2c1814610184575b600080fd5b61018261017d366004611696565b61053c565b005b61018261019236600461173d565b6105e9565b3480156101a357600080fd5b506101826101b2366004611785565b610783565b3480156101c357600080fd5b506101d76101d23660046117a2565b610797565b6040519081526020015b60405180910390f35b3480156101f657600080fd5b506066546102179073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101e1565b34801561024857600080fd5b506102a76102573660046117cc565b60656020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff8116907401000000000000000000000000000000000000000090046bffffffffffffffffffffffff1682565b6040805173ffffffffffffffffffffffffffffffffffffffff90931683526bffffffffffffffffffffffff9091166020830152016101e1565b3480156102ec57600080fd5b506101826102fb3660046117e7565b6107e7565b34801561030c57600080fd5b5061018261031b366004611820565b61098e565b34801561032c57600080fd5b50610182610a38565b34801561034157600080fd5b506103556103503660046117cc565b610b02565b604080516fffffffffffffffffffffffffffffffff9384168152929091166020830152016101e1565b34801561038a57600080fd5b50610182610c4f565b34801561039f57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006101d7565b3480156103d257600080fd5b506101d77f000000000000000000000000000000000000000000000000000000000000000081565b34801561040657600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff16610217565b34801561043157600080fd5b5061046e6040518060400160405280600581526020017f352e342e3100000000000000000000000000000000000000000000000000000081525081565b6040516101e191906118b9565b34801561048757600080fd5b506101d76104963660046117a2565b610c63565b3480156104a757600080fd5b506101d76104b6366004611696565b610c70565b3480156104c757600080fd5b50604051600481526020016101e1565b3480156104e357600080fd5b506104f76104f236600461190a565b610d1d565b60405190151581526020016101e1565b34801561051357600080fd5b50610182610522366004611785565b610d3f565b34801561053357600080fd5b506101d7600a81565b6105468484610d1d565b6105d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084015b60405180910390fd5b6105e384848484610df3565b50505050565b60006105f58484610c63565b905080341015610687576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4947503a20696e73756666696369656e7420696e746572636861696e2067617360448201527f207061796d656e7400000000000000000000000000000000000000000000000060648201526084016105ce565b6000610693823461197b565b905080156107385773ffffffffffffffffffffffffffffffffffffffff8316610718576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f6e6f20726566756e64206164647265737300000000000000000000000000000060448201526064016105ce565b61073873ffffffffffffffffffffffffffffffffffffffff841682610e8d565b604080518581526020810184905263ffffffff87169188917f65695c3748edae85a24cc2c60b299b31f463050bc259150d2e5802ec8d11720a910160405180910390a3505050505050565b61078b610fe7565b61079481611068565b50565b63ffffffff82166000908152606560205260408120546107de9083907401000000000000000000000000000000000000000090046bffffffffffffffffffffffff1661198e565b90505b92915050565b600054610100900460ff16158080156108075750600054600160ff909116105b806108215750303b158015610821575060005460ff166001145b6108ad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016105ce565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561090b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6109136110e1565b61091c83611180565b61092582611068565b801561098957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15b505050565b610996610fe7565b8060005b818110156105e357610a268484838181106109b7576109b76119a1565b6109cd92602060609092020190810191506117cc565b8585848181106109df576109df6119a1565b6109f89260406060909202019081019150602001611785565b868685818110610a0a57610a0a6119a1565b610a219260609182020190810191506040016119d0565b6111f7565b80610a30816119fe565b91505061099a565b60665460405160009173ffffffffffffffffffffffffffffffffffffffff169047908381818185875af1925050503d8060008114610a92576040519150601f19603f3d011682016040523d82523d6000602084013e610a97565b606091505b5050905080610794576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4947503a20636c61696d206661696c656400000000000000000000000000000060448201526064016105ce565b63ffffffff8116600090815260656020526040812054819073ffffffffffffffffffffffffffffffffffffffff1680610bb257610b448463ffffffff166112a4565b604051602001610b549190611a36565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526105ce916004016118b9565b6040517f60fcef7c00000000000000000000000000000000000000000000000000000000815263ffffffff8516600482015273ffffffffffffffffffffffffffffffffffffffff8216906360fcef7c906024016040805180830381865afa158015610c21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c459190611ac1565b9250925050915091565b610c57610fe7565b610c616000611180565b565b60006107de82600a611af4565b6000610c7c8585610d1d565b610d08576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084016105ce565b610d1485858585611362565b95945050505050565b60008115806107de57506001610d33848461137e565b61ffff16149392505050565b610d47610fe7565b73ffffffffffffffffffffffffffffffffffffffff8116610dea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016105ce565b61079481611180565b6105e3610e3583838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113cf92505050565b610e3f84846113da565b610e77610e4c86866113da565b6101d289897f00000000000000000000000000000000000000000000000000000000000000006113fd565b610192610e84878761144e565b89908990611460565b80471015610ef7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016105ce565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610f51576040519150601f19603f3d011682016040523d82523d6000602084013e610f56565b606091505b5050905080610989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016105ce565b60335473ffffffffffffffffffffffffffffffffffffffff163314610c61576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105ce565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527f04d55a8be181fb8d75b76f2d48aa0b2ee40f47e53d6e61763eeeec46feea8a249060200160405180910390a150565b600054610100900460ff16611178576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ce565b610c616114b2565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60408051808201825273ffffffffffffffffffffffffffffffffffffffff8481168083526bffffffffffffffffffffffff858116602080860182815263ffffffff8b16600081815260658452899020975191519094167401000000000000000000000000000000000000000002951694909417909455845190815291820152918201527f676a23191c2989bd7cc8446122cca792bcdaa0f2d6bbd9c30d8ca031ca94634390606001610980565b606060006112b183611552565b600101905060008167ffffffffffffffff8111156112d1576112d1611b0b565b6040519080825280601f01601f1916602001820160405280156112fb576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461130557509392505050565b6000610d1461137184846113da565b610496610e4c86866113da565b600061138b816002611b3a565b60ff1682101561139d575060006107e1565b826000836113ac826002611b3a565b60ff16926113bc93929190611b53565b6113c591611b7d565b60f01c9392505050565b805160209091012090565b60006113ea602d60298486611b53565b6113f391611bc5565b60e01c9392505050565b600061140b60226020611b3a565b60ff1683101561141c575080611447565b8360228461142b826020611b3a565b60ff169261143b93929190611b53565b61144491611c0b565b90505b9392505050565b60006107de61145d8484611634565b90565b600061146e60426014611b3a565b60ff1683101561147f575080611447565b8360428461148e826014611b3a565b60ff169261149e93929190611b53565b6114a791611c47565b60601c949350505050565b600054610100900460ff16611549576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ce565b610c6133611180565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061159b577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106115c7576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106115e557662386f26fc10000830492506010015b6305f5e10083106115fd576305f5e100830492506008015b612710831061161157612710830492506004015b60648310611623576064830492506002015b600a83106107e15760010192915050565b6000611644602960098486611b53565b6107de91611c0b565b60008083601f84011261165f57600080fd5b50813567ffffffffffffffff81111561167757600080fd5b60208301915083602082850101111561168f57600080fd5b9250929050565b600080600080604085870312156116ac57600080fd5b843567ffffffffffffffff808211156116c457600080fd5b6116d08883890161164d565b909650945060208701359150808211156116e957600080fd5b506116f68782880161164d565b95989497509550505050565b803563ffffffff8116811461171657600080fd5b919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461079457600080fd5b6000806000806080858703121561175357600080fd5b8435935061176360208601611702565b925060408501359150606085013561177a8161171b565b939692955090935050565b60006020828403121561179757600080fd5b81356114478161171b565b600080604083850312156117b557600080fd5b6117be83611702565b946020939093013593505050565b6000602082840312156117de57600080fd5b6107de82611702565b600080604083850312156117fa57600080fd5b82356118058161171b565b915060208301356118158161171b565b809150509250929050565b6000806020838503121561183357600080fd5b823567ffffffffffffffff8082111561184b57600080fd5b818501915085601f83011261185f57600080fd5b81358181111561186e57600080fd5b86602060608302850101111561188357600080fd5b60209290920196919550909350505050565b60005b838110156118b0578181015183820152602001611898565b50506000910152565b60208152600082518060208401526118d8816040850160208701611895565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b6000806020838503121561191d57600080fd5b823567ffffffffffffffff81111561193457600080fd5b6119408582860161164d565b90969095509350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156107e1576107e161194c565b808201808211156107e1576107e161194c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000602082840312156119e257600080fd5b81356bffffffffffffffffffffffff8116811461144757600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611a2f57611a2f61194c565b5060010190565b7f436f6e666967757265642049475020646f65736e277420737570706f7274206481527f6f6d61696e200000000000000000000000000000000000000000000000000000602082015260008251611a94816026850160208701611895565b9190910160260192915050565b80516fffffffffffffffffffffffffffffffff8116811461171657600080fd5b60008060408385031215611ad457600080fd5b611add83611aa1565b9150611aeb60208401611aa1565b90509250929050565b80820281158282048414176107e1576107e161194c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60ff81811683821601908111156107e1576107e161194c565b60008085851115611b6357600080fd5b83861115611b7057600080fd5b5050820193919092039150565b7fffff0000000000000000000000000000000000000000000000000000000000008135818116916002851015611bbd5780818660020360031b1b83161692505b505092915050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015611bbd5760049490940360031b84901b1690921692915050565b803560208310156107e1577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008135818116916014851015611bbd5760149490940360031b84901b169092169291505056fea26469706673582212202d10a649c1877c247c074e752cd1eb8fcaed6e575957e5eaebc4b2fdb287208c64736f6c63430008130033496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069";
484
+ const _bytecode = "0x60c060405261c35060a0523480156200001757600080fd5b50436080526200002833806200002e565b620002d9565b600054610100900460ff16158080156200004f5750600054600160ff909116105b806200006b5750303b1580156200006b575060005460ff166001145b620000d45760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015620000f8576000805461ff0019166101001790555b6200010262000164565b6200010d83620001cc565b62000118826200021e565b80156200015f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b600054610100900460ff16620001c05760405162461bcd60e51b815260206004820152602b602482015260008051602062001fc983398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000cb565b620001ca62000272565b565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606680546001600160a01b0319166001600160a01b0383169081179091556040519081527f04d55a8be181fb8d75b76f2d48aa0b2ee40f47e53d6e61763eeeec46feea8a249060200160405180910390a150565b600054610100900460ff16620002ce5760405162461bcd60e51b815260206004820152602b602482015260008051602062001fc983398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000cb565b620001ca33620001cc565b60805160a051611cc362000306600039600081816103a20152610e53015260006103d80152611cc36000f3fe60806040526004361061016a5760003560e01c8063715018a6116100cb578063a69297931161007f578063e5320bb911610059578063e5320bb9146104d7578063f2fde38b14610507578063fe173b971461052757600080fd5b8063a69297931461047b578063aaccd2301461049b578063e445e7dd146104bb57600080fd5b806382ea7bfe116100b057806382ea7bfe146103c65780638da5cb5b146103fa57806393c448471461042557600080fd5b8063715018a61461037e57806375ab2eca1461039357600080fd5b806343c467c01161012257806348f4e6c11161010757806348f4e6c1146103005780634e71d92d1461032057806360fcef7c1461033557600080fd5b806343c467c01461023c578063485cc955146102e057600080fd5b80631c31f710116101535780631c31f7101461019757806326d5b1a6146101b757806338af3eed146101ea57600080fd5b8063086011b91461016f57806311bf2c1814610184575b600080fd5b61018261017d366004611696565b61053c565b005b61018261019236600461173d565b6105e9565b3480156101a357600080fd5b506101826101b2366004611785565b610783565b3480156101c357600080fd5b506101d76101d23660046117a2565b610797565b6040519081526020015b60405180910390f35b3480156101f657600080fd5b506066546102179073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101e1565b34801561024857600080fd5b506102a76102573660046117cc565b60656020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff8116907401000000000000000000000000000000000000000090046bffffffffffffffffffffffff1682565b6040805173ffffffffffffffffffffffffffffffffffffffff90931683526bffffffffffffffffffffffff9091166020830152016101e1565b3480156102ec57600080fd5b506101826102fb3660046117e7565b6107e7565b34801561030c57600080fd5b5061018261031b366004611820565b61098e565b34801561032c57600080fd5b50610182610a38565b34801561034157600080fd5b506103556103503660046117cc565b610b02565b604080516fffffffffffffffffffffffffffffffff9384168152929091166020830152016101e1565b34801561038a57600080fd5b50610182610c4f565b34801561039f57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006101d7565b3480156103d257600080fd5b506101d77f000000000000000000000000000000000000000000000000000000000000000081565b34801561040657600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff16610217565b34801561043157600080fd5b5061046e6040518060400160405280601281526020017f352e342e322d7375706572636861696e2e30000000000000000000000000000081525081565b6040516101e191906118b9565b34801561048757600080fd5b506101d76104963660046117a2565b610c63565b3480156104a757600080fd5b506101d76104b6366004611696565b610c70565b3480156104c757600080fd5b50604051600481526020016101e1565b3480156104e357600080fd5b506104f76104f236600461190a565b610d1d565b60405190151581526020016101e1565b34801561051357600080fd5b50610182610522366004611785565b610d3f565b34801561053357600080fd5b506101d7600a81565b6105468484610d1d565b6105d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084015b60405180910390fd5b6105e384848484610df3565b50505050565b60006105f58484610c63565b905080341015610687576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4947503a20696e73756666696369656e7420696e746572636861696e2067617360448201527f207061796d656e7400000000000000000000000000000000000000000000000060648201526084016105ce565b6000610693823461197b565b905080156107385773ffffffffffffffffffffffffffffffffffffffff8316610718576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f6e6f20726566756e64206164647265737300000000000000000000000000000060448201526064016105ce565b61073873ffffffffffffffffffffffffffffffffffffffff841682610e8d565b604080518581526020810184905263ffffffff87169188917f65695c3748edae85a24cc2c60b299b31f463050bc259150d2e5802ec8d11720a910160405180910390a3505050505050565b61078b610fe7565b61079481611068565b50565b63ffffffff82166000908152606560205260408120546107de9083907401000000000000000000000000000000000000000090046bffffffffffffffffffffffff1661198e565b90505b92915050565b600054610100900460ff16158080156108075750600054600160ff909116105b806108215750303b158015610821575060005460ff166001145b6108ad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016105ce565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561090b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6109136110e1565b61091c83611180565b61092582611068565b801561098957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15b505050565b610996610fe7565b8060005b818110156105e357610a268484838181106109b7576109b76119a1565b6109cd92602060609092020190810191506117cc565b8585848181106109df576109df6119a1565b6109f89260406060909202019081019150602001611785565b868685818110610a0a57610a0a6119a1565b610a219260609182020190810191506040016119d0565b6111f7565b80610a30816119fe565b91505061099a565b60665460405160009173ffffffffffffffffffffffffffffffffffffffff169047908381818185875af1925050503d8060008114610a92576040519150601f19603f3d011682016040523d82523d6000602084013e610a97565b606091505b5050905080610794576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4947503a20636c61696d206661696c656400000000000000000000000000000060448201526064016105ce565b63ffffffff8116600090815260656020526040812054819073ffffffffffffffffffffffffffffffffffffffff1680610bb257610b448463ffffffff166112a4565b604051602001610b549190611a36565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526105ce916004016118b9565b6040517f60fcef7c00000000000000000000000000000000000000000000000000000000815263ffffffff8516600482015273ffffffffffffffffffffffffffffffffffffffff8216906360fcef7c906024016040805180830381865afa158015610c21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c459190611ac1565b9250925050915091565b610c57610fe7565b610c616000611180565b565b60006107de82600a611af4565b6000610c7c8585610d1d565b610d08576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084016105ce565b610d1485858585611362565b95945050505050565b60008115806107de57506001610d33848461137e565b61ffff16149392505050565b610d47610fe7565b73ffffffffffffffffffffffffffffffffffffffff8116610dea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016105ce565b61079481611180565b6105e3610e3583838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113cf92505050565b610e3f84846113da565b610e77610e4c86866113da565b6101d289897f00000000000000000000000000000000000000000000000000000000000000006113fd565b610192610e84878761144e565b89908990611460565b80471015610ef7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016105ce565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610f51576040519150601f19603f3d011682016040523d82523d6000602084013e610f56565b606091505b5050905080610989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016105ce565b60335473ffffffffffffffffffffffffffffffffffffffff163314610c61576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105ce565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527f04d55a8be181fb8d75b76f2d48aa0b2ee40f47e53d6e61763eeeec46feea8a249060200160405180910390a150565b600054610100900460ff16611178576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ce565b610c616114b2565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60408051808201825273ffffffffffffffffffffffffffffffffffffffff8481168083526bffffffffffffffffffffffff858116602080860182815263ffffffff8b16600081815260658452899020975191519094167401000000000000000000000000000000000000000002951694909417909455845190815291820152918201527f676a23191c2989bd7cc8446122cca792bcdaa0f2d6bbd9c30d8ca031ca94634390606001610980565b606060006112b183611552565b600101905060008167ffffffffffffffff8111156112d1576112d1611b0b565b6040519080825280601f01601f1916602001820160405280156112fb576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461130557509392505050565b6000610d1461137184846113da565b610496610e4c86866113da565b600061138b816002611b3a565b60ff1682101561139d575060006107e1565b826000836113ac826002611b3a565b60ff16926113bc93929190611b53565b6113c591611b7d565b60f01c9392505050565b805160209091012090565b60006113ea602d60298486611b53565b6113f391611bc5565b60e01c9392505050565b600061140b60226020611b3a565b60ff1683101561141c575080611447565b8360228461142b826020611b3a565b60ff169261143b93929190611b53565b61144491611c0b565b90505b9392505050565b60006107de61145d8484611634565b90565b600061146e60426014611b3a565b60ff1683101561147f575080611447565b8360428461148e826014611b3a565b60ff169261149e93929190611b53565b6114a791611c47565b60601c949350505050565b600054610100900460ff16611549576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016105ce565b610c6133611180565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061159b577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106115c7576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106115e557662386f26fc10000830492506010015b6305f5e10083106115fd576305f5e100830492506008015b612710831061161157612710830492506004015b60648310611623576064830492506002015b600a83106107e15760010192915050565b6000611644602960098486611b53565b6107de91611c0b565b60008083601f84011261165f57600080fd5b50813567ffffffffffffffff81111561167757600080fd5b60208301915083602082850101111561168f57600080fd5b9250929050565b600080600080604085870312156116ac57600080fd5b843567ffffffffffffffff808211156116c457600080fd5b6116d08883890161164d565b909650945060208701359150808211156116e957600080fd5b506116f68782880161164d565b95989497509550505050565b803563ffffffff8116811461171657600080fd5b919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461079457600080fd5b6000806000806080858703121561175357600080fd5b8435935061176360208601611702565b925060408501359150606085013561177a8161171b565b939692955090935050565b60006020828403121561179757600080fd5b81356114478161171b565b600080604083850312156117b557600080fd5b6117be83611702565b946020939093013593505050565b6000602082840312156117de57600080fd5b6107de82611702565b600080604083850312156117fa57600080fd5b82356118058161171b565b915060208301356118158161171b565b809150509250929050565b6000806020838503121561183357600080fd5b823567ffffffffffffffff8082111561184b57600080fd5b818501915085601f83011261185f57600080fd5b81358181111561186e57600080fd5b86602060608302850101111561188357600080fd5b60209290920196919550909350505050565b60005b838110156118b0578181015183820152602001611898565b50506000910152565b60208152600082518060208401526118d8816040850160208701611895565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b6000806020838503121561191d57600080fd5b823567ffffffffffffffff81111561193457600080fd5b6119408582860161164d565b90969095509350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156107e1576107e161194c565b808201808211156107e1576107e161194c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000602082840312156119e257600080fd5b81356bffffffffffffffffffffffff8116811461144757600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611a2f57611a2f61194c565b5060010190565b7f436f6e666967757265642049475020646f65736e277420737570706f7274206481527f6f6d61696e200000000000000000000000000000000000000000000000000000602082015260008251611a94816026850160208701611895565b9190910160260192915050565b80516fffffffffffffffffffffffffffffffff8116811461171657600080fd5b60008060408385031215611ad457600080fd5b611add83611aa1565b9150611aeb60208401611aa1565b90509250929050565b80820281158282048414176107e1576107e161194c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60ff81811683821601908111156107e1576107e161194c565b60008085851115611b6357600080fd5b83861115611b7057600080fd5b5050820193919092039150565b7fffff0000000000000000000000000000000000000000000000000000000000008135818116916002851015611bbd5780818660020360031b1b83161692505b505092915050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015611bbd5760049490940360031b84901b1690921692915050565b803560208310156107e1577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008135818116916014851015611bbd5760149490940360031b84901b169092169291505056fea2646970667358221220c3d8ee809638b278ab8baff14e0f00725d0ae86e57b6fac96d1d505567b89dca64736f6c63430008130033496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069";
485
485
  const isSuperArgs = (xs) => xs.length > 1;
486
486
  export class TestInterchainGasPaymaster__factory extends ContractFactory {
487
487
  constructor(...args) {
@@ -12,7 +12,7 @@ export declare class TestIsm__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): TestIsm;
14
14
  connect(signer: Signer): TestIsm__factory;
15
- static readonly bytecode = "0x60806040526000805461ffff191661010617905534801561001f57600080fd5b506101f68061002f6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80636465e69f14610046578063951a291f1461006a578063f7e83aee146100b1575b600080fd5b6000546100539060ff1681565b60405160ff90911681526020015b60405180910390f35b6100af6100783660046100e2565b60008054911515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909216919091179055565b005b6100d26100bf366004610154565b5050600054610100900460ff1692915050565b6040519015158152602001610061565b6000602082840312156100f457600080fd5b8135801515811461010457600080fd5b9392505050565b60008083601f84011261011d57600080fd5b50813567ffffffffffffffff81111561013557600080fd5b60208301915083602082850101111561014d57600080fd5b9250929050565b6000806000806040858703121561016a57600080fd5b843567ffffffffffffffff8082111561018257600080fd5b61018e8883890161010b565b909650945060208701359150808211156101a757600080fd5b506101b48782880161010b565b9598949750955050505056fea26469706673582212205c62d9d06eb00c95266c19a1b95fedb97cd1c1abbff932b8822b7f9c8345cc9964736f6c63430008130033";
15
+ static readonly bytecode = "0x60806040526000805461ffff191661010617905534801561001f57600080fd5b506101f68061002f6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80636465e69f14610046578063951a291f1461006a578063f7e83aee146100b1575b600080fd5b6000546100539060ff1681565b60405160ff90911681526020015b60405180910390f35b6100af6100783660046100e2565b60008054911515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909216919091179055565b005b6100d26100bf366004610154565b5050600054610100900460ff1692915050565b6040519015158152602001610061565b6000602082840312156100f457600080fd5b8135801515811461010457600080fd5b9392505050565b60008083601f84011261011d57600080fd5b50813567ffffffffffffffff81111561013557600080fd5b60208301915083602082850101111561014d57600080fd5b9250929050565b6000806000806040858703121561016a57600080fd5b843567ffffffffffffffff8082111561018257600080fd5b61018e8883890161010b565b909650945060208701359150808211156101a757600080fd5b506101b48782880161010b565b9598949750955050505056fea264697066735822122091672d383adf8b3f026be1c21157d636815ab76649c985de1a1977dc7733575564736f6c63430008130033";
16
16
  static readonly abi: readonly [{
17
17
  readonly inputs: readonly [];
18
18
  readonly name: "moduleType";
@@ -54,7 +54,7 @@ const _abi = [
54
54
  type: "function",
55
55
  },
56
56
  ];
57
- const _bytecode = "0x60806040526000805461ffff191661010617905534801561001f57600080fd5b506101f68061002f6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80636465e69f14610046578063951a291f1461006a578063f7e83aee146100b1575b600080fd5b6000546100539060ff1681565b60405160ff90911681526020015b60405180910390f35b6100af6100783660046100e2565b60008054911515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909216919091179055565b005b6100d26100bf366004610154565b5050600054610100900460ff1692915050565b6040519015158152602001610061565b6000602082840312156100f457600080fd5b8135801515811461010457600080fd5b9392505050565b60008083601f84011261011d57600080fd5b50813567ffffffffffffffff81111561013557600080fd5b60208301915083602082850101111561014d57600080fd5b9250929050565b6000806000806040858703121561016a57600080fd5b843567ffffffffffffffff8082111561018257600080fd5b61018e8883890161010b565b909650945060208701359150808211156101a757600080fd5b506101b48782880161010b565b9598949750955050505056fea26469706673582212205c62d9d06eb00c95266c19a1b95fedb97cd1c1abbff932b8822b7f9c8345cc9964736f6c63430008130033";
57
+ const _bytecode = "0x60806040526000805461ffff191661010617905534801561001f57600080fd5b506101f68061002f6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80636465e69f14610046578063951a291f1461006a578063f7e83aee146100b1575b600080fd5b6000546100539060ff1681565b60405160ff90911681526020015b60405180910390f35b6100af6100783660046100e2565b60008054911515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909216919091179055565b005b6100d26100bf366004610154565b5050600054610100900460ff1692915050565b6040519015158152602001610061565b6000602082840312156100f457600080fd5b8135801515811461010457600080fd5b9392505050565b60008083601f84011261011d57600080fd5b50813567ffffffffffffffff81111561013557600080fd5b60208301915083602082850101111561014d57600080fd5b9250929050565b6000806000806040858703121561016a57600080fd5b843567ffffffffffffffff8082111561018257600080fd5b61018e8883890161010b565b909650945060208701359150808211156101a757600080fd5b506101b48782880161010b565b9598949750955050505056fea264697066735822122091672d383adf8b3f026be1c21157d636815ab76649c985de1a1977dc7733575564736f6c63430008130033";
58
58
  const isSuperArgs = (xs) => xs.length > 1;
59
59
  export class TestIsm__factory extends ContractFactory {
60
60
  constructor(...args) {
@@ -12,7 +12,7 @@ export declare class TestMailbox__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): TestMailbox;
14
14
  connect(signer: Signer): TestMailbox__factory;
15
- static readonly bytecode = "0x60c06040523480156200001157600080fd5b50604051620024a5380380620024a58339810160408190526200003491620000a6565b4360805263ffffffff811660a0526200004d3362000054565b50620000d5565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600060208284031215620000b957600080fd5b815163ffffffff81168114620000ce57600080fd5b9392505050565b60805160a051612395620001106000396000818161046f01528181610bd701528181610c9401526118f40152600061043b01526123956000f3fe6080604052600436106101d85760003560e01c80638d3638f411610102578063e495f1d411610095578063f7ccd32111610064578063f7ccd32114610683578063f8c8765e146106a3578063fa31de01146106c3578063ffa1ad74146106d657600080fd5b8063e495f1d4146105c4578063e70f48ac14610623578063f2fde38b14610643578063f794687a1461066357600080fd5b80639c42bd18116100d15780639c42bd181461053a578063affed0e01461055a578063d0639c1014610577578063d6d08a091461059757600080fd5b80638d3638f41461045d5780638da5cb5b146104a657806393c44847146104d157806399b048091461051a57600080fd5b80635d1fe5a91161017a578063715018a611610149578063715018a6146103e15780637c39d130146103f657806381d2ea951461040957806382ea7bfe1461042957600080fd5b80635d1fe5a9146103245780636093bbff146103675780636781759b146103875780636e5f516e146103b457600080fd5b8063134fbb4f116101b6578063134fbb4f146102895780631426b7f41461029f5780633d1250b7146102bf57806348aee8d41461031157600080fd5b806307a2fda1146101dd578063082548ec1461024657806310b83dc014610268575b600080fd5b3480156101e957600080fd5b5061022a6101f8366004611c52565b6000908152606a602052604090205474010000000000000000000000000000000000000000900465ffffffffffff1690565b60405165ffffffffffff90911681526020015b60405180910390f35b34801561025257600080fd5b50610266610261366004611cc6565b6106fd565b005b61027b610276366004611d50565b61078e565b60405190815260200161023d565b34801561029557600080fd5b5061027b60665481565b3480156102ab57600080fd5b506102666102ba366004611dee565b610a62565b3480156102cb57600080fd5b506068546102ec9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161023d565b61027b61031f366004611e0b565b610b82565b34801561033057600080fd5b506102ec61033f366004611c52565b6000908152606a602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b34801561037357600080fd5b50610266610382366004611c52565b606655565b34801561039357600080fd5b506103a76103a2366004611cc6565b610bc0565b60405161023d9190611f03565b3480156103c057600080fd5b506067546102ec9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156103ed57600080fd5b50610266610c08565b610266610404366004611f16565b610c1c565b34801561041557600080fd5b5061027b610424366004611d50565b6110be565b34801561043557600080fd5b5061027b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561046957600080fd5b506104917f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff909116815260200161023d565b3480156104b257600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166102ec565b3480156104dd57600080fd5b506103a76040518060400160405280600581526020017f352e342e3100000000000000000000000000000000000000000000000000000081525081565b34801561052657600080fd5b50610266610535366004611dee565b611251565b34801561054657600080fd5b5061027b610555366004611f82565b61136c565b34801561056657600080fd5b506065546104919063ffffffff1681565b34801561058357600080fd5b506103a7610592366004611f82565b6113a8565b3480156105a357600080fd5b506069546102ec9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156105d057600080fd5b506106136105df366004611c52565b6000908152606a602052604090205474010000000000000000000000000000000000000000900465ffffffffffff16151590565b604051901515815260200161023d565b34801561062f57600080fd5b506102ec61063e366004611dee565b6113b6565b34801561064f57600080fd5b5061026661065e366004611dee565b6114ed565b34801561066f57600080fd5b5061026661067e366004611dee565b6115a4565b34801561068f57600080fd5b5061027b61069e366004611e0b565b6116bf565b3480156106af57600080fd5b506102666106be366004611fd0565b6116f2565b61027b6106d1366004611f82565b6118ac565b3480156106e257600080fd5b506106eb600381565b60405160ff909116815260200161023d565b6040517f56d5d47500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906356d5d47590610755908890889087908790600401612075565b600060405180830381600087803b15801561076f57600080fd5b505af1158015610783573d6000803e3d6000fd5b505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82166107c75760685473ffffffffffffffffffffffffffffffffffffffff1691505b60006107d5898989896118df565b8051602082012060668190556065805492935090916001919060009061080290849063ffffffff166120ca565b92506101000a81548163ffffffff021916908363ffffffff160217905550888a63ffffffff163373ffffffffffffffffffffffffffffffffffffffff167f769f711d20c679153d382254f59892613b58a97cc876b249134ac25c80f9c8148560405161086e9190611f03565b60405180910390a460405181907f788dbc1b7152732178210e7f4d9d010ef016f9eafbe66786bd7169f56e0c353a90600090a26069546040517faaccd23000000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff169063aaccd230906108fc908a908a9088906004016120ee565b602060405180830381865afa158015610919573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093d9190612114565b90508034101561094a5750345b6069546040517f086011b900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063086011b99083906109a6908b908b9089906004016120ee565b6000604051808303818588803b1580156109bf57600080fd5b505af11580156109d3573d6000803e3d6000fd5b50505050508473ffffffffffffffffffffffffffffffffffffffff1663086011b98234610a00919061212d565b8989876040518563ffffffff1660e01b8152600401610a21939291906120ee565b6000604051808303818588803b158015610a3a57600080fd5b505af1158015610a4e573d6000803e3d6000fd5b50949e9d5050505050505050505050505050565b610a6a611928565b73ffffffffffffffffffffffffffffffffffffffff81163b610b13576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4d61696c626f783a20726571756972656420686f6f6b206e6f7420636f6e747260448201527f616374000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b606980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f329ec8e2438a73828ecf31a6568d7a91d7b1d79e342b0692914fd053d1a002b190600090a250565b6000610bb5878787878787606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661078e565b979650505050505050565b606554606090610bfe9060039063ffffffff1688877f00000000000000000000000000000000000000000000000000000000000000008a89896119a9565b9695505050505050565b610c10611928565b610c1a60006119e7565b565b6003610c288383611a5e565b60ff1614610c92576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4d61696c626f783a206261642076657273696f6e0000000000000000000000006044820152606401610b0a565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff16610cc38383611a82565b63ffffffff1614610d30576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4d61696c626f783a20756e65787065637465642064657374696e6174696f6e006044820152606401610b0a565b6000610d7183838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061191d92505050565b6000818152606a602052604090205490915074010000000000000000000000000000000000000000900465ffffffffffff1615610e0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4d61696c626f783a20616c72656164792064656c6976657265640000000000006044820152606401610b0a565b6000610e168484611aa5565b90506000610e23826113b6565b60408051808201825233815265ffffffffffff43811660208084019182526000898152606a9091529390932091518254935190911674010000000000000000000000000000000000000000027fffffffffffff000000000000000000000000000000000000000000000000000090931673ffffffffffffffffffffffffffffffffffffffff918216179290921790559091508216610ec18686611abe565b610ecb8787611ad7565b63ffffffff167f0d381c2a574ae8f04e213db7cfb4df8df712cdbd427d9868ffef380660ca657460405160405180910390a460405183907f1cae38cdd3d3919489272725a5ae62a4f48b2989b0dae843d3c279fee18073a990600090a26040517ff7e83aee00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063f7e83aee90610f80908a908a908a908a90600401612140565b6020604051808303816000875af1158015610f9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc39190612167565b611029576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4d61696c626f783a2049534d20766572696669636174696f6e206661696c65646044820152606401610b0a565b8173ffffffffffffffffffffffffffffffffffffffff166356d5d475346110508888611ad7565b61105a8989611abe565b6110648a8a611ae7565b6040518663ffffffff1660e01b81526004016110839493929190612075565b6000604051808303818588803b15801561109c57600080fd5b505af11580156110b0573d6000803e3d6000fd5b505050505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82166110f75760685473ffffffffffffffffffffffffffffffffffffffff1691505b6000611105898989896118df565b6040517faaccd23000000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff84169063aaccd2309061115e908890889086906004016120ee565b602060405180830381865afa15801561117b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119f9190612114565b6069546040517faaccd23000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063aaccd230906111f9908990899087906004016120ee565b602060405180830381865afa158015611216573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123a9190612114565b6112449190612189565b9998505050505050505050565b611259611928565b73ffffffffffffffffffffffffffffffffffffffff81163b6112fd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4d61696c626f783a2064656661756c7420686f6f6b206e6f7420636f6e74726160448201527f63740000000000000000000000000000000000000000000000000000000000006064820152608401610b0a565b606880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f65a63e5066ee2fcdf9d32a7f1bf7ce71c76066f19d0609dddccd334ab87237d790600090a250565b600061139f858585856113818680838561219c565b60685473ffffffffffffffffffffffffffffffffffffffff166110be565b95945050505050565b606061139f858585856118df565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fde523cf30000000000000000000000000000000000000000000000000000000017905290516000918291829173ffffffffffffffffffffffffffffffffffffffff86169161143791906121c6565b600060405180830381855afa9150503d8060008114611472576040519150601f19603f3d011682016040523d82523d6000602084013e611477565b606091505b50915091508180156114895750805115155b156114cc576000818060200190518101906114a491906121e2565b905073ffffffffffffffffffffffffffffffffffffffff8116156114ca57949350505050565b505b505060675473ffffffffffffffffffffffffffffffffffffffff1692915050565b6114f5611928565b73ffffffffffffffffffffffffffffffffffffffff8116611598576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610b0a565b6115a1816119e7565b50565b6115ac611928565b73ffffffffffffffffffffffffffffffffffffffff81163b611650576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f783a2064656661756c742049534d206e6f7420636f6e7472616360448201527f74000000000000000000000000000000000000000000000000000000000000006064820152608401610b0a565b606780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fa76ad0adbf45318f8633aa0210f711273d50fbb6fef76ed95bbae97082c75daa90600090a250565b6000610bb5878787878787606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166110be565b600054610100900460ff16158080156117125750600054600160ff909116105b8061172c5750303b15801561172c575060005460ff166001145b6117b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610b0a565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561181657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61181e611b03565b611827846115a4565b61183083611251565b61183982610a62565b611842856114ed565b80156118a557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b600061139f858585856118c18680838561219c565b60685473ffffffffffffffffffffffffffffffffffffffff1661078e565b60655460609061139f9060039063ffffffff167f000000000000000000000000000000000000000000000000000000000000000033898989896119a9565b805160209091012090565b60335473ffffffffffffffffffffffffffffffffffffffff163314610c1a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b0a565b606088888888888888886040516020016119ca9897969594939291906121ff565b604051602081830303815290604052905098975050505050505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000611a6d600182848661219c565b611a7691612295565b60f81c90505b92915050565b6000611a92602d6029848661219c565b611a9b916122dd565b60e01c9392505050565b6000611ab7611ab48484611ba2565b90565b9392505050565b6000611ace60296009848661219c565b611ab791612323565b6000611a9260096005848661219c565b366000611af783604d818761219c565b915091505b9250929050565b600054610100900460ff16611b9a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610b0a565b610c1a611bb2565b6000611ace604d602d848661219c565b600054610100900460ff16611c49576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610b0a565b610c1a336119e7565b600060208284031215611c6457600080fd5b5035919050565b803563ffffffff81168114611c7f57600080fd5b919050565b60008083601f840112611c9657600080fd5b50813567ffffffffffffffff811115611cae57600080fd5b602083019150836020828501011115611afc57600080fd5b600080600080600060808688031215611cde57600080fd5b611ce786611c6b565b94506020860135935060408601359250606086013567ffffffffffffffff811115611d1157600080fd5b611d1d88828901611c84565b969995985093965092949392505050565b73ffffffffffffffffffffffffffffffffffffffff811681146115a157600080fd5b600080600080600080600060a0888a031215611d6b57600080fd5b611d7488611c6b565b965060208801359550604088013567ffffffffffffffff80821115611d9857600080fd5b611da48b838c01611c84565b909750955060608a0135915080821115611dbd57600080fd5b50611dca8a828b01611c84565b9094509250506080880135611dde81611d2e565b8091505092959891949750929550565b600060208284031215611e0057600080fd5b8135611ab781611d2e565b60008060008060008060808789031215611e2457600080fd5b611e2d87611c6b565b955060208701359450604087013567ffffffffffffffff80821115611e5157600080fd5b611e5d8a838b01611c84565b90965094506060890135915080821115611e7657600080fd5b50611e8389828a01611c84565b979a9699509497509295939492505050565b60005b83811015611eb0578181015183820152602001611e98565b50506000910152565b60008151808452611ed1816020860160208601611e95565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611ab76020830184611eb9565b60008060008060408587031215611f2c57600080fd5b843567ffffffffffffffff80821115611f4457600080fd5b611f5088838901611c84565b90965094506020870135915080821115611f6957600080fd5b50611f7687828801611c84565b95989497509550505050565b60008060008060608587031215611f9857600080fd5b611fa185611c6b565b935060208501359250604085013567ffffffffffffffff811115611fc457600080fd5b611f7687828801611c84565b60008060008060808587031215611fe657600080fd5b8435611ff181611d2e565b9350602085013561200181611d2e565b9250604085013561201181611d2e565b9150606085013561202181611d2e565b939692955090935050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b63ffffffff85168152836020820152606060408201526000610bfe60608301848661202c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b63ffffffff8181168382160190808211156120e7576120e761209b565b5092915050565b60408152600061210260408301858761202c565b8281036020840152610bfe8185611eb9565b60006020828403121561212657600080fd5b5051919050565b81810381811115611a7c57611a7c61209b565b60408152600061215460408301868861202c565b8281036020840152610bb581858761202c565b60006020828403121561217957600080fd5b81518015158114611ab757600080fd5b80820180821115611a7c57611a7c61209b565b600080858511156121ac57600080fd5b838611156121b957600080fd5b5050820193919092039150565b600082516121d8818460208701611e95565b9190910192915050565b6000602082840312156121f457600080fd5b8151611ab781611d2e565b7fff000000000000000000000000000000000000000000000000000000000000008960f81b16815260007fffffffff00000000000000000000000000000000000000000000000000000000808a60e01b166001840152808960e01b166005840152876009840152808760e01b1660298401525084602d8301528284604d8401375060009101604d01908152979650505050505050565b7fff0000000000000000000000000000000000000000000000000000000000000081358181169160018510156122d55780818660010360031b1b83161692505b505092915050565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156122d55760049490940360031b84901b1690921692915050565b80356020831015611a7c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b169291505056fea26469706673582212204d36cb8cfe232e216d7d4fc573381154d24f5fd1b0f8aed1b75769df1ddce99b64736f6c63430008130033";
15
+ static readonly bytecode = "0x60c06040523480156200001157600080fd5b50604051620024a5380380620024a58339810160408190526200003491620000a6565b4360805263ffffffff811660a0526200004d3362000054565b50620000d5565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600060208284031215620000b957600080fd5b815163ffffffff81168114620000ce57600080fd5b9392505050565b60805160a051612395620001106000396000818161046f01528181610bd701528181610c9401526118f40152600061043b01526123956000f3fe6080604052600436106101d85760003560e01c80638d3638f411610102578063e495f1d411610095578063f7ccd32111610064578063f7ccd32114610683578063f8c8765e146106a3578063fa31de01146106c3578063ffa1ad74146106d657600080fd5b8063e495f1d4146105c4578063e70f48ac14610623578063f2fde38b14610643578063f794687a1461066357600080fd5b80639c42bd18116100d15780639c42bd181461053a578063affed0e01461055a578063d0639c1014610577578063d6d08a091461059757600080fd5b80638d3638f41461045d5780638da5cb5b146104a657806393c44847146104d157806399b048091461051a57600080fd5b80635d1fe5a91161017a578063715018a611610149578063715018a6146103e15780637c39d130146103f657806381d2ea951461040957806382ea7bfe1461042957600080fd5b80635d1fe5a9146103245780636093bbff146103675780636781759b146103875780636e5f516e146103b457600080fd5b8063134fbb4f116101b6578063134fbb4f146102895780631426b7f41461029f5780633d1250b7146102bf57806348aee8d41461031157600080fd5b806307a2fda1146101dd578063082548ec1461024657806310b83dc014610268575b600080fd5b3480156101e957600080fd5b5061022a6101f8366004611c52565b6000908152606a602052604090205474010000000000000000000000000000000000000000900465ffffffffffff1690565b60405165ffffffffffff90911681526020015b60405180910390f35b34801561025257600080fd5b50610266610261366004611cc6565b6106fd565b005b61027b610276366004611d50565b61078e565b60405190815260200161023d565b34801561029557600080fd5b5061027b60665481565b3480156102ab57600080fd5b506102666102ba366004611dee565b610a62565b3480156102cb57600080fd5b506068546102ec9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161023d565b61027b61031f366004611e0b565b610b82565b34801561033057600080fd5b506102ec61033f366004611c52565b6000908152606a602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b34801561037357600080fd5b50610266610382366004611c52565b606655565b34801561039357600080fd5b506103a76103a2366004611cc6565b610bc0565b60405161023d9190611f03565b3480156103c057600080fd5b506067546102ec9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156103ed57600080fd5b50610266610c08565b610266610404366004611f16565b610c1c565b34801561041557600080fd5b5061027b610424366004611d50565b6110be565b34801561043557600080fd5b5061027b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561046957600080fd5b506104917f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff909116815260200161023d565b3480156104b257600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166102ec565b3480156104dd57600080fd5b506103a76040518060400160405280601281526020017f352e342e322d7375706572636861696e2e30000000000000000000000000000081525081565b34801561052657600080fd5b50610266610535366004611dee565b611251565b34801561054657600080fd5b5061027b610555366004611f82565b61136c565b34801561056657600080fd5b506065546104919063ffffffff1681565b34801561058357600080fd5b506103a7610592366004611f82565b6113a8565b3480156105a357600080fd5b506069546102ec9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156105d057600080fd5b506106136105df366004611c52565b6000908152606a602052604090205474010000000000000000000000000000000000000000900465ffffffffffff16151590565b604051901515815260200161023d565b34801561062f57600080fd5b506102ec61063e366004611dee565b6113b6565b34801561064f57600080fd5b5061026661065e366004611dee565b6114ed565b34801561066f57600080fd5b5061026661067e366004611dee565b6115a4565b34801561068f57600080fd5b5061027b61069e366004611e0b565b6116bf565b3480156106af57600080fd5b506102666106be366004611fd0565b6116f2565b61027b6106d1366004611f82565b6118ac565b3480156106e257600080fd5b506106eb600381565b60405160ff909116815260200161023d565b6040517f56d5d47500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906356d5d47590610755908890889087908790600401612075565b600060405180830381600087803b15801561076f57600080fd5b505af1158015610783573d6000803e3d6000fd5b505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82166107c75760685473ffffffffffffffffffffffffffffffffffffffff1691505b60006107d5898989896118df565b8051602082012060668190556065805492935090916001919060009061080290849063ffffffff166120ca565b92506101000a81548163ffffffff021916908363ffffffff160217905550888a63ffffffff163373ffffffffffffffffffffffffffffffffffffffff167f769f711d20c679153d382254f59892613b58a97cc876b249134ac25c80f9c8148560405161086e9190611f03565b60405180910390a460405181907f788dbc1b7152732178210e7f4d9d010ef016f9eafbe66786bd7169f56e0c353a90600090a26069546040517faaccd23000000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff169063aaccd230906108fc908a908a9088906004016120ee565b602060405180830381865afa158015610919573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093d9190612114565b90508034101561094a5750345b6069546040517f086011b900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063086011b99083906109a6908b908b9089906004016120ee565b6000604051808303818588803b1580156109bf57600080fd5b505af11580156109d3573d6000803e3d6000fd5b50505050508473ffffffffffffffffffffffffffffffffffffffff1663086011b98234610a00919061212d565b8989876040518563ffffffff1660e01b8152600401610a21939291906120ee565b6000604051808303818588803b158015610a3a57600080fd5b505af1158015610a4e573d6000803e3d6000fd5b50949e9d5050505050505050505050505050565b610a6a611928565b73ffffffffffffffffffffffffffffffffffffffff81163b610b13576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4d61696c626f783a20726571756972656420686f6f6b206e6f7420636f6e747260448201527f616374000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b606980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f329ec8e2438a73828ecf31a6568d7a91d7b1d79e342b0692914fd053d1a002b190600090a250565b6000610bb5878787878787606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661078e565b979650505050505050565b606554606090610bfe9060039063ffffffff1688877f00000000000000000000000000000000000000000000000000000000000000008a89896119a9565b9695505050505050565b610c10611928565b610c1a60006119e7565b565b6003610c288383611a5e565b60ff1614610c92576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4d61696c626f783a206261642076657273696f6e0000000000000000000000006044820152606401610b0a565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff16610cc38383611a82565b63ffffffff1614610d30576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4d61696c626f783a20756e65787065637465642064657374696e6174696f6e006044820152606401610b0a565b6000610d7183838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061191d92505050565b6000818152606a602052604090205490915074010000000000000000000000000000000000000000900465ffffffffffff1615610e0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4d61696c626f783a20616c72656164792064656c6976657265640000000000006044820152606401610b0a565b6000610e168484611aa5565b90506000610e23826113b6565b60408051808201825233815265ffffffffffff43811660208084019182526000898152606a9091529390932091518254935190911674010000000000000000000000000000000000000000027fffffffffffff000000000000000000000000000000000000000000000000000090931673ffffffffffffffffffffffffffffffffffffffff918216179290921790559091508216610ec18686611abe565b610ecb8787611ad7565b63ffffffff167f0d381c2a574ae8f04e213db7cfb4df8df712cdbd427d9868ffef380660ca657460405160405180910390a460405183907f1cae38cdd3d3919489272725a5ae62a4f48b2989b0dae843d3c279fee18073a990600090a26040517ff7e83aee00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063f7e83aee90610f80908a908a908a908a90600401612140565b6020604051808303816000875af1158015610f9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc39190612167565b611029576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4d61696c626f783a2049534d20766572696669636174696f6e206661696c65646044820152606401610b0a565b8173ffffffffffffffffffffffffffffffffffffffff166356d5d475346110508888611ad7565b61105a8989611abe565b6110648a8a611ae7565b6040518663ffffffff1660e01b81526004016110839493929190612075565b6000604051808303818588803b15801561109c57600080fd5b505af11580156110b0573d6000803e3d6000fd5b505050505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82166110f75760685473ffffffffffffffffffffffffffffffffffffffff1691505b6000611105898989896118df565b6040517faaccd23000000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff84169063aaccd2309061115e908890889086906004016120ee565b602060405180830381865afa15801561117b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119f9190612114565b6069546040517faaccd23000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063aaccd230906111f9908990899087906004016120ee565b602060405180830381865afa158015611216573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123a9190612114565b6112449190612189565b9998505050505050505050565b611259611928565b73ffffffffffffffffffffffffffffffffffffffff81163b6112fd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4d61696c626f783a2064656661756c7420686f6f6b206e6f7420636f6e74726160448201527f63740000000000000000000000000000000000000000000000000000000000006064820152608401610b0a565b606880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f65a63e5066ee2fcdf9d32a7f1bf7ce71c76066f19d0609dddccd334ab87237d790600090a250565b600061139f858585856113818680838561219c565b60685473ffffffffffffffffffffffffffffffffffffffff166110be565b95945050505050565b606061139f858585856118df565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fde523cf30000000000000000000000000000000000000000000000000000000017905290516000918291829173ffffffffffffffffffffffffffffffffffffffff86169161143791906121c6565b600060405180830381855afa9150503d8060008114611472576040519150601f19603f3d011682016040523d82523d6000602084013e611477565b606091505b50915091508180156114895750805115155b156114cc576000818060200190518101906114a491906121e2565b905073ffffffffffffffffffffffffffffffffffffffff8116156114ca57949350505050565b505b505060675473ffffffffffffffffffffffffffffffffffffffff1692915050565b6114f5611928565b73ffffffffffffffffffffffffffffffffffffffff8116611598576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610b0a565b6115a1816119e7565b50565b6115ac611928565b73ffffffffffffffffffffffffffffffffffffffff81163b611650576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f783a2064656661756c742049534d206e6f7420636f6e7472616360448201527f74000000000000000000000000000000000000000000000000000000000000006064820152608401610b0a565b606780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fa76ad0adbf45318f8633aa0210f711273d50fbb6fef76ed95bbae97082c75daa90600090a250565b6000610bb5878787878787606860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166110be565b600054610100900460ff16158080156117125750600054600160ff909116105b8061172c5750303b15801561172c575060005460ff166001145b6117b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610b0a565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561181657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61181e611b03565b611827846115a4565b61183083611251565b61183982610a62565b611842856114ed565b80156118a557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b600061139f858585856118c18680838561219c565b60685473ffffffffffffffffffffffffffffffffffffffff1661078e565b60655460609061139f9060039063ffffffff167f000000000000000000000000000000000000000000000000000000000000000033898989896119a9565b805160209091012090565b60335473ffffffffffffffffffffffffffffffffffffffff163314610c1a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b0a565b606088888888888888886040516020016119ca9897969594939291906121ff565b604051602081830303815290604052905098975050505050505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000611a6d600182848661219c565b611a7691612295565b60f81c90505b92915050565b6000611a92602d6029848661219c565b611a9b916122dd565b60e01c9392505050565b6000611ab7611ab48484611ba2565b90565b9392505050565b6000611ace60296009848661219c565b611ab791612323565b6000611a9260096005848661219c565b366000611af783604d818761219c565b915091505b9250929050565b600054610100900460ff16611b9a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610b0a565b610c1a611bb2565b6000611ace604d602d848661219c565b600054610100900460ff16611c49576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610b0a565b610c1a336119e7565b600060208284031215611c6457600080fd5b5035919050565b803563ffffffff81168114611c7f57600080fd5b919050565b60008083601f840112611c9657600080fd5b50813567ffffffffffffffff811115611cae57600080fd5b602083019150836020828501011115611afc57600080fd5b600080600080600060808688031215611cde57600080fd5b611ce786611c6b565b94506020860135935060408601359250606086013567ffffffffffffffff811115611d1157600080fd5b611d1d88828901611c84565b969995985093965092949392505050565b73ffffffffffffffffffffffffffffffffffffffff811681146115a157600080fd5b600080600080600080600060a0888a031215611d6b57600080fd5b611d7488611c6b565b965060208801359550604088013567ffffffffffffffff80821115611d9857600080fd5b611da48b838c01611c84565b909750955060608a0135915080821115611dbd57600080fd5b50611dca8a828b01611c84565b9094509250506080880135611dde81611d2e565b8091505092959891949750929550565b600060208284031215611e0057600080fd5b8135611ab781611d2e565b60008060008060008060808789031215611e2457600080fd5b611e2d87611c6b565b955060208701359450604087013567ffffffffffffffff80821115611e5157600080fd5b611e5d8a838b01611c84565b90965094506060890135915080821115611e7657600080fd5b50611e8389828a01611c84565b979a9699509497509295939492505050565b60005b83811015611eb0578181015183820152602001611e98565b50506000910152565b60008151808452611ed1816020860160208601611e95565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611ab76020830184611eb9565b60008060008060408587031215611f2c57600080fd5b843567ffffffffffffffff80821115611f4457600080fd5b611f5088838901611c84565b90965094506020870135915080821115611f6957600080fd5b50611f7687828801611c84565b95989497509550505050565b60008060008060608587031215611f9857600080fd5b611fa185611c6b565b935060208501359250604085013567ffffffffffffffff811115611fc457600080fd5b611f7687828801611c84565b60008060008060808587031215611fe657600080fd5b8435611ff181611d2e565b9350602085013561200181611d2e565b9250604085013561201181611d2e565b9150606085013561202181611d2e565b939692955090935050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b63ffffffff85168152836020820152606060408201526000610bfe60608301848661202c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b63ffffffff8181168382160190808211156120e7576120e761209b565b5092915050565b60408152600061210260408301858761202c565b8281036020840152610bfe8185611eb9565b60006020828403121561212657600080fd5b5051919050565b81810381811115611a7c57611a7c61209b565b60408152600061215460408301868861202c565b8281036020840152610bb581858761202c565b60006020828403121561217957600080fd5b81518015158114611ab757600080fd5b80820180821115611a7c57611a7c61209b565b600080858511156121ac57600080fd5b838611156121b957600080fd5b5050820193919092039150565b600082516121d8818460208701611e95565b9190910192915050565b6000602082840312156121f457600080fd5b8151611ab781611d2e565b7fff000000000000000000000000000000000000000000000000000000000000008960f81b16815260007fffffffff00000000000000000000000000000000000000000000000000000000808a60e01b166001840152808960e01b166005840152876009840152808760e01b1660298401525084602d8301528284604d8401375060009101604d01908152979650505050505050565b7fff0000000000000000000000000000000000000000000000000000000000000081358181169160018510156122d55780818660010360031b1b83161692505b505092915050565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156122d55760049490940360031b84901b1690921692915050565b80356020831015611a7c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b169291505056fea26469706673582212205c95286b3a43a05c95a3020ce67c497b9d079e9cae9bd1d967571ca6b79bc93464736f6c63430008130033";
16
16
  static readonly abi: readonly [{
17
17
  readonly inputs: readonly [{
18
18
  readonly internalType: "uint32";