@hyperlane-xyz/core 5.0.0 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (600) hide show
  1. package/contracts/AttributeCheckpointFraud.sol +140 -0
  2. package/contracts/CheckpointFraudProofs.sol +143 -0
  3. package/contracts/client/Router.sol +4 -2
  4. package/contracts/hooks/OPL2ToL1Hook.sol +84 -0
  5. package/contracts/hooks/igp/InterchainGasPaymaster.sol +8 -8
  6. package/contracts/hooks/routing/DomainRoutingHook.sol +8 -7
  7. package/contracts/interfaces/IInterchainSecurityModule.sol +4 -1
  8. package/contracts/interfaces/hooks/IPostDispatchHook.sol +2 -1
  9. package/contracts/interfaces/isms/IWeightedMultisigIsm.sol +39 -0
  10. package/contracts/interfaces/optimism/ICrossDomainMessenger.sol +2 -0
  11. package/contracts/interfaces/optimism/IOptimismPortal.sol +28 -0
  12. package/contracts/isms/hook/OPL2ToL1Ism.sol +109 -0
  13. package/contracts/isms/libs/MerkleRootMultisigIsmMetadata.sol +16 -0
  14. package/contracts/isms/libs/MessageIdMultisigIsmMetadata.sol +16 -0
  15. package/contracts/isms/multisig/AbstractMerkleRootMultisigIsm.sol +14 -9
  16. package/contracts/isms/multisig/AbstractMessageIdMultisigIsm.sol +13 -8
  17. package/contracts/isms/multisig/AbstractMultisigIsm.sol +47 -20
  18. package/contracts/isms/multisig/AbstractWeightedMultisigIsm.sol +100 -0
  19. package/contracts/isms/multisig/StaticMultisigIsm.sol +10 -2
  20. package/contracts/isms/multisig/WeightedMultisigIsm.sol +67 -0
  21. package/contracts/isms/routing/DomainRoutingIsm.sol +4 -2
  22. package/contracts/libs/CheckpointLib.sol +41 -9
  23. package/contracts/libs/Merkle.sol +33 -3
  24. package/contracts/libs/OPL2ToL1Metadata.sol +62 -0
  25. package/contracts/libs/StaticWeightedValidatorSetFactory.sol +97 -0
  26. package/contracts/mock/MockArbBridge.sol +78 -0
  27. package/contracts/mock/MockERC4626YieldSharing.sol +80 -0
  28. package/contracts/mock/MockHyperlaneEnvironment.sol +2 -2
  29. package/contracts/mock/MockOptimism.sol +61 -0
  30. package/contracts/test/ERC20Test.sol +4 -0
  31. package/contracts/test/ERC4626/ERC4626Test.sol +1 -0
  32. package/contracts/token/extensions/HypERC4626.sol +102 -0
  33. package/contracts/token/extensions/HypERC4626Collateral.sol +111 -0
  34. package/contracts/token/extensions/{HypERC20CollateralVaultDeposit.sol → HypERC4626OwnerCollateral.sol} +3 -2
  35. package/dist/buildArtifact.js +1 -1
  36. package/dist/buildArtifact.json +1 -1
  37. package/dist/contracts/AttributeCheckpointFraud.d.ts +356 -0
  38. package/dist/contracts/AttributeCheckpointFraud.d.ts.map +1 -0
  39. package/dist/contracts/AttributeCheckpointFraud.js +2 -0
  40. package/dist/contracts/AttributeCheckpointFraud.js.map +1 -0
  41. package/dist/contracts/CheckpointFraudProofs.d.ts +200 -0
  42. package/dist/contracts/CheckpointFraudProofs.d.ts.map +1 -0
  43. package/dist/contracts/CheckpointFraudProofs.js +2 -0
  44. package/dist/contracts/CheckpointFraudProofs.js.map +1 -0
  45. package/dist/contracts/hooks/OPL2ToL1Hook.d.ts +396 -0
  46. package/dist/contracts/hooks/OPL2ToL1Hook.d.ts.map +1 -0
  47. package/dist/contracts/hooks/OPL2ToL1Hook.js +2 -0
  48. package/dist/contracts/hooks/OPL2ToL1Hook.js.map +1 -0
  49. package/dist/contracts/hooks/index.d.ts +1 -0
  50. package/dist/contracts/hooks/index.d.ts.map +1 -1
  51. package/dist/contracts/index.d.ts +2 -0
  52. package/dist/contracts/index.d.ts.map +1 -1
  53. package/dist/contracts/interfaces/isms/IWeightedMultisigIsm.sol/IStaticWeightedMultisigIsm.d.ts +142 -0
  54. package/dist/contracts/interfaces/isms/IWeightedMultisigIsm.sol/IStaticWeightedMultisigIsm.d.ts.map +1 -0
  55. package/dist/contracts/interfaces/isms/IWeightedMultisigIsm.sol/IStaticWeightedMultisigIsm.js +2 -0
  56. package/dist/contracts/interfaces/isms/IWeightedMultisigIsm.sol/IStaticWeightedMultisigIsm.js.map +1 -0
  57. package/dist/contracts/interfaces/isms/IWeightedMultisigIsm.sol/index.d.ts +2 -0
  58. package/dist/contracts/interfaces/isms/IWeightedMultisigIsm.sol/index.d.ts.map +1 -0
  59. package/dist/contracts/interfaces/isms/IWeightedMultisigIsm.sol/index.js +2 -0
  60. package/dist/contracts/interfaces/isms/IWeightedMultisigIsm.sol/index.js.map +1 -0
  61. package/dist/contracts/interfaces/isms/index.d.ts +2 -0
  62. package/dist/contracts/interfaces/isms/index.d.ts.map +1 -1
  63. package/dist/contracts/interfaces/optimism/ICrossDomainMessenger.sol/ICrossDomainMessenger.d.ts +16 -1
  64. package/dist/contracts/interfaces/optimism/ICrossDomainMessenger.sol/ICrossDomainMessenger.d.ts.map +1 -1
  65. package/dist/contracts/interfaces/optimism/ICrossDomainMessenger.sol/IL1CrossDomainMessenger.d.ts +16 -1
  66. package/dist/contracts/interfaces/optimism/ICrossDomainMessenger.sol/IL1CrossDomainMessenger.d.ts.map +1 -1
  67. package/dist/contracts/interfaces/optimism/ICrossDomainMessenger.sol/IL2CrossDomainMessenger.d.ts +16 -1
  68. package/dist/contracts/interfaces/optimism/ICrossDomainMessenger.sol/IL2CrossDomainMessenger.d.ts.map +1 -1
  69. package/dist/contracts/interfaces/optimism/IOptimismPortal.d.ts +91 -0
  70. package/dist/contracts/interfaces/optimism/IOptimismPortal.d.ts.map +1 -0
  71. package/dist/contracts/interfaces/optimism/IOptimismPortal.js +2 -0
  72. package/dist/contracts/interfaces/optimism/IOptimismPortal.js.map +1 -0
  73. package/dist/contracts/interfaces/optimism/index.d.ts +1 -0
  74. package/dist/contracts/interfaces/optimism/index.d.ts.map +1 -1
  75. package/dist/contracts/isms/hook/OPL2ToL1Ism.d.ts +273 -0
  76. package/dist/contracts/isms/hook/OPL2ToL1Ism.d.ts.map +1 -0
  77. package/dist/contracts/isms/hook/OPL2ToL1Ism.js +2 -0
  78. package/dist/contracts/isms/hook/OPL2ToL1Ism.js.map +1 -0
  79. package/dist/contracts/isms/hook/index.d.ts +1 -0
  80. package/dist/contracts/isms/hook/index.d.ts.map +1 -1
  81. package/dist/contracts/isms/multisig/AbstractMerkleRootMultisigIsm.d.ts +16 -46
  82. package/dist/contracts/isms/multisig/AbstractMerkleRootMultisigIsm.d.ts.map +1 -1
  83. package/dist/contracts/isms/multisig/AbstractMessageIdMultisigIsm.d.ts +16 -46
  84. package/dist/contracts/isms/multisig/AbstractMessageIdMultisigIsm.d.ts.map +1 -1
  85. package/dist/contracts/isms/multisig/AbstractMultisigIsm.sol/AbstractMultisig.d.ts +50 -0
  86. package/dist/contracts/isms/multisig/AbstractMultisigIsm.sol/AbstractMultisig.d.ts.map +1 -0
  87. package/dist/contracts/isms/multisig/AbstractMultisigIsm.sol/AbstractMultisig.js +2 -0
  88. package/dist/contracts/isms/multisig/AbstractMultisigIsm.sol/AbstractMultisig.js.map +1 -0
  89. package/dist/contracts/isms/multisig/{AbstractMultisigIsm.d.ts → AbstractMultisigIsm.sol/AbstractMultisigIsm.d.ts} +17 -17
  90. package/dist/contracts/isms/multisig/AbstractMultisigIsm.sol/AbstractMultisigIsm.d.ts.map +1 -0
  91. package/dist/contracts/isms/multisig/AbstractMultisigIsm.sol/AbstractMultisigIsm.js.map +1 -0
  92. package/dist/contracts/isms/multisig/AbstractMultisigIsm.sol/index.d.ts +3 -0
  93. package/dist/contracts/isms/multisig/AbstractMultisigIsm.sol/index.d.ts.map +1 -0
  94. package/dist/contracts/isms/multisig/AbstractMultisigIsm.sol/index.js +2 -0
  95. package/dist/contracts/isms/multisig/AbstractMultisigIsm.sol/index.js.map +1 -0
  96. package/dist/contracts/isms/multisig/AbstractWeightedMultisigIsm.sol/AbstractStaticWeightedMultisigIsm.d.ts +138 -0
  97. package/dist/contracts/isms/multisig/AbstractWeightedMultisigIsm.sol/AbstractStaticWeightedMultisigIsm.d.ts.map +1 -0
  98. package/dist/contracts/isms/multisig/AbstractWeightedMultisigIsm.sol/AbstractStaticWeightedMultisigIsm.js +2 -0
  99. package/dist/contracts/isms/multisig/AbstractWeightedMultisigIsm.sol/AbstractStaticWeightedMultisigIsm.js.map +1 -0
  100. package/dist/contracts/isms/multisig/AbstractWeightedMultisigIsm.sol/index.d.ts +2 -0
  101. package/dist/contracts/isms/multisig/AbstractWeightedMultisigIsm.sol/index.d.ts.map +1 -0
  102. package/dist/contracts/isms/multisig/AbstractWeightedMultisigIsm.sol/index.js +2 -0
  103. package/dist/contracts/isms/multisig/AbstractWeightedMultisigIsm.sol/index.js.map +1 -0
  104. package/dist/contracts/isms/multisig/StaticMultisigIsm.sol/AbstractMetaProxyMultisigIsm.d.ts +16 -16
  105. package/dist/contracts/isms/multisig/StaticMultisigIsm.sol/AbstractMetaProxyMultisigIsm.d.ts.map +1 -1
  106. package/dist/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm.d.ts +16 -1
  107. package/dist/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm.d.ts.map +1 -1
  108. package/dist/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm.d.ts +16 -1
  109. package/dist/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm.d.ts.map +1 -1
  110. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/AbstractMetaProxyWeightedMultisigIsm.d.ts +138 -0
  111. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/AbstractMetaProxyWeightedMultisigIsm.d.ts.map +1 -0
  112. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/AbstractMetaProxyWeightedMultisigIsm.js +2 -0
  113. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/AbstractMetaProxyWeightedMultisigIsm.js.map +1 -0
  114. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm.d.ts +138 -0
  115. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm.d.ts.map +1 -0
  116. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm.js +2 -0
  117. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm.js.map +1 -0
  118. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory.d.ts +106 -0
  119. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory.d.ts.map +1 -0
  120. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory.js +2 -0
  121. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory.js.map +1 -0
  122. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm.d.ts +138 -0
  123. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm.d.ts.map +1 -0
  124. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm.js +2 -0
  125. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm.js.map +1 -0
  126. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory.d.ts +106 -0
  127. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory.d.ts.map +1 -0
  128. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory.js +2 -0
  129. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory.js.map +1 -0
  130. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/index.d.ts +6 -0
  131. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/index.d.ts.map +1 -0
  132. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/index.js +2 -0
  133. package/dist/contracts/isms/multisig/WeightedMultisigIsm.sol/index.js.map +1 -0
  134. package/dist/contracts/isms/multisig/index.d.ts +6 -1
  135. package/dist/contracts/isms/multisig/index.d.ts.map +1 -1
  136. package/dist/contracts/libs/StaticWeightedValidatorSetFactory.d.ts +106 -0
  137. package/dist/contracts/libs/StaticWeightedValidatorSetFactory.d.ts.map +1 -0
  138. package/dist/contracts/libs/StaticWeightedValidatorSetFactory.js +2 -0
  139. package/dist/contracts/libs/StaticWeightedValidatorSetFactory.js.map +1 -0
  140. package/dist/contracts/libs/index.d.ts +1 -0
  141. package/dist/contracts/libs/index.d.ts.map +1 -1
  142. package/dist/contracts/mock/MockArbBridge.sol/MockArbBridge.d.ts +162 -0
  143. package/dist/contracts/mock/MockArbBridge.sol/MockArbBridge.d.ts.map +1 -0
  144. package/dist/contracts/mock/MockArbBridge.sol/MockArbBridge.js +2 -0
  145. package/dist/contracts/mock/MockArbBridge.sol/MockArbBridge.js.map +1 -0
  146. package/dist/contracts/mock/MockArbBridge.sol/MockArbSys.d.ts +96 -0
  147. package/dist/contracts/mock/MockArbBridge.sol/MockArbSys.d.ts.map +1 -0
  148. package/dist/contracts/mock/MockArbBridge.sol/MockArbSys.js +2 -0
  149. package/dist/contracts/mock/MockArbBridge.sol/MockArbSys.js.map +1 -0
  150. package/dist/contracts/mock/MockArbBridge.sol/index.d.ts +3 -0
  151. package/dist/contracts/mock/MockArbBridge.sol/index.d.ts.map +1 -0
  152. package/dist/contracts/mock/MockArbBridge.sol/index.js +2 -0
  153. package/dist/contracts/mock/MockArbBridge.sol/index.js.map +1 -0
  154. package/dist/contracts/mock/MockERC4626YieldSharing.d.ts +853 -0
  155. package/dist/contracts/mock/MockERC4626YieldSharing.d.ts.map +1 -0
  156. package/dist/contracts/mock/MockERC4626YieldSharing.js +2 -0
  157. package/dist/contracts/mock/MockERC4626YieldSharing.js.map +1 -0
  158. package/dist/contracts/mock/MockHyperlaneEnvironment.d.ts +31 -1
  159. package/dist/contracts/mock/MockHyperlaneEnvironment.d.ts.map +1 -1
  160. package/dist/contracts/mock/MockOptimism.sol/MockOptimismMessenger.d.ts +218 -0
  161. package/dist/contracts/mock/MockOptimism.sol/MockOptimismMessenger.d.ts.map +1 -0
  162. package/dist/contracts/mock/MockOptimism.sol/MockOptimismMessenger.js +2 -0
  163. package/dist/contracts/mock/MockOptimism.sol/MockOptimismMessenger.js.map +1 -0
  164. package/dist/contracts/mock/MockOptimism.sol/MockOptimismPortal.d.ts +91 -0
  165. package/dist/contracts/mock/MockOptimism.sol/MockOptimismPortal.d.ts.map +1 -0
  166. package/dist/contracts/mock/MockOptimism.sol/MockOptimismPortal.js +2 -0
  167. package/dist/contracts/mock/MockOptimism.sol/MockOptimismPortal.js.map +1 -0
  168. package/dist/contracts/mock/MockOptimism.sol/index.d.ts +3 -0
  169. package/dist/contracts/mock/MockOptimism.sol/index.d.ts.map +1 -0
  170. package/dist/contracts/mock/MockOptimism.sol/index.js +2 -0
  171. package/dist/contracts/mock/MockOptimism.sol/index.js.map +1 -0
  172. package/dist/contracts/mock/index.d.ts +5 -0
  173. package/dist/contracts/mock/index.d.ts.map +1 -1
  174. package/dist/contracts/test/ERC20Test.sol/ERC20Test.d.ts +32 -1
  175. package/dist/contracts/test/ERC20Test.sol/ERC20Test.d.ts.map +1 -1
  176. package/dist/contracts/test/ERC20Test.sol/FiatTokenTest.d.ts +32 -1
  177. package/dist/contracts/test/ERC20Test.sol/FiatTokenTest.d.ts.map +1 -1
  178. package/dist/contracts/test/ERC20Test.sol/XERC20Test.d.ts +32 -1
  179. package/dist/contracts/test/ERC20Test.sol/XERC20Test.d.ts.map +1 -1
  180. package/dist/contracts/token/extensions/HypERC4626.d.ts +979 -0
  181. package/dist/contracts/token/extensions/HypERC4626.d.ts.map +1 -0
  182. package/dist/contracts/token/extensions/HypERC4626.js +2 -0
  183. package/dist/contracts/token/extensions/HypERC4626.js.map +1 -0
  184. package/dist/contracts/token/extensions/HypERC4626Collateral.d.ts +718 -0
  185. package/dist/contracts/token/extensions/HypERC4626Collateral.d.ts.map +1 -0
  186. package/dist/contracts/token/extensions/HypERC4626Collateral.js +2 -0
  187. package/dist/contracts/token/extensions/HypERC4626Collateral.js.map +1 -0
  188. package/dist/contracts/token/extensions/{HypERC20CollateralVaultDeposit.d.ts → HypERC4626OwnerCollateral.d.ts} +4 -4
  189. package/dist/contracts/token/extensions/HypERC4626OwnerCollateral.d.ts.map +1 -0
  190. package/dist/contracts/token/extensions/HypERC4626OwnerCollateral.js +2 -0
  191. package/dist/contracts/token/extensions/HypERC4626OwnerCollateral.js.map +1 -0
  192. package/dist/contracts/token/extensions/index.d.ts +3 -1
  193. package/dist/contracts/token/extensions/index.d.ts.map +1 -1
  194. package/dist/factories/contracts/AttributeCheckpointFraud__factory.d.ts +296 -0
  195. package/dist/factories/contracts/AttributeCheckpointFraud__factory.d.ts.map +1 -0
  196. package/dist/factories/contracts/AttributeCheckpointFraud__factory.js +394 -0
  197. package/dist/factories/contracts/AttributeCheckpointFraud__factory.js.map +1 -0
  198. package/dist/factories/contracts/CheckpointFraudProofs__factory.d.ts +239 -0
  199. package/dist/factories/contracts/CheckpointFraudProofs__factory.d.ts.map +1 -0
  200. package/dist/factories/contracts/CheckpointFraudProofs__factory.js +325 -0
  201. package/dist/factories/contracts/CheckpointFraudProofs__factory.js.map +1 -0
  202. package/dist/factories/contracts/Mailbox__factory.d.ts +1 -1
  203. package/dist/factories/contracts/Mailbox__factory.js +1 -1
  204. package/dist/factories/contracts/hooks/ArbL2ToL1Hook__factory.d.ts +1 -1
  205. package/dist/factories/contracts/hooks/ArbL2ToL1Hook__factory.js +1 -1
  206. package/dist/factories/contracts/hooks/MerkleTreeHook__factory.d.ts +1 -1
  207. package/dist/factories/contracts/hooks/MerkleTreeHook__factory.js +1 -1
  208. package/dist/factories/contracts/hooks/OPL2ToL1Hook__factory.d.ts +252 -0
  209. package/dist/factories/contracts/hooks/OPL2ToL1Hook__factory.d.ts.map +1 -0
  210. package/dist/factories/contracts/hooks/OPL2ToL1Hook__factory.js +339 -0
  211. package/dist/factories/contracts/hooks/OPL2ToL1Hook__factory.js.map +1 -0
  212. package/dist/factories/contracts/hooks/OPStackHook__factory.d.ts +1 -1
  213. package/dist/factories/contracts/hooks/OPStackHook__factory.js +1 -1
  214. package/dist/factories/contracts/hooks/PausableHook__factory.d.ts +1 -1
  215. package/dist/factories/contracts/hooks/PausableHook__factory.js +1 -1
  216. package/dist/factories/contracts/hooks/PolygonPosHook__factory.d.ts +1 -1
  217. package/dist/factories/contracts/hooks/PolygonPosHook__factory.js +1 -1
  218. package/dist/factories/contracts/hooks/ProtocolFee__factory.d.ts +1 -1
  219. package/dist/factories/contracts/hooks/ProtocolFee__factory.js +1 -1
  220. package/dist/factories/contracts/hooks/aggregation/ERC5164Hook__factory.d.ts +1 -1
  221. package/dist/factories/contracts/hooks/aggregation/ERC5164Hook__factory.js +1 -1
  222. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHookFactory__factory.d.ts +1 -1
  223. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHookFactory__factory.js +1 -1
  224. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHook__factory.d.ts +1 -1
  225. package/dist/factories/contracts/hooks/aggregation/StaticAggregationHook__factory.js +1 -1
  226. package/dist/factories/contracts/hooks/igp/InterchainGasPaymaster__factory.d.ts +1 -1
  227. package/dist/factories/contracts/hooks/igp/InterchainGasPaymaster__factory.d.ts.map +1 -1
  228. package/dist/factories/contracts/hooks/igp/InterchainGasPaymaster__factory.js +1 -1
  229. package/dist/factories/contracts/hooks/igp/InterchainGasPaymaster__factory.js.map +1 -1
  230. package/dist/factories/contracts/hooks/index.d.ts +1 -0
  231. package/dist/factories/contracts/hooks/index.d.ts.map +1 -1
  232. package/dist/factories/contracts/hooks/index.js +1 -0
  233. package/dist/factories/contracts/hooks/index.js.map +1 -1
  234. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV1Hook__factory.d.ts +1 -1
  235. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV1Hook__factory.js +1 -1
  236. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV2Hook__factory.d.ts +1 -1
  237. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV2Hook__factory.js +1 -1
  238. package/dist/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.d.ts +1 -1
  239. package/dist/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.d.ts.map +1 -1
  240. package/dist/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.js +1 -1
  241. package/dist/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.js.map +1 -1
  242. package/dist/factories/contracts/hooks/routing/DomainRoutingHook__factory.d.ts +1 -1
  243. package/dist/factories/contracts/hooks/routing/DomainRoutingHook__factory.d.ts.map +1 -1
  244. package/dist/factories/contracts/hooks/routing/DomainRoutingHook__factory.js +1 -1
  245. package/dist/factories/contracts/hooks/routing/DomainRoutingHook__factory.js.map +1 -1
  246. package/dist/factories/contracts/hooks/routing/FallbackDomainRoutingHook__factory.d.ts +1 -1
  247. package/dist/factories/contracts/hooks/routing/FallbackDomainRoutingHook__factory.js +1 -1
  248. package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.d.ts +1 -1
  249. package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.js +1 -1
  250. package/dist/factories/contracts/index.d.ts +2 -0
  251. package/dist/factories/contracts/index.d.ts.map +1 -1
  252. package/dist/factories/contracts/index.js +2 -0
  253. package/dist/factories/contracts/index.js.map +1 -1
  254. package/dist/factories/contracts/interfaces/isms/IWeightedMultisigIsm.sol/IStaticWeightedMultisigIsm__factory.d.ts +64 -0
  255. package/dist/factories/contracts/interfaces/isms/IWeightedMultisigIsm.sol/IStaticWeightedMultisigIsm__factory.d.ts.map +1 -0
  256. package/dist/factories/contracts/interfaces/isms/IWeightedMultisigIsm.sol/IStaticWeightedMultisigIsm__factory.js +89 -0
  257. package/dist/factories/contracts/interfaces/isms/IWeightedMultisigIsm.sol/IStaticWeightedMultisigIsm__factory.js.map +1 -0
  258. package/dist/factories/contracts/interfaces/isms/IWeightedMultisigIsm.sol/index.d.ts +2 -0
  259. package/dist/factories/contracts/interfaces/isms/IWeightedMultisigIsm.sol/index.d.ts.map +1 -0
  260. package/dist/factories/contracts/interfaces/isms/IWeightedMultisigIsm.sol/index.js +5 -0
  261. package/dist/factories/contracts/interfaces/isms/IWeightedMultisigIsm.sol/index.js.map +1 -0
  262. package/dist/factories/contracts/interfaces/isms/index.d.ts +1 -0
  263. package/dist/factories/contracts/interfaces/isms/index.d.ts.map +1 -1
  264. package/dist/factories/contracts/interfaces/isms/index.js +1 -0
  265. package/dist/factories/contracts/interfaces/isms/index.js.map +1 -1
  266. package/dist/factories/contracts/interfaces/optimism/ICrossDomainMessenger.sol/ICrossDomainMessenger__factory.d.ts +10 -0
  267. package/dist/factories/contracts/interfaces/optimism/ICrossDomainMessenger.sol/ICrossDomainMessenger__factory.d.ts.map +1 -1
  268. package/dist/factories/contracts/interfaces/optimism/ICrossDomainMessenger.sol/ICrossDomainMessenger__factory.js +13 -0
  269. package/dist/factories/contracts/interfaces/optimism/ICrossDomainMessenger.sol/ICrossDomainMessenger__factory.js.map +1 -1
  270. package/dist/factories/contracts/interfaces/optimism/ICrossDomainMessenger.sol/IL1CrossDomainMessenger__factory.d.ts +10 -0
  271. package/dist/factories/contracts/interfaces/optimism/ICrossDomainMessenger.sol/IL1CrossDomainMessenger__factory.d.ts.map +1 -1
  272. package/dist/factories/contracts/interfaces/optimism/ICrossDomainMessenger.sol/IL1CrossDomainMessenger__factory.js +13 -0
  273. package/dist/factories/contracts/interfaces/optimism/ICrossDomainMessenger.sol/IL1CrossDomainMessenger__factory.js.map +1 -1
  274. package/dist/factories/contracts/interfaces/optimism/ICrossDomainMessenger.sol/IL2CrossDomainMessenger__factory.d.ts +10 -0
  275. package/dist/factories/contracts/interfaces/optimism/ICrossDomainMessenger.sol/IL2CrossDomainMessenger__factory.d.ts.map +1 -1
  276. package/dist/factories/contracts/interfaces/optimism/ICrossDomainMessenger.sol/IL2CrossDomainMessenger__factory.js +13 -0
  277. package/dist/factories/contracts/interfaces/optimism/ICrossDomainMessenger.sol/IL2CrossDomainMessenger__factory.js.map +1 -1
  278. package/dist/factories/contracts/interfaces/optimism/IOptimismPortal__factory.d.ts +44 -0
  279. package/dist/factories/contracts/interfaces/optimism/IOptimismPortal__factory.d.ts.map +1 -0
  280. package/dist/factories/contracts/interfaces/optimism/IOptimismPortal__factory.js +61 -0
  281. package/dist/factories/contracts/interfaces/optimism/IOptimismPortal__factory.js.map +1 -0
  282. package/dist/factories/contracts/interfaces/optimism/index.d.ts +1 -0
  283. package/dist/factories/contracts/interfaces/optimism/index.d.ts.map +1 -1
  284. package/dist/factories/contracts/interfaces/optimism/index.js +1 -0
  285. package/dist/factories/contracts/interfaces/optimism/index.js.map +1 -1
  286. package/dist/factories/contracts/isms/NoopIsm__factory.d.ts +1 -1
  287. package/dist/factories/contracts/isms/NoopIsm__factory.js +1 -1
  288. package/dist/factories/contracts/isms/PausableIsm__factory.d.ts +1 -1
  289. package/dist/factories/contracts/isms/PausableIsm__factory.js +1 -1
  290. package/dist/factories/contracts/isms/TrustedRelayerIsm__factory.d.ts +1 -1
  291. package/dist/factories/contracts/isms/TrustedRelayerIsm__factory.js +1 -1
  292. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.d.ts +1 -1
  293. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.js +1 -1
  294. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.d.ts +1 -1
  295. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.js +1 -1
  296. package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.d.ts +1 -1
  297. package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.js +1 -1
  298. package/dist/factories/contracts/isms/hook/ERC5164Ism__factory.d.ts +1 -1
  299. package/dist/factories/contracts/isms/hook/ERC5164Ism__factory.js +1 -1
  300. package/dist/factories/contracts/isms/hook/OPL2ToL1Ism__factory.d.ts +169 -0
  301. package/dist/factories/contracts/isms/hook/OPL2ToL1Ism__factory.d.ts.map +1 -0
  302. package/dist/factories/contracts/isms/hook/OPL2ToL1Ism__factory.js +234 -0
  303. package/dist/factories/contracts/isms/hook/OPL2ToL1Ism__factory.js.map +1 -0
  304. package/dist/factories/contracts/isms/hook/OPStackIsm__factory.d.ts +1 -1
  305. package/dist/factories/contracts/isms/hook/OPStackIsm__factory.js +1 -1
  306. package/dist/factories/contracts/isms/hook/PolygonPosIsm__factory.d.ts +1 -1
  307. package/dist/factories/contracts/isms/hook/PolygonPosIsm__factory.js +1 -1
  308. package/dist/factories/contracts/isms/hook/index.d.ts +1 -0
  309. package/dist/factories/contracts/isms/hook/index.d.ts.map +1 -1
  310. package/dist/factories/contracts/isms/hook/index.js +1 -0
  311. package/dist/factories/contracts/isms/hook/index.js.map +1 -1
  312. package/dist/factories/contracts/isms/hook/layer-zero/LayerZeroV2Ism__factory.d.ts +1 -1
  313. package/dist/factories/contracts/isms/hook/layer-zero/LayerZeroV2Ism__factory.js +1 -1
  314. package/dist/factories/contracts/isms/multisig/AbstractMerkleRootMultisigIsm__factory.d.ts +4 -36
  315. package/dist/factories/contracts/isms/multisig/AbstractMerkleRootMultisigIsm__factory.d.ts.map +1 -1
  316. package/dist/factories/contracts/isms/multisig/AbstractMerkleRootMultisigIsm__factory.js +4 -46
  317. package/dist/factories/contracts/isms/multisig/AbstractMerkleRootMultisigIsm__factory.js.map +1 -1
  318. package/dist/factories/contracts/isms/multisig/AbstractMessageIdMultisigIsm__factory.d.ts +4 -36
  319. package/dist/factories/contracts/isms/multisig/AbstractMessageIdMultisigIsm__factory.d.ts.map +1 -1
  320. package/dist/factories/contracts/isms/multisig/AbstractMessageIdMultisigIsm__factory.js +4 -46
  321. package/dist/factories/contracts/isms/multisig/AbstractMessageIdMultisigIsm__factory.js.map +1 -1
  322. package/dist/factories/contracts/isms/multisig/{AbstractMultisigIsm__factory.d.ts → AbstractMultisigIsm.sol/AbstractMultisigIsm__factory.d.ts} +10 -6
  323. package/dist/factories/contracts/isms/multisig/AbstractMultisigIsm.sol/AbstractMultisigIsm__factory.d.ts.map +1 -0
  324. package/dist/factories/contracts/isms/multisig/{AbstractMultisigIsm__factory.js → AbstractMultisigIsm.sol/AbstractMultisigIsm__factory.js} +11 -5
  325. package/dist/factories/contracts/isms/multisig/AbstractMultisigIsm.sol/AbstractMultisigIsm__factory.js.map +1 -0
  326. package/dist/factories/contracts/isms/multisig/AbstractMultisigIsm.sol/AbstractMultisig__factory.d.ts +23 -0
  327. package/dist/factories/contracts/isms/multisig/AbstractMultisigIsm.sol/AbstractMultisig__factory.d.ts.map +1 -0
  328. package/dist/factories/contracts/isms/multisig/AbstractMultisigIsm.sol/AbstractMultisig__factory.js +35 -0
  329. package/dist/factories/contracts/isms/multisig/AbstractMultisigIsm.sol/AbstractMultisig__factory.js.map +1 -0
  330. package/dist/factories/contracts/isms/multisig/AbstractMultisigIsm.sol/index.d.ts +3 -0
  331. package/dist/factories/contracts/isms/multisig/AbstractMultisigIsm.sol/index.d.ts.map +1 -0
  332. package/dist/factories/contracts/isms/multisig/AbstractMultisigIsm.sol/index.js +6 -0
  333. package/dist/factories/contracts/isms/multisig/AbstractMultisigIsm.sol/index.js.map +1 -0
  334. package/dist/factories/contracts/isms/multisig/AbstractWeightedMultisigIsm.sol/AbstractStaticWeightedMultisigIsm__factory.d.ts +88 -0
  335. package/dist/factories/contracts/isms/multisig/AbstractWeightedMultisigIsm.sol/AbstractStaticWeightedMultisigIsm__factory.d.ts.map +1 -0
  336. package/dist/factories/contracts/isms/multisig/AbstractWeightedMultisigIsm.sol/AbstractStaticWeightedMultisigIsm__factory.js +121 -0
  337. package/dist/factories/contracts/isms/multisig/AbstractWeightedMultisigIsm.sol/AbstractStaticWeightedMultisigIsm__factory.js.map +1 -0
  338. package/dist/factories/contracts/isms/multisig/AbstractWeightedMultisigIsm.sol/index.d.ts +2 -0
  339. package/dist/factories/contracts/isms/multisig/AbstractWeightedMultisigIsm.sol/index.d.ts.map +1 -0
  340. package/dist/factories/contracts/isms/multisig/AbstractWeightedMultisigIsm.sol/index.js +5 -0
  341. package/dist/factories/contracts/isms/multisig/AbstractWeightedMultisigIsm.sol/index.js.map +1 -0
  342. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/AbstractMetaProxyMultisigIsm__factory.d.ts +9 -5
  343. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/AbstractMetaProxyMultisigIsm__factory.d.ts.map +1 -1
  344. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/AbstractMetaProxyMultisigIsm__factory.js +11 -5
  345. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/AbstractMetaProxyMultisigIsm__factory.js.map +1 -1
  346. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.d.ts +1 -1
  347. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.d.ts.map +1 -1
  348. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.js +1 -1
  349. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.js.map +1 -1
  350. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.d.ts +15 -1
  351. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.d.ts.map +1 -1
  352. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.js +20 -1
  353. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.js.map +1 -1
  354. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.d.ts +1 -1
  355. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.d.ts.map +1 -1
  356. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.js +1 -1
  357. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.js.map +1 -1
  358. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.d.ts +15 -1
  359. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.d.ts.map +1 -1
  360. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.js +20 -1
  361. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.js.map +1 -1
  362. package/dist/factories/contracts/isms/multisig/ValidatorAnnounce__factory.d.ts +1 -1
  363. package/dist/factories/contracts/isms/multisig/ValidatorAnnounce__factory.js +1 -1
  364. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/AbstractMetaProxyWeightedMultisigIsm__factory.d.ts +88 -0
  365. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/AbstractMetaProxyWeightedMultisigIsm__factory.d.ts.map +1 -0
  366. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/AbstractMetaProxyWeightedMultisigIsm__factory.js +121 -0
  367. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/AbstractMetaProxyWeightedMultisigIsm__factory.js.map +1 -0
  368. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory__factory.d.ts +85 -0
  369. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory__factory.d.ts.map +1 -0
  370. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory__factory.js +124 -0
  371. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory__factory.js.map +1 -0
  372. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm__factory.d.ts +100 -0
  373. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm__factory.d.ts.map +1 -0
  374. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm__factory.js +144 -0
  375. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm__factory.js.map +1 -0
  376. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory__factory.d.ts +85 -0
  377. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory__factory.d.ts.map +1 -0
  378. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory__factory.js +124 -0
  379. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory__factory.js.map +1 -0
  380. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm__factory.d.ts +100 -0
  381. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm__factory.d.ts.map +1 -0
  382. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm__factory.js +144 -0
  383. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm__factory.js.map +1 -0
  384. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/index.d.ts +6 -0
  385. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/index.d.ts.map +1 -0
  386. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/index.js +9 -0
  387. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/index.js.map +1 -0
  388. package/dist/factories/contracts/isms/multisig/index.d.ts +3 -1
  389. package/dist/factories/contracts/isms/multisig/index.d.ts.map +1 -1
  390. package/dist/factories/contracts/isms/multisig/index.js +3 -1
  391. package/dist/factories/contracts/isms/multisig/index.js.map +1 -1
  392. package/dist/factories/contracts/isms/routing/DefaultFallbackRoutingIsm__factory.d.ts +1 -1
  393. package/dist/factories/contracts/isms/routing/DefaultFallbackRoutingIsm__factory.js +1 -1
  394. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.d.ts +1 -1
  395. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.d.ts.map +1 -1
  396. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.js +1 -1
  397. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.js.map +1 -1
  398. package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.d.ts +1 -1
  399. package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.d.ts.map +1 -1
  400. package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.js +1 -1
  401. package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.js.map +1 -1
  402. package/dist/factories/contracts/isms/routing/InterchainAccountIsm__factory.d.ts +1 -1
  403. package/dist/factories/contracts/isms/routing/InterchainAccountIsm__factory.js +1 -1
  404. package/dist/factories/contracts/isms/warp-route/RateLimitedIsm__factory.d.ts +1 -1
  405. package/dist/factories/contracts/isms/warp-route/RateLimitedIsm__factory.js +1 -1
  406. package/dist/factories/contracts/libs/StaticWeightedValidatorSetFactory__factory.d.ts +73 -0
  407. package/dist/factories/contracts/libs/StaticWeightedValidatorSetFactory__factory.d.ts.map +1 -0
  408. package/dist/factories/contracts/libs/StaticWeightedValidatorSetFactory__factory.js +101 -0
  409. package/dist/factories/contracts/libs/StaticWeightedValidatorSetFactory__factory.js.map +1 -0
  410. package/dist/factories/contracts/libs/index.d.ts +1 -0
  411. package/dist/factories/contracts/libs/index.d.ts.map +1 -1
  412. package/dist/factories/contracts/libs/index.js +1 -0
  413. package/dist/factories/contracts/libs/index.js.map +1 -1
  414. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts +1 -1
  415. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts.map +1 -1
  416. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js +1 -1
  417. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js.map +1 -1
  418. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.d.ts +1 -1
  419. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.d.ts.map +1 -1
  420. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.js +1 -1
  421. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.js.map +1 -1
  422. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.d.ts +1 -1
  423. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.d.ts.map +1 -1
  424. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.js +1 -1
  425. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.js.map +1 -1
  426. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.d.ts +1 -1
  427. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.d.ts.map +1 -1
  428. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.js +1 -1
  429. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.js.map +1 -1
  430. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.d.ts +1 -1
  431. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.d.ts.map +1 -1
  432. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.js +1 -1
  433. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.js.map +1 -1
  434. package/dist/factories/contracts/mock/MockArbBridge.sol/MockArbBridge__factory.d.ts +111 -0
  435. package/dist/factories/contracts/mock/MockArbBridge.sol/MockArbBridge__factory.d.ts.map +1 -0
  436. package/dist/factories/contracts/mock/MockArbBridge.sol/MockArbBridge__factory.js +154 -0
  437. package/dist/factories/contracts/mock/MockArbBridge.sol/MockArbBridge__factory.js.map +1 -0
  438. package/dist/factories/contracts/mock/MockArbBridge.sol/MockArbSys__factory.d.ts +89 -0
  439. package/dist/factories/contracts/mock/MockArbBridge.sol/MockArbSys__factory.d.ts.map +1 -0
  440. package/dist/factories/contracts/mock/MockArbBridge.sol/MockArbSys__factory.js +124 -0
  441. package/dist/factories/contracts/mock/MockArbBridge.sol/MockArbSys__factory.js.map +1 -0
  442. package/dist/factories/contracts/mock/MockArbBridge.sol/index.d.ts +3 -0
  443. package/dist/factories/contracts/mock/MockArbBridge.sol/index.d.ts.map +1 -0
  444. package/dist/factories/contracts/mock/MockArbBridge.sol/index.js +6 -0
  445. package/dist/factories/contracts/mock/MockArbBridge.sol/index.js.map +1 -0
  446. package/dist/factories/contracts/mock/MockERC4626YieldSharing__factory.d.ts +643 -0
  447. package/dist/factories/contracts/mock/MockERC4626YieldSharing__factory.d.ts.map +1 -0
  448. package/dist/factories/contracts/mock/MockERC4626YieldSharing__factory.js +855 -0
  449. package/dist/factories/contracts/mock/MockERC4626YieldSharing__factory.js.map +1 -0
  450. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts +21 -1
  451. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts.map +1 -1
  452. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js +27 -1
  453. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js.map +1 -1
  454. package/dist/factories/contracts/mock/MockMailbox__factory.d.ts +1 -1
  455. package/dist/factories/contracts/mock/MockMailbox__factory.js +1 -1
  456. package/dist/factories/contracts/mock/MockOptimism.sol/MockOptimismMessenger__factory.d.ts +119 -0
  457. package/dist/factories/contracts/mock/MockOptimism.sol/MockOptimismMessenger__factory.d.ts.map +1 -0
  458. package/dist/factories/contracts/mock/MockOptimism.sol/MockOptimismMessenger__factory.js +165 -0
  459. package/dist/factories/contracts/mock/MockOptimism.sol/MockOptimismMessenger__factory.js.map +1 -0
  460. package/dist/factories/contracts/mock/MockOptimism.sol/MockOptimismPortal__factory.d.ts +60 -0
  461. package/dist/factories/contracts/mock/MockOptimism.sol/MockOptimismPortal__factory.d.ts.map +1 -0
  462. package/dist/factories/contracts/mock/MockOptimism.sol/MockOptimismPortal__factory.js +89 -0
  463. package/dist/factories/contracts/mock/MockOptimism.sol/MockOptimismPortal__factory.js.map +1 -0
  464. package/dist/factories/contracts/mock/MockOptimism.sol/index.d.ts +3 -0
  465. package/dist/factories/contracts/mock/MockOptimism.sol/index.d.ts.map +1 -0
  466. package/dist/factories/contracts/mock/MockOptimism.sol/index.js +6 -0
  467. package/dist/factories/contracts/mock/MockOptimism.sol/index.js.map +1 -0
  468. package/dist/factories/contracts/mock/index.d.ts +3 -0
  469. package/dist/factories/contracts/mock/index.d.ts.map +1 -1
  470. package/dist/factories/contracts/mock/index.js +3 -0
  471. package/dist/factories/contracts/mock/index.js.map +1 -1
  472. package/dist/factories/contracts/test/ERC20Test.sol/ERC20Test__factory.d.ts +15 -1
  473. package/dist/factories/contracts/test/ERC20Test.sol/ERC20Test__factory.d.ts.map +1 -1
  474. package/dist/factories/contracts/test/ERC20Test.sol/ERC20Test__factory.js +19 -1
  475. package/dist/factories/contracts/test/ERC20Test.sol/ERC20Test__factory.js.map +1 -1
  476. package/dist/factories/contracts/test/ERC20Test.sol/FiatTokenTest__factory.d.ts +15 -1
  477. package/dist/factories/contracts/test/ERC20Test.sol/FiatTokenTest__factory.d.ts.map +1 -1
  478. package/dist/factories/contracts/test/ERC20Test.sol/FiatTokenTest__factory.js +19 -1
  479. package/dist/factories/contracts/test/ERC20Test.sol/FiatTokenTest__factory.js.map +1 -1
  480. package/dist/factories/contracts/test/ERC20Test.sol/XERC20LockboxTest__factory.d.ts +1 -1
  481. package/dist/factories/contracts/test/ERC20Test.sol/XERC20LockboxTest__factory.d.ts.map +1 -1
  482. package/dist/factories/contracts/test/ERC20Test.sol/XERC20LockboxTest__factory.js +1 -1
  483. package/dist/factories/contracts/test/ERC20Test.sol/XERC20LockboxTest__factory.js.map +1 -1
  484. package/dist/factories/contracts/test/ERC20Test.sol/XERC20Test__factory.d.ts +15 -1
  485. package/dist/factories/contracts/test/ERC20Test.sol/XERC20Test__factory.d.ts.map +1 -1
  486. package/dist/factories/contracts/test/ERC20Test.sol/XERC20Test__factory.js +19 -1
  487. package/dist/factories/contracts/test/ERC20Test.sol/XERC20Test__factory.js.map +1 -1
  488. package/dist/factories/contracts/test/ERC4626/ERC4626Test__factory.d.ts +1 -1
  489. package/dist/factories/contracts/test/ERC4626/ERC4626Test__factory.js +1 -1
  490. package/dist/factories/contracts/test/LightTestRecipient__factory.d.ts +1 -1
  491. package/dist/factories/contracts/test/LightTestRecipient__factory.js +1 -1
  492. package/dist/factories/contracts/test/TestGasRouter__factory.d.ts +1 -1
  493. package/dist/factories/contracts/test/TestGasRouter__factory.d.ts.map +1 -1
  494. package/dist/factories/contracts/test/TestGasRouter__factory.js +1 -1
  495. package/dist/factories/contracts/test/TestGasRouter__factory.js.map +1 -1
  496. package/dist/factories/contracts/test/TestInterchainGasPaymaster__factory.d.ts +1 -1
  497. package/dist/factories/contracts/test/TestInterchainGasPaymaster__factory.d.ts.map +1 -1
  498. package/dist/factories/contracts/test/TestInterchainGasPaymaster__factory.js +1 -1
  499. package/dist/factories/contracts/test/TestInterchainGasPaymaster__factory.js.map +1 -1
  500. package/dist/factories/contracts/test/TestIsm__factory.d.ts +1 -1
  501. package/dist/factories/contracts/test/TestIsm__factory.js +1 -1
  502. package/dist/factories/contracts/test/TestMailbox__factory.d.ts +1 -1
  503. package/dist/factories/contracts/test/TestMailbox__factory.js +1 -1
  504. package/dist/factories/contracts/test/TestMerkleTreeHook__factory.d.ts +1 -1
  505. package/dist/factories/contracts/test/TestMerkleTreeHook__factory.js +1 -1
  506. package/dist/factories/contracts/test/TestMerkle__factory.d.ts +1 -1
  507. package/dist/factories/contracts/test/TestMerkle__factory.js +1 -1
  508. package/dist/factories/contracts/test/TestPostDispatchHook__factory.d.ts +1 -1
  509. package/dist/factories/contracts/test/TestPostDispatchHook__factory.js +1 -1
  510. package/dist/factories/contracts/test/TestQuerySender__factory.d.ts +1 -1
  511. package/dist/factories/contracts/test/TestQuerySender__factory.js +1 -1
  512. package/dist/factories/contracts/test/TestQuery__factory.d.ts +1 -1
  513. package/dist/factories/contracts/test/TestQuery__factory.js +1 -1
  514. package/dist/factories/contracts/test/TestRecipient__factory.d.ts +1 -1
  515. package/dist/factories/contracts/test/TestRecipient__factory.js +1 -1
  516. package/dist/factories/contracts/test/TestRouter__factory.d.ts +1 -1
  517. package/dist/factories/contracts/test/TestRouter__factory.d.ts.map +1 -1
  518. package/dist/factories/contracts/test/TestRouter__factory.js +1 -1
  519. package/dist/factories/contracts/test/TestRouter__factory.js.map +1 -1
  520. package/dist/factories/contracts/test/TestSendReceiver__factory.d.ts +1 -1
  521. package/dist/factories/contracts/test/TestSendReceiver__factory.js +1 -1
  522. package/dist/factories/contracts/token/HypERC20Collateral__factory.d.ts +1 -1
  523. package/dist/factories/contracts/token/HypERC20Collateral__factory.d.ts.map +1 -1
  524. package/dist/factories/contracts/token/HypERC20Collateral__factory.js +1 -1
  525. package/dist/factories/contracts/token/HypERC20Collateral__factory.js.map +1 -1
  526. package/dist/factories/contracts/token/HypERC20__factory.d.ts +1 -1
  527. package/dist/factories/contracts/token/HypERC20__factory.d.ts.map +1 -1
  528. package/dist/factories/contracts/token/HypERC20__factory.js +1 -1
  529. package/dist/factories/contracts/token/HypERC20__factory.js.map +1 -1
  530. package/dist/factories/contracts/token/HypERC721Collateral__factory.d.ts +1 -1
  531. package/dist/factories/contracts/token/HypERC721Collateral__factory.d.ts.map +1 -1
  532. package/dist/factories/contracts/token/HypERC721Collateral__factory.js +1 -1
  533. package/dist/factories/contracts/token/HypERC721Collateral__factory.js.map +1 -1
  534. package/dist/factories/contracts/token/HypERC721__factory.d.ts +1 -1
  535. package/dist/factories/contracts/token/HypERC721__factory.js +1 -1
  536. package/dist/factories/contracts/token/HypNative__factory.d.ts +1 -1
  537. package/dist/factories/contracts/token/HypNative__factory.d.ts.map +1 -1
  538. package/dist/factories/contracts/token/HypNative__factory.js +1 -1
  539. package/dist/factories/contracts/token/HypNative__factory.js.map +1 -1
  540. package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.d.ts +1 -1
  541. package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.d.ts.map +1 -1
  542. package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.js +1 -1
  543. package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.js.map +1 -1
  544. package/dist/factories/contracts/token/extensions/FastHypERC20__factory.d.ts +1 -1
  545. package/dist/factories/contracts/token/extensions/FastHypERC20__factory.d.ts.map +1 -1
  546. package/dist/factories/contracts/token/extensions/FastHypERC20__factory.js +1 -1
  547. package/dist/factories/contracts/token/extensions/FastHypERC20__factory.js.map +1 -1
  548. package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.d.ts +469 -0
  549. package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.d.ts.map +1 -0
  550. package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.js +621 -0
  551. package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.js.map +1 -0
  552. package/dist/factories/contracts/token/extensions/{HypERC20CollateralVaultDeposit__factory.d.ts → HypERC4626OwnerCollateral__factory.d.ts} +11 -11
  553. package/dist/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.d.ts.map +1 -0
  554. package/dist/factories/contracts/token/extensions/{HypERC20CollateralVaultDeposit__factory.js → HypERC4626OwnerCollateral__factory.js} +3 -3
  555. package/dist/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.js.map +1 -0
  556. package/dist/factories/contracts/token/extensions/HypERC4626__factory.d.ts +699 -0
  557. package/dist/factories/contracts/token/extensions/HypERC4626__factory.d.ts.map +1 -0
  558. package/dist/factories/contracts/token/extensions/HypERC4626__factory.js +923 -0
  559. package/dist/factories/contracts/token/extensions/HypERC4626__factory.js.map +1 -0
  560. package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.d.ts +1 -1
  561. package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.d.ts.map +1 -1
  562. package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.js +1 -1
  563. package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.js.map +1 -1
  564. package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.d.ts +1 -1
  565. package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.js +1 -1
  566. package/dist/factories/contracts/token/extensions/HypFiatToken__factory.d.ts +1 -1
  567. package/dist/factories/contracts/token/extensions/HypFiatToken__factory.d.ts.map +1 -1
  568. package/dist/factories/contracts/token/extensions/HypFiatToken__factory.js +1 -1
  569. package/dist/factories/contracts/token/extensions/HypFiatToken__factory.js.map +1 -1
  570. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.d.ts +1 -1
  571. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.d.ts.map +1 -1
  572. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.js +1 -1
  573. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.js.map +1 -1
  574. package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.d.ts +1 -1
  575. package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.d.ts.map +1 -1
  576. package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.js +1 -1
  577. package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.js.map +1 -1
  578. package/dist/factories/contracts/token/extensions/HypXERC20__factory.d.ts +1 -1
  579. package/dist/factories/contracts/token/extensions/HypXERC20__factory.d.ts.map +1 -1
  580. package/dist/factories/contracts/token/extensions/HypXERC20__factory.js +1 -1
  581. package/dist/factories/contracts/token/extensions/HypXERC20__factory.js.map +1 -1
  582. package/dist/factories/contracts/token/extensions/index.d.ts +3 -1
  583. package/dist/factories/contracts/token/extensions/index.d.ts.map +1 -1
  584. package/dist/factories/contracts/token/extensions/index.js +3 -1
  585. package/dist/factories/contracts/token/extensions/index.js.map +1 -1
  586. package/dist/index.d.ts +46 -4
  587. package/dist/index.d.ts.map +1 -1
  588. package/dist/index.js +23 -2
  589. package/dist/index.js.map +1 -1
  590. package/package.json +5 -4
  591. package/dist/contracts/isms/multisig/AbstractMultisigIsm.d.ts.map +0 -1
  592. package/dist/contracts/isms/multisig/AbstractMultisigIsm.js.map +0 -1
  593. package/dist/contracts/token/extensions/HypERC20CollateralVaultDeposit.d.ts.map +0 -1
  594. package/dist/contracts/token/extensions/HypERC20CollateralVaultDeposit.js +0 -2
  595. package/dist/contracts/token/extensions/HypERC20CollateralVaultDeposit.js.map +0 -1
  596. package/dist/factories/contracts/isms/multisig/AbstractMultisigIsm__factory.d.ts.map +0 -1
  597. package/dist/factories/contracts/isms/multisig/AbstractMultisigIsm__factory.js.map +0 -1
  598. package/dist/factories/contracts/token/extensions/HypERC20CollateralVaultDeposit__factory.d.ts.map +0 -1
  599. package/dist/factories/contracts/token/extensions/HypERC20CollateralVaultDeposit__factory.js.map +0 -1
  600. /package/dist/contracts/isms/multisig/{AbstractMultisigIsm.js → AbstractMultisigIsm.sol/AbstractMultisigIsm.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"HypERC721Collateral__factory.js","sourceRoot":"","sources":["../../../../types/factories/contracts/token/HypERC721Collateral__factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HypERC721Collateral__factory.js","sourceRoot":"","sources":["../../../../types/factories/contracts/token/HypERC721Collateral__factory.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ export declare class HypERC721__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): HypERC721;
14
14
  connect(signer: Signer): HypERC721__factory;
15
- static readonly bytecode = "0x60c06040523480156200001157600080fd5b50604051620047c2380380620047c2833981016040819052620000349162000178565b80808080806001600160a01b0381163b620000955760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f780000604482015260640160405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001069190620001aa565b63ffffffff1660a0526200011a3362000126565b505050505050620001d2565b60c980546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602082840312156200018b57600080fd5b81516001600160a01b0381168114620001a357600080fd5b9392505050565b600060208284031215620001bd57600080fd5b815163ffffffff81168114620001a357600080fd5b60805160a0516145b56200020d60003960006105bf0152600081816106e801528181611018015281816129ea015261305001526145b56000f3fe6080604052600436106102a05760003560e01c806371a15b381161016e578063b88d4fde116100cb578063e9198bf91161007f578063efae508a11610064578063efae508a146107cd578063f2ed8c53146107ed578063f2fde38b1461080d57600080fd5b8063e9198bf914610757578063e985e9c51461077757600080fd5b8063d5438eae116100b0578063d5438eae146106d6578063de523cf31461070a578063e80a7c791461073757600080fd5b8063b88d4fde14610696578063c87b56dd146106b657600080fd5b80638da5cb5b11610122578063a22cb46511610107578063a22cb46514610636578063b1bd643614610656578063b49c53a71461067657600080fd5b80638da5cb5b146105f657806395d89b411461062157600080fd5b80637f5a7c7b116101535780637f5a7c7b1461056d57806381b4e8b41461059a5780638d3638f4146105ad57600080fd5b806371a15b381461051f578063775313a11461053f57600080fd5b80633dfd38731161021c57806351debffc116101d05780636352211e116101b55780636352211e146104ca57806370a08231146104ea578063715018a61461050a57600080fd5b806351debffc146104a457806356d5d475146104b757600080fd5b8063440df4f411610201578063440df4f41461044257806349d462ef146104645780634f6ccce71461048457600080fd5b80633dfd38731461040257806342842e0e1461042257600080fd5b80630e72cc061161027357806323b872dd1161025857806323b872dd146103a25780632ead72f6146103c25780632f745c59146103e257600080fd5b80630e72cc061461036357806318160ddd1461038357600080fd5b806301ffc9a7146102a557806306fdde03146102da578063081812fc146102fc578063095ea7b314610341575b600080fd5b3480156102b157600080fd5b506102c56102c0366004613988565b61082d565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506102ef610889565b6040516102d19190613a13565b34801561030857600080fd5b5061031c610317366004613a26565b61091b565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102d1565b34801561034d57600080fd5b5061036161035c366004613a68565b61094f565b005b34801561036f57600080fd5b5061036161037e366004613a92565b610ae0565b34801561038f57600080fd5b506099545b6040519081526020016102d1565b3480156103ae57600080fd5b506103616103bd366004613aad565b610bf6565b3480156103ce57600080fd5b506103946103dd366004613afd565b610c97565b3480156103ee57600080fd5b506103946103fd366004613a68565b610cb7565b34801561040e57600080fd5b5061036161041d366004613a92565b610d86565b34801561042e57600080fd5b5061036161043d366004613aad565b610e9c565b34801561044e57600080fd5b50610457610eb7565b6040516102d19190613b18565b34801561047057600080fd5b5061036161047f366004613b62565b610ec9565b34801561049057600080fd5b5061039461049f366004613a26565b610ef0565b6103946104b2366004613bc0565b610fae565b6103616104c5366004613c37565b611000565b3480156104d657600080fd5b5061031c6104e5366004613a26565b611174565b3480156104f657600080fd5b50610394610505366004613a92565b611200565b34801561051657600080fd5b5061036161120b565b34801561052b57600080fd5b5061036161053a366004613cd6565b61121f565b34801561054b57600080fd5b5061039461055a366004613afd565b6101606020526000908152604090205481565b34801561057957600080fd5b5060fb5461031c9073ffffffffffffffffffffffffffffffffffffffff1681565b6103946105a8366004613d18565b61127a565b3480156105b957600080fd5b506105e17f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016102d1565b34801561060257600080fd5b5060c95473ffffffffffffffffffffffffffffffffffffffff1661031c565b34801561062d57600080fd5b506102ef611288565b34801561064257600080fd5b50610361610651366004613d4b565b611297565b34801561066257600080fd5b50610361610671366004613d87565b6112a2565b34801561068257600080fd5b50610361610691366004613b62565b611328565b3480156106a257600080fd5b506103616106b1366004613ebf565b61133a565b3480156106c257600080fd5b506102ef6106d1366004613a26565b6113dc565b3480156106e257600080fd5b5061031c7f000000000000000000000000000000000000000000000000000000000000000081565b34801561071657600080fd5b5060fc5461031c9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561074357600080fd5b50610361610752366004613f5b565b611450565b34801561076357600080fd5b50610361610772366004613fed565b61161d565b34801561078357600080fd5b506102c561079236600461404d565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b3480156107d957600080fd5b506103616107e8366004613afd565b6116fc565b3480156107f957600080fd5b50610394610808366004613afd565b611710565b34801561081957600080fd5b50610361610828366004613a92565b611747565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f780e9d630000000000000000000000000000000000000000000000000000000014806108835750610883826117fb565b92915050565b60606065805461089890614080565b80601f01602080910402602001604051908101604052809291908181526020018280546108c490614080565b80156109115780601f106108e657610100808354040283529160200191610911565b820191906000526020600020905b8154815290600101906020018083116108f457829003601f168201915b5050505050905090565b6000610926826118de565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061095a82611174565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a1c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff82161480610a455750610a458133610792565b610ad1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610a13565b610adb8383611969565b505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610b1a575073ffffffffffffffffffffffffffffffffffffffff8116155b610ba6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e67000000000000000000000000000000000000000000000000006064820152608401610a13565b610bae611a09565b5060fc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610c003382611a8a565b610c8c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610a13565b610adb838383611b49565b600080610caf61012d63ffffffff80861690611e5116565b949350505050565b6000610cc283611e6a565b8210610d50576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201527f74206f6620626f756e64730000000000000000000000000000000000000000006064820152608401610a13565b5073ffffffffffffffffffffffffffffffffffffffff919091166000908152609760209081526040808320938352929052205490565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610dc0575073ffffffffffffffffffffffffffffffffffffffff8116155b610e4c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e67000000000000000000000000000000000000000000000000006064820152608401610a13565b610e54611a09565b5060fb80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610adb8383836040518060200160405280600081525061133a565b6060610ec461012d611f38565b905090565b610ed1611a09565b63ffffffff9190911660009081526101606020526040902055565b5050565b6000610efb60995490565b8210610f89576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201527f7574206f6620626f756e647300000000000000000000000000000000000000006064820152608401610a13565b60998281548110610f9c57610f9c6140d3565b90600052602060002001549050919050565b6000610ff58787873488888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a9250611ff3915050565b979650505050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146110c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f78436c69656e743a2073656e646572206e6f74206d61696c626f60448201527f78000000000000000000000000000000000000000000000000000000000000006064820152608401610a13565b60006110d08561206c565b9050838114611161576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f456e726f6c6c656420726f7574657220646f6573206e6f74206d61746368207360448201527f656e6465720000000000000000000000000000000000000000000000000000006064820152608401610a13565b61116d858585856120d3565b5050505050565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff1680610883576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610a13565b600061088382611e6a565b611213611a09565b61121d600061215d565b565b611227611a09565b8060005b8181101561127457611262848483818110611248576112486140d3565b905060200201602081019061125d9190613afd565b6121d4565b61126d600182614131565b905061122b565b50505050565b6000610caf8484843461222a565b60606066805461089890614080565b610eec338383612263565b6112aa611a09565b60005b81811015610adb576113168383838181106112ca576112ca6140d3565b6112e09260206040909202019081019150613afd565b8484848181106112f2576112f26140d3565b9050604002016020013563ffffffff90911660009081526101606020526040902055565b611321600182614131565b90506112ad565b611330611a09565b610eec8282612390565b6113443383611a8a565b6113d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610a13565b611274848484846123a7565b60606113e7826118de565b60006113fe60408051602081019091526000815290565b9050600081511161141e5760405180602001604052806000815250611449565b806114288461244a565b604051602001611439929190614144565b6040516020818303038152906040525b9392505050565b600054610100900460ff16158080156114705750600054600160ff909116105b8061148a5750303b15801561148a575060005460ff166001145b611516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610a13565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561157457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61157f848484612508565b61158986866125c2565b60005b878110156115b05761159e3382612663565b806115a881614173565b91505061158c565b50801561161457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b611625611a09565b82811461168e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e677468000000000000000000000000000000000000000000000000006044820152606401610a13565b8260005b818110156116f4576116e28686838181106116af576116af6140d3565b90506020020160208101906116c49190613afd565b8585848181106116d6576116d66140d3565b90506020020135612390565b6116ed600182614131565b9050611692565b505050505050565b611704611a09565b61170d816121d4565b50565b6040805160208101909152600080825260fb5490916108839184919073ffffffffffffffffffffffffffffffffffffffff1661267d565b61174f611a09565b73ffffffffffffffffffffffffffffffffffffffff81166117f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610a13565b61170d8161215d565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061188e57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061088357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610883565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1661170d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610a13565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915581906119c382611174565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60c95473ffffffffffffffffffffffffffffffffffffffff16331461121d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a13565b600080611a9683611174565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611b04575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80610caf57508373ffffffffffffffffffffffffffffffffffffffff16611b2a8461091b565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16611b6982611174565b73ffffffffffffffffffffffffffffffffffffffff1614611c0c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610a13565b73ffffffffffffffffffffffffffffffffffffffff8216611cae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610a13565b611cbb8383836001612693565b8273ffffffffffffffffffffffffffffffffffffffff16611cdb82611174565b73ffffffffffffffffffffffffffffffffffffffff1614611d7e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610a13565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b600080611e5e8484612830565b915091505b9250929050565b600073ffffffffffffffffffffffffffffffffffffffff8216611f0f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610a13565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b60606000611f458361286a565b9050805167ffffffffffffffff811115611f6157611f61613dfc565b604051908082528060200260200182016040528015611f8a578160200160208202803683370190505b50915060005b8151811015611fec57818181518110611fab57611fab6140d3565b6020026020010151838281518110611fc557611fc56140d3565b63ffffffff9092166020928302919091019091015280611fe481614173565b915050611f90565b5050919050565b600080611fff86612905565b9050600061200e8888846129ab565b905061201d89878388886129da565b9250878963ffffffff167fd229aacb94204188fe8042965fa6b269c62dc5818b21238779ab64bdd17efeec8960405161205891815260200190565b60405180910390a350509695505050505050565b6000808061208561012d63ffffffff80871690611e5116565b915091508161209385612a8d565b906120cb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a139190613a13565b509392505050565b60006120df8383612ac4565b905060006120ed8484612adc565b90503660006120fc8686612aec565b9150915061211261210a8590565b848484612afc565b838863ffffffff167fba20947a325f450d232530e5f5fce293e7963499d5309a07cee84a269f2f15a68560405161214b91815260200190565b60405180910390a35050505050505050565b60c9805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6121e961012d63ffffffff80841690612b0616565b6121f282612a8d565b90610eec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a139190613a13565b600061225a8585858561223c8a612b12565b60fb5473ffffffffffffffffffffffffffffffffffffffff16611ff3565b95945050505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036122f8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610a13565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610eec61012d63ffffffff808516908490612b3516565b6123b2848484611b49565b6123be84848484612b40565b611274576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610a13565b6060600061245783612d30565b600101905060008167ffffffffffffffff81111561247757612477613dfc565b6040519080825280601f01601f1916602001820160405280156124a1576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846124ab57509392505050565b600054610100900460ff1661259f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a13565b6125a7612e12565b6125b083610d86565b6125b982610ae0565b610adb8161215d565b600054610100900460ff16612659576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a13565b610eec8282612eb1565b610eec828260405180602001604052806000815250612f61565b6000610caf848461268d87612b12565b85613004565b6001811115612724576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e736563757469766520747260448201527f616e7366657273206e6f7420737570706f7274656400000000000000000000006064820152608401610a13565b8173ffffffffffffffffffffffffffffffffffffffff851661278d5761278881609980546000838152609a60205260408120829055600182018355919091527f72a152ddfb8e864297c917af52ea6c1c68aead0fee1a62673fcc7e0c94979d000155565b6127ca565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146127ca576127ca85826130d8565b73ffffffffffffffffffffffffffffffffffffffff84166127f3576127ee8161318f565b61116d565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461116d5761116d848261323e565b600081815260028301602052604081205481908061285f57612852858561328f565b925060009150611e639050565b600192509050611e63565b606060006128778361329b565b90508067ffffffffffffffff81111561289257612892613dfc565b6040519080825280602002602001820160405280156128bb578160200160208202803683370190505b50915060005b81811015611fec576128d384826132a6565b60001c8382815181106128e8576128e86140d3565b6020908102919091010152806128fd81614173565b9150506128c1565b60603361291183611174565b73ffffffffffffffffffffffffffffffffffffffff161461298e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f216f776e657200000000000000000000000000000000000000000000000000006044820152606401610a13565b612997826132b2565b505060408051602081019091526000815290565b60608383836040516020016129c2939291906141ab565b60405160208183030381529060405290509392505050565b6000806129e68761206c565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166310b83dc08789848989896040518763ffffffff1660e01b8152600401612a4a9594939291906141d8565b60206040518083038185885af1158015612a68573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ff59190614238565b6060612a9e8263ffffffff16613398565b604051602001612aae9190614251565b6040516020818303038152906040529050919050565b6000612ad36020828486614296565b611449916142c0565b6000612ad3604060208486614296565b366000611e5e8360408187614296565b6112748484612663565b60006114498383613454565b63ffffffff81166000908152610160602052604090205460609061088390613471565b61127483838361348f565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612d28576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a0290612bb79033908990889088906004016142fc565b6020604051808303816000875af1925050508015612c10575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252612c0d9181019061433b565b60015b612cdd573d808015612c3e576040519150601f19603f3d011682016040523d82523d6000602084013e612c43565b606091505b508051600003612cd5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610a13565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050610caf565b506001610caf565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612d79577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310612da5576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310612dc357662386f26fc10000830492506010015b6305f5e1008310612ddb576305f5e100830492506008015b6127108310612def57612710830492506004015b60648310612e01576064830492506002015b600a83106108835760010192915050565b600054610100900460ff16612ea9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a13565b61121d6134ac565b600054610100900460ff16612f48576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a13565b6065612f54838261439e565b506066610adb828261439e565b612f6b838361354c565b612f786000848484612b40565b610adb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610a13565b6000806130108661206c565b6040517f81d2ea9500000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906381d2ea959061308d90899085908a908a908a906004016141d8565b602060405180830381865afa1580156130aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130ce9190614238565b9695505050505050565b600060016130e584611e6a565b6130ef91906144b8565b60008381526098602052604090205490915080821461314f5773ffffffffffffffffffffffffffffffffffffffff841660009081526097602090815260408083208584528252808320548484528184208190558352609890915290208190555b50600091825260986020908152604080842084905573ffffffffffffffffffffffffffffffffffffffff9094168352609781528383209183525290812055565b6099546000906131a1906001906144b8565b6000838152609a6020526040812054609980549394509092849081106131c9576131c96140d3565b9060005260206000200154905080609983815481106131ea576131ea6140d3565b6000918252602080832090910192909255828152609a90915260408082208490558582528120556099805480613222576132226144cb565b6001900381819060005260206000200160009055905550505050565b600061324983611e6a565b73ffffffffffffffffffffffffffffffffffffffff9093166000908152609760209081526040808320868452825280832085905593825260989052919091209190915550565b6000611449838361377f565b600061088382613797565b600061144983836137a1565b60006132bd82611174565b90506132cd816000846001612693565b6132d682611174565b600083815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff85168085526068845282852080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190558785526067909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b606060006133a583612d30565b600101905060008167ffffffffffffffff8111156133c5576133c5613dfc565b6040519080825280601f01601f1916602001820160405280156133ef576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8504945084156120cb576133f9565b6000818152600283016020526040812081905561144983836137cb565b606061088360008333604051806020016040528060008152506137d7565b60008281526002840160205260408120829055610caf848461380c565b600054610100900460ff16613543576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a13565b61121d3361215d565b73ffffffffffffffffffffffffffffffffffffffff82166135c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610a13565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615613655576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610a13565b613663600083836001612693565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16156136ef576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610a13565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60008181526001830160205260408120541515611449565b6000610883825490565b60008260000182815481106137b8576137b86140d3565b9060005260206000200154905092915050565b60006114498383613818565b60606001858585856040516020016137f39594939291906144fa565b6040516020818303038152906040529050949350505050565b6000611449838361390b565b6000818152600183016020526040812054801561390157600061383c6001836144b8565b8554909150600090613850906001906144b8565b90508181146138b5576000866000018281548110613870576138706140d3565b9060005260206000200154905080876000018481548110613893576138936140d3565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806138c6576138c66144cb565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610883565b6000915050610883565b600081815260018301602052604081205461395257508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610883565b506000610883565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461170d57600080fd5b60006020828403121561399a57600080fd5b81356114498161395a565b60005b838110156139c05781810151838201526020016139a8565b50506000910152565b600081518084526139e18160208601602086016139a5565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061144960208301846139c9565b600060208284031215613a3857600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114613a6357600080fd5b919050565b60008060408385031215613a7b57600080fd5b613a8483613a3f565b946020939093013593505050565b600060208284031215613aa457600080fd5b61144982613a3f565b600080600060608486031215613ac257600080fd5b613acb84613a3f565b9250613ad960208501613a3f565b9150604084013590509250925092565b803563ffffffff81168114613a6357600080fd5b600060208284031215613b0f57600080fd5b61144982613ae9565b6020808252825182820181905260009190848201906040850190845b81811015613b5657835163ffffffff1683529284019291840191600101613b34565b50909695505050505050565b60008060408385031215613b7557600080fd5b613a8483613ae9565b60008083601f840112613b9057600080fd5b50813567ffffffffffffffff811115613ba857600080fd5b602083019150836020828501011115611e6357600080fd5b60008060008060008060a08789031215613bd957600080fd5b613be287613ae9565b95506020870135945060408701359350606087013567ffffffffffffffff811115613c0c57600080fd5b613c1889828a01613b7e565b9094509250613c2b905060808801613a3f565b90509295509295509295565b60008060008060608587031215613c4d57600080fd5b613c5685613ae9565b935060208501359250604085013567ffffffffffffffff811115613c7957600080fd5b613c8587828801613b7e565b95989497509550505050565b60008083601f840112613ca357600080fd5b50813567ffffffffffffffff811115613cbb57600080fd5b6020830191508360208260051b8501011115611e6357600080fd5b60008060208385031215613ce957600080fd5b823567ffffffffffffffff811115613d0057600080fd5b613d0c85828601613c91565b90969095509350505050565b600080600060608486031215613d2d57600080fd5b613d3684613ae9565b95602085013595506040909401359392505050565b60008060408385031215613d5e57600080fd5b613d6783613a3f565b915060208301358015158114613d7c57600080fd5b809150509250929050565b60008060208385031215613d9a57600080fd5b823567ffffffffffffffff80821115613db257600080fd5b818501915085601f830112613dc657600080fd5b813581811115613dd557600080fd5b8660208260061b8501011115613dea57600080fd5b60209290920196919550909350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff80841115613e4657613e46613dfc565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715613e8c57613e8c613dfc565b81604052809350858152868686011115613ea557600080fd5b858560208301376000602087830101525050509392505050565b60008060008060808587031215613ed557600080fd5b613ede85613a3f565b9350613eec60208601613a3f565b925060408501359150606085013567ffffffffffffffff811115613f0f57600080fd5b8501601f81018713613f2057600080fd5b613f2f87823560208401613e2b565b91505092959194509250565b600082601f830112613f4c57600080fd5b61144983833560208501613e2b565b60008060008060008060c08789031215613f7457600080fd5b86359550602087013567ffffffffffffffff80821115613f9357600080fd5b613f9f8a838b01613f3b565b96506040890135915080821115613fb557600080fd5b50613fc289828a01613f3b565b945050613fd160608801613a3f565b9250613fdf60808801613a3f565b9150613c2b60a08801613a3f565b6000806000806040858703121561400357600080fd5b843567ffffffffffffffff8082111561401b57600080fd5b61402788838901613c91565b9096509450602087013591508082111561404057600080fd5b50613c8587828801613c91565b6000806040838503121561406057600080fd5b61406983613a3f565b915061407760208401613a3f565b90509250929050565b600181811c9082168061409457607f821691505b6020821081036140cd577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561088357610883614102565b600083516141568184602088016139a5565b83519083019061416a8183602088016139a5565b01949350505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036141a4576141a4614102565b5060010190565b838152826020820152600082516141c98160408501602087016139a5565b91909101604001949350505050565b63ffffffff8616815284602082015260a0604082015260006141fd60a08301866139c9565b828103606084015261420f81866139c9565b91505073ffffffffffffffffffffffffffffffffffffffff831660808301529695505050505050565b60006020828403121561424a57600080fd5b5051919050565b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a200081526000825161428981601f8501602087016139a5565b91909101601f0192915050565b600080858511156142a657600080fd5b838611156142b357600080fd5b5050820193919092039150565b80356020831015610883577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526130ce60808301846139c9565b60006020828403121561434d57600080fd5b81516114498161395a565b601f821115610adb57600081815260208120601f850160051c8101602086101561437f5750805b601f850160051c820191505b818110156116f45782815560010161438b565b815167ffffffffffffffff8111156143b8576143b8613dfc565b6143cc816143c68454614080565b84614358565b602080601f83116001811461441f57600084156143e95750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556116f4565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561446c5788860151825594840194600190910190840161444d565b50858210156144a857878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b8181038181111561088357610883614102565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7fffff0000000000000000000000000000000000000000000000000000000000008660f01b1681528460028201528360228201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b1660428201526000825161456e8160568501602087016139a5565b91909101605601969550505050505056fea2646970667358221220ad0fd26207632575c9eb9a1bbee263967ff7673e71626aecf22df3064da40aa064736f6c63430008130033";
15
+ static readonly bytecode = "0x60c06040523480156200001157600080fd5b50604051620047c2380380620047c2833981016040819052620000349162000178565b80808080806001600160a01b0381163b620000955760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f780000604482015260640160405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001069190620001aa565b63ffffffff1660a0526200011a3362000126565b505050505050620001d2565b60c980546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602082840312156200018b57600080fd5b81516001600160a01b0381168114620001a357600080fd5b9392505050565b600060208284031215620001bd57600080fd5b815163ffffffff81168114620001a357600080fd5b60805160a0516145b56200020d60003960006105bf0152600081816106e801528181611018015281816129ea015261305001526145b56000f3fe6080604052600436106102a05760003560e01c806371a15b381161016e578063b88d4fde116100cb578063e9198bf91161007f578063efae508a11610064578063efae508a146107cd578063f2ed8c53146107ed578063f2fde38b1461080d57600080fd5b8063e9198bf914610757578063e985e9c51461077757600080fd5b8063d5438eae116100b0578063d5438eae146106d6578063de523cf31461070a578063e80a7c791461073757600080fd5b8063b88d4fde14610696578063c87b56dd146106b657600080fd5b80638da5cb5b11610122578063a22cb46511610107578063a22cb46514610636578063b1bd643614610656578063b49c53a71461067657600080fd5b80638da5cb5b146105f657806395d89b411461062157600080fd5b80637f5a7c7b116101535780637f5a7c7b1461056d57806381b4e8b41461059a5780638d3638f4146105ad57600080fd5b806371a15b381461051f578063775313a11461053f57600080fd5b80633dfd38731161021c57806351debffc116101d05780636352211e116101b55780636352211e146104ca57806370a08231146104ea578063715018a61461050a57600080fd5b806351debffc146104a457806356d5d475146104b757600080fd5b8063440df4f411610201578063440df4f41461044257806349d462ef146104645780634f6ccce71461048457600080fd5b80633dfd38731461040257806342842e0e1461042257600080fd5b80630e72cc061161027357806323b872dd1161025857806323b872dd146103a25780632ead72f6146103c25780632f745c59146103e257600080fd5b80630e72cc061461036357806318160ddd1461038357600080fd5b806301ffc9a7146102a557806306fdde03146102da578063081812fc146102fc578063095ea7b314610341575b600080fd5b3480156102b157600080fd5b506102c56102c0366004613988565b61082d565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506102ef610889565b6040516102d19190613a13565b34801561030857600080fd5b5061031c610317366004613a26565b61091b565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102d1565b34801561034d57600080fd5b5061036161035c366004613a68565b61094f565b005b34801561036f57600080fd5b5061036161037e366004613a92565b610ae0565b34801561038f57600080fd5b506099545b6040519081526020016102d1565b3480156103ae57600080fd5b506103616103bd366004613aad565b610bf6565b3480156103ce57600080fd5b506103946103dd366004613afd565b610c97565b3480156103ee57600080fd5b506103946103fd366004613a68565b610cb7565b34801561040e57600080fd5b5061036161041d366004613a92565b610d86565b34801561042e57600080fd5b5061036161043d366004613aad565b610e9c565b34801561044e57600080fd5b50610457610eb7565b6040516102d19190613b18565b34801561047057600080fd5b5061036161047f366004613b62565b610ec9565b34801561049057600080fd5b5061039461049f366004613a26565b610ef0565b6103946104b2366004613bc0565b610fae565b6103616104c5366004613c37565b611000565b3480156104d657600080fd5b5061031c6104e5366004613a26565b611174565b3480156104f657600080fd5b50610394610505366004613a92565b611200565b34801561051657600080fd5b5061036161120b565b34801561052b57600080fd5b5061036161053a366004613cd6565b61121f565b34801561054b57600080fd5b5061039461055a366004613afd565b6101606020526000908152604090205481565b34801561057957600080fd5b5060fb5461031c9073ffffffffffffffffffffffffffffffffffffffff1681565b6103946105a8366004613d18565b61127a565b3480156105b957600080fd5b506105e17f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016102d1565b34801561060257600080fd5b5060c95473ffffffffffffffffffffffffffffffffffffffff1661031c565b34801561062d57600080fd5b506102ef611288565b34801561064257600080fd5b50610361610651366004613d4b565b611297565b34801561066257600080fd5b50610361610671366004613d87565b6112a2565b34801561068257600080fd5b50610361610691366004613b62565b611328565b3480156106a257600080fd5b506103616106b1366004613ebf565b61133a565b3480156106c257600080fd5b506102ef6106d1366004613a26565b6113dc565b3480156106e257600080fd5b5061031c7f000000000000000000000000000000000000000000000000000000000000000081565b34801561071657600080fd5b5060fc5461031c9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561074357600080fd5b50610361610752366004613f5b565b611450565b34801561076357600080fd5b50610361610772366004613fed565b61161d565b34801561078357600080fd5b506102c561079236600461404d565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b3480156107d957600080fd5b506103616107e8366004613afd565b6116fc565b3480156107f957600080fd5b50610394610808366004613afd565b611710565b34801561081957600080fd5b50610361610828366004613a92565b611747565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f780e9d630000000000000000000000000000000000000000000000000000000014806108835750610883826117fb565b92915050565b60606065805461089890614080565b80601f01602080910402602001604051908101604052809291908181526020018280546108c490614080565b80156109115780601f106108e657610100808354040283529160200191610911565b820191906000526020600020905b8154815290600101906020018083116108f457829003601f168201915b5050505050905090565b6000610926826118de565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061095a82611174565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a1c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff82161480610a455750610a458133610792565b610ad1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610a13565b610adb8383611969565b505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610b1a575073ffffffffffffffffffffffffffffffffffffffff8116155b610ba6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e67000000000000000000000000000000000000000000000000006064820152608401610a13565b610bae611a09565b5060fc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610c003382611a8a565b610c8c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610a13565b610adb838383611b49565b600080610caf61012d63ffffffff80861690611e5116565b949350505050565b6000610cc283611e6a565b8210610d50576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201527f74206f6620626f756e64730000000000000000000000000000000000000000006064820152608401610a13565b5073ffffffffffffffffffffffffffffffffffffffff919091166000908152609760209081526040808320938352929052205490565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610dc0575073ffffffffffffffffffffffffffffffffffffffff8116155b610e4c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e67000000000000000000000000000000000000000000000000006064820152608401610a13565b610e54611a09565b5060fb80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610adb8383836040518060200160405280600081525061133a565b6060610ec461012d611f38565b905090565b610ed1611a09565b63ffffffff9190911660009081526101606020526040902055565b5050565b6000610efb60995490565b8210610f89576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201527f7574206f6620626f756e647300000000000000000000000000000000000000006064820152608401610a13565b60998281548110610f9c57610f9c6140d3565b90600052602060002001549050919050565b6000610ff58787873488888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a9250611ff3915050565b979650505050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146110c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f78436c69656e743a2073656e646572206e6f74206d61696c626f60448201527f78000000000000000000000000000000000000000000000000000000000000006064820152608401610a13565b60006110d08561206c565b9050838114611161576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f456e726f6c6c656420726f7574657220646f6573206e6f74206d61746368207360448201527f656e6465720000000000000000000000000000000000000000000000000000006064820152608401610a13565b61116d858585856120d2565b5050505050565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff1680610883576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610a13565b600061088382611e6a565b611213611a09565b61121d600061215c565b565b611227611a09565b8060005b8181101561127457611262848483818110611248576112486140d3565b905060200201602081019061125d9190613afd565b6121d3565b61126d600182614131565b905061122b565b50505050565b6000610caf84848434612229565b60606066805461089890614080565b610eec338383612262565b6112aa611a09565b60005b81811015610adb576113168383838181106112ca576112ca6140d3565b6112e09260206040909202019081019150613afd565b8484848181106112f2576112f26140d3565b9050604002016020013563ffffffff90911660009081526101606020526040902055565b611321600182614131565b90506112ad565b611330611a09565b610eec828261238f565b6113443383611a8a565b6113d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610a13565b611274848484846123a6565b60606113e7826118de565b60006113fe60408051602081019091526000815290565b9050600081511161141e5760405180602001604052806000815250611449565b8061142884612449565b604051602001611439929190614144565b6040516020818303038152906040525b9392505050565b600054610100900460ff16158080156114705750600054600160ff909116105b8061148a5750303b15801561148a575060005460ff166001145b611516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610a13565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561157457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61157f848484612508565b61158986866125c2565b60005b878110156115b05761159e3382612663565b806115a881614173565b91505061158c565b50801561161457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b611625611a09565b82811461168e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e677468000000000000000000000000000000000000000000000000006044820152606401610a13565b8260005b818110156116f4576116e28686838181106116af576116af6140d3565b90506020020160208101906116c49190613afd565b8585848181106116d6576116d66140d3565b9050602002013561238f565b6116ed600182614131565b9050611692565b505050505050565b611704611a09565b61170d816121d3565b50565b6040805160208101909152600080825260fb5490916108839184919073ffffffffffffffffffffffffffffffffffffffff1661267d565b61174f611a09565b73ffffffffffffffffffffffffffffffffffffffff81166117f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610a13565b61170d8161215c565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061188e57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061088357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610883565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1661170d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610a13565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915581906119c382611174565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60c95473ffffffffffffffffffffffffffffffffffffffff16331461121d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a13565b600080611a9683611174565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611b04575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80610caf57508373ffffffffffffffffffffffffffffffffffffffff16611b2a8461091b565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16611b6982611174565b73ffffffffffffffffffffffffffffffffffffffff1614611c0c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610a13565b73ffffffffffffffffffffffffffffffffffffffff8216611cae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610a13565b611cbb8383836001612693565b8273ffffffffffffffffffffffffffffffffffffffff16611cdb82611174565b73ffffffffffffffffffffffffffffffffffffffff1614611d7e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610a13565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b600080611e5e8484612830565b915091505b9250929050565b600073ffffffffffffffffffffffffffffffffffffffff8216611f0f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610a13565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b60606000611f458361286a565b9050805167ffffffffffffffff811115611f6157611f61613dfc565b604051908082528060200260200182016040528015611f8a578160200160208202803683370190505b50915060005b8151811015611fec57818181518110611fab57611fab6140d3565b6020026020010151838281518110611fc557611fc56140d3565b63ffffffff9092166020928302919091019091015280611fe481614173565b915050611f90565b5050919050565b600080611fff86612905565b9050600061200e8888846129ab565b905061201d89878388886129da565b9250878963ffffffff167fd229aacb94204188fe8042965fa6b269c62dc5818b21238779ab64bdd17efeec8960405161205891815260200190565b60405180910390a350509695505050505050565b6000808061208561012d63ffffffff80871690611e5116565b915091508115612096579392505050565b61209f84612a8d565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a139190613a13565b60006120de8383612ac4565b905060006120ec8484612adc565b90503660006120fb8686612aec565b915091506121116121098590565b848484612afc565b838863ffffffff167fba20947a325f450d232530e5f5fce293e7963499d5309a07cee84a269f2f15a68560405161214a91815260200190565b60405180910390a35050505050505050565b60c9805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6121e861012d63ffffffff80841690612b0616565b6121f182612a8d565b90610eec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a139190613a13565b60006122598585858561223b8a612b12565b60fb5473ffffffffffffffffffffffffffffffffffffffff16611ff3565b95945050505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036122f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610a13565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610eec61012d63ffffffff808516908490612b3516565b6123b1848484611b49565b6123bd84848484612b40565b611274576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610a13565b6060600061245683612d30565b600101905060008167ffffffffffffffff81111561247657612476613dfc565b6040519080825280601f01601f1916602001820160405280156124a0576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846124aa575b509392505050565b600054610100900460ff1661259f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a13565b6125a7612e12565b6125b083610d86565b6125b982610ae0565b610adb8161215c565b600054610100900460ff16612659576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a13565b610eec8282612eb1565b610eec828260405180602001604052806000815250612f61565b6000610caf848461268d87612b12565b85613004565b6001811115612724576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e736563757469766520747260448201527f616e7366657273206e6f7420737570706f7274656400000000000000000000006064820152608401610a13565b8173ffffffffffffffffffffffffffffffffffffffff851661278d5761278881609980546000838152609a60205260408120829055600182018355919091527f72a152ddfb8e864297c917af52ea6c1c68aead0fee1a62673fcc7e0c94979d000155565b6127ca565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146127ca576127ca85826130d8565b73ffffffffffffffffffffffffffffffffffffffff84166127f3576127ee8161318f565b61116d565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461116d5761116d848261323e565b600081815260028301602052604081205481908061285f57612852858561328f565b925060009150611e639050565b600192509050611e63565b606060006128778361329b565b90508067ffffffffffffffff81111561289257612892613dfc565b6040519080825280602002602001820160405280156128bb578160200160208202803683370190505b50915060005b81811015611fec576128d384826132a6565b60001c8382815181106128e8576128e86140d3565b6020908102919091010152806128fd81614173565b9150506128c1565b60603361291183611174565b73ffffffffffffffffffffffffffffffffffffffff161461298e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f216f776e657200000000000000000000000000000000000000000000000000006044820152606401610a13565b612997826132b2565b505060408051602081019091526000815290565b60608383836040516020016129c2939291906141ab565b60405160208183030381529060405290509392505050565b6000806129e68761206c565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166310b83dc08789848989896040518763ffffffff1660e01b8152600401612a4a9594939291906141d8565b60206040518083038185885af1158015612a68573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ff59190614238565b6060612a9e8263ffffffff16613398565b604051602001612aae9190614251565b6040516020818303038152906040529050919050565b6000612ad36020828486614296565b611449916142c0565b6000612ad3604060208486614296565b366000611e5e8360408187614296565b6112748484612663565b60006114498383613454565b63ffffffff81166000908152610160602052604090205460609061088390613471565b61127483838361348f565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612d28576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a0290612bb79033908990889088906004016142fc565b6020604051808303816000875af1925050508015612c10575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252612c0d9181019061433b565b60015b612cdd573d808015612c3e576040519150601f19603f3d011682016040523d82523d6000602084013e612c43565b606091505b508051600003612cd5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610a13565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050610caf565b506001610caf565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612d79577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310612da5576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310612dc357662386f26fc10000830492506010015b6305f5e1008310612ddb576305f5e100830492506008015b6127108310612def57612710830492506004015b60648310612e01576064830492506002015b600a83106108835760010192915050565b600054610100900460ff16612ea9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a13565b61121d6134ac565b600054610100900460ff16612f48576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a13565b6065612f54838261439e565b506066610adb828261439e565b612f6b838361354c565b612f786000848484612b40565b610adb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610a13565b6000806130108661206c565b6040517f81d2ea9500000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906381d2ea959061308d90899085908a908a908a906004016141d8565b602060405180830381865afa1580156130aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130ce9190614238565b9695505050505050565b600060016130e584611e6a565b6130ef91906144b8565b60008381526098602052604090205490915080821461314f5773ffffffffffffffffffffffffffffffffffffffff841660009081526097602090815260408083208584528252808320548484528184208190558352609890915290208190555b50600091825260986020908152604080842084905573ffffffffffffffffffffffffffffffffffffffff9094168352609781528383209183525290812055565b6099546000906131a1906001906144b8565b6000838152609a6020526040812054609980549394509092849081106131c9576131c96140d3565b9060005260206000200154905080609983815481106131ea576131ea6140d3565b6000918252602080832090910192909255828152609a90915260408082208490558582528120556099805480613222576132226144cb565b6001900381819060005260206000200160009055905550505050565b600061324983611e6a565b73ffffffffffffffffffffffffffffffffffffffff9093166000908152609760209081526040808320868452825280832085905593825260989052919091209190915550565b6000611449838361377f565b600061088382613797565b600061144983836137a1565b60006132bd82611174565b90506132cd816000846001612693565b6132d682611174565b600083815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff85168085526068845282852080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190558785526067909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b606060006133a583612d30565b600101905060008167ffffffffffffffff8111156133c5576133c5613dfc565b6040519080825280601f01601f1916602001820160405280156133ef576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508415612500576133f9565b6000818152600283016020526040812081905561144983836137cb565b606061088360008333604051806020016040528060008152506137d7565b60008281526002840160205260408120829055610caf848461380c565b600054610100900460ff16613543576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a13565b61121d3361215c565b73ffffffffffffffffffffffffffffffffffffffff82166135c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610a13565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615613655576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610a13565b613663600083836001612693565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16156136ef576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610a13565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60008181526001830160205260408120541515611449565b6000610883825490565b60008260000182815481106137b8576137b86140d3565b9060005260206000200154905092915050565b60006114498383613818565b60606001858585856040516020016137f39594939291906144fa565b6040516020818303038152906040529050949350505050565b6000611449838361390b565b6000818152600183016020526040812054801561390157600061383c6001836144b8565b8554909150600090613850906001906144b8565b90508181146138b5576000866000018281548110613870576138706140d3565b9060005260206000200154905080876000018481548110613893576138936140d3565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806138c6576138c66144cb565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610883565b6000915050610883565b600081815260018301602052604081205461395257508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610883565b506000610883565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461170d57600080fd5b60006020828403121561399a57600080fd5b81356114498161395a565b60005b838110156139c05781810151838201526020016139a8565b50506000910152565b600081518084526139e18160208601602086016139a5565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061144960208301846139c9565b600060208284031215613a3857600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114613a6357600080fd5b919050565b60008060408385031215613a7b57600080fd5b613a8483613a3f565b946020939093013593505050565b600060208284031215613aa457600080fd5b61144982613a3f565b600080600060608486031215613ac257600080fd5b613acb84613a3f565b9250613ad960208501613a3f565b9150604084013590509250925092565b803563ffffffff81168114613a6357600080fd5b600060208284031215613b0f57600080fd5b61144982613ae9565b6020808252825182820181905260009190848201906040850190845b81811015613b5657835163ffffffff1683529284019291840191600101613b34565b50909695505050505050565b60008060408385031215613b7557600080fd5b613a8483613ae9565b60008083601f840112613b9057600080fd5b50813567ffffffffffffffff811115613ba857600080fd5b602083019150836020828501011115611e6357600080fd5b60008060008060008060a08789031215613bd957600080fd5b613be287613ae9565b95506020870135945060408701359350606087013567ffffffffffffffff811115613c0c57600080fd5b613c1889828a01613b7e565b9094509250613c2b905060808801613a3f565b90509295509295509295565b60008060008060608587031215613c4d57600080fd5b613c5685613ae9565b935060208501359250604085013567ffffffffffffffff811115613c7957600080fd5b613c8587828801613b7e565b95989497509550505050565b60008083601f840112613ca357600080fd5b50813567ffffffffffffffff811115613cbb57600080fd5b6020830191508360208260051b8501011115611e6357600080fd5b60008060208385031215613ce957600080fd5b823567ffffffffffffffff811115613d0057600080fd5b613d0c85828601613c91565b90969095509350505050565b600080600060608486031215613d2d57600080fd5b613d3684613ae9565b95602085013595506040909401359392505050565b60008060408385031215613d5e57600080fd5b613d6783613a3f565b915060208301358015158114613d7c57600080fd5b809150509250929050565b60008060208385031215613d9a57600080fd5b823567ffffffffffffffff80821115613db257600080fd5b818501915085601f830112613dc657600080fd5b813581811115613dd557600080fd5b8660208260061b8501011115613dea57600080fd5b60209290920196919550909350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff80841115613e4657613e46613dfc565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715613e8c57613e8c613dfc565b81604052809350858152868686011115613ea557600080fd5b858560208301376000602087830101525050509392505050565b60008060008060808587031215613ed557600080fd5b613ede85613a3f565b9350613eec60208601613a3f565b925060408501359150606085013567ffffffffffffffff811115613f0f57600080fd5b8501601f81018713613f2057600080fd5b613f2f87823560208401613e2b565b91505092959194509250565b600082601f830112613f4c57600080fd5b61144983833560208501613e2b565b60008060008060008060c08789031215613f7457600080fd5b86359550602087013567ffffffffffffffff80821115613f9357600080fd5b613f9f8a838b01613f3b565b96506040890135915080821115613fb557600080fd5b50613fc289828a01613f3b565b945050613fd160608801613a3f565b9250613fdf60808801613a3f565b9150613c2b60a08801613a3f565b6000806000806040858703121561400357600080fd5b843567ffffffffffffffff8082111561401b57600080fd5b61402788838901613c91565b9096509450602087013591508082111561404057600080fd5b50613c8587828801613c91565b6000806040838503121561406057600080fd5b61406983613a3f565b915061407760208401613a3f565b90509250929050565b600181811c9082168061409457607f821691505b6020821081036140cd577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561088357610883614102565b600083516141568184602088016139a5565b83519083019061416a8183602088016139a5565b01949350505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036141a4576141a4614102565b5060010190565b838152826020820152600082516141c98160408501602087016139a5565b91909101604001949350505050565b63ffffffff8616815284602082015260a0604082015260006141fd60a08301866139c9565b828103606084015261420f81866139c9565b91505073ffffffffffffffffffffffffffffffffffffffff831660808301529695505050505050565b60006020828403121561424a57600080fd5b5051919050565b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a200081526000825161428981601f8501602087016139a5565b91909101601f0192915050565b600080858511156142a657600080fd5b838611156142b357600080fd5b5050820193919092039150565b80356020831015610883577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526130ce60808301846139c9565b60006020828403121561434d57600080fd5b81516114498161395a565b601f821115610adb57600081815260208120601f850160051c8101602086101561437f5750805b601f850160051c820191505b818110156116f45782815560010161438b565b815167ffffffffffffffff8111156143b8576143b8613dfc565b6143cc816143c68454614080565b84614358565b602080601f83116001811461441f57600084156143e95750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556116f4565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561446c5788860151825594840194600190910190840161444d565b50858210156144a857878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b8181038181111561088357610883614102565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7fffff0000000000000000000000000000000000000000000000000000000000008660f01b1681528460028201528360228201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b1660428201526000825161456e8160568501602087016139a5565b91909101605601969550505050505056fea2646970667358221220caadfc3e50719e05ee1b98df0dbfe522736279b7f7735fc651c4afd82935726764736f6c63430008130033";
16
16
  static readonly abi: readonly [{
17
17
  readonly inputs: readonly [{
18
18
  readonly internalType: "address";
@@ -898,7 +898,7 @@ const _abi = [
898
898
  type: "function",
899
899
  },
900
900
  ];
901
- const _bytecode = "0x60c06040523480156200001157600080fd5b50604051620047c2380380620047c2833981016040819052620000349162000178565b80808080806001600160a01b0381163b620000955760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f780000604482015260640160405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001069190620001aa565b63ffffffff1660a0526200011a3362000126565b505050505050620001d2565b60c980546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602082840312156200018b57600080fd5b81516001600160a01b0381168114620001a357600080fd5b9392505050565b600060208284031215620001bd57600080fd5b815163ffffffff81168114620001a357600080fd5b60805160a0516145b56200020d60003960006105bf0152600081816106e801528181611018015281816129ea015261305001526145b56000f3fe6080604052600436106102a05760003560e01c806371a15b381161016e578063b88d4fde116100cb578063e9198bf91161007f578063efae508a11610064578063efae508a146107cd578063f2ed8c53146107ed578063f2fde38b1461080d57600080fd5b8063e9198bf914610757578063e985e9c51461077757600080fd5b8063d5438eae116100b0578063d5438eae146106d6578063de523cf31461070a578063e80a7c791461073757600080fd5b8063b88d4fde14610696578063c87b56dd146106b657600080fd5b80638da5cb5b11610122578063a22cb46511610107578063a22cb46514610636578063b1bd643614610656578063b49c53a71461067657600080fd5b80638da5cb5b146105f657806395d89b411461062157600080fd5b80637f5a7c7b116101535780637f5a7c7b1461056d57806381b4e8b41461059a5780638d3638f4146105ad57600080fd5b806371a15b381461051f578063775313a11461053f57600080fd5b80633dfd38731161021c57806351debffc116101d05780636352211e116101b55780636352211e146104ca57806370a08231146104ea578063715018a61461050a57600080fd5b806351debffc146104a457806356d5d475146104b757600080fd5b8063440df4f411610201578063440df4f41461044257806349d462ef146104645780634f6ccce71461048457600080fd5b80633dfd38731461040257806342842e0e1461042257600080fd5b80630e72cc061161027357806323b872dd1161025857806323b872dd146103a25780632ead72f6146103c25780632f745c59146103e257600080fd5b80630e72cc061461036357806318160ddd1461038357600080fd5b806301ffc9a7146102a557806306fdde03146102da578063081812fc146102fc578063095ea7b314610341575b600080fd5b3480156102b157600080fd5b506102c56102c0366004613988565b61082d565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506102ef610889565b6040516102d19190613a13565b34801561030857600080fd5b5061031c610317366004613a26565b61091b565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102d1565b34801561034d57600080fd5b5061036161035c366004613a68565b61094f565b005b34801561036f57600080fd5b5061036161037e366004613a92565b610ae0565b34801561038f57600080fd5b506099545b6040519081526020016102d1565b3480156103ae57600080fd5b506103616103bd366004613aad565b610bf6565b3480156103ce57600080fd5b506103946103dd366004613afd565b610c97565b3480156103ee57600080fd5b506103946103fd366004613a68565b610cb7565b34801561040e57600080fd5b5061036161041d366004613a92565b610d86565b34801561042e57600080fd5b5061036161043d366004613aad565b610e9c565b34801561044e57600080fd5b50610457610eb7565b6040516102d19190613b18565b34801561047057600080fd5b5061036161047f366004613b62565b610ec9565b34801561049057600080fd5b5061039461049f366004613a26565b610ef0565b6103946104b2366004613bc0565b610fae565b6103616104c5366004613c37565b611000565b3480156104d657600080fd5b5061031c6104e5366004613a26565b611174565b3480156104f657600080fd5b50610394610505366004613a92565b611200565b34801561051657600080fd5b5061036161120b565b34801561052b57600080fd5b5061036161053a366004613cd6565b61121f565b34801561054b57600080fd5b5061039461055a366004613afd565b6101606020526000908152604090205481565b34801561057957600080fd5b5060fb5461031c9073ffffffffffffffffffffffffffffffffffffffff1681565b6103946105a8366004613d18565b61127a565b3480156105b957600080fd5b506105e17f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016102d1565b34801561060257600080fd5b5060c95473ffffffffffffffffffffffffffffffffffffffff1661031c565b34801561062d57600080fd5b506102ef611288565b34801561064257600080fd5b50610361610651366004613d4b565b611297565b34801561066257600080fd5b50610361610671366004613d87565b6112a2565b34801561068257600080fd5b50610361610691366004613b62565b611328565b3480156106a257600080fd5b506103616106b1366004613ebf565b61133a565b3480156106c257600080fd5b506102ef6106d1366004613a26565b6113dc565b3480156106e257600080fd5b5061031c7f000000000000000000000000000000000000000000000000000000000000000081565b34801561071657600080fd5b5060fc5461031c9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561074357600080fd5b50610361610752366004613f5b565b611450565b34801561076357600080fd5b50610361610772366004613fed565b61161d565b34801561078357600080fd5b506102c561079236600461404d565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b3480156107d957600080fd5b506103616107e8366004613afd565b6116fc565b3480156107f957600080fd5b50610394610808366004613afd565b611710565b34801561081957600080fd5b50610361610828366004613a92565b611747565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f780e9d630000000000000000000000000000000000000000000000000000000014806108835750610883826117fb565b92915050565b60606065805461089890614080565b80601f01602080910402602001604051908101604052809291908181526020018280546108c490614080565b80156109115780601f106108e657610100808354040283529160200191610911565b820191906000526020600020905b8154815290600101906020018083116108f457829003601f168201915b5050505050905090565b6000610926826118de565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061095a82611174565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a1c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff82161480610a455750610a458133610792565b610ad1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610a13565b610adb8383611969565b505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610b1a575073ffffffffffffffffffffffffffffffffffffffff8116155b610ba6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e67000000000000000000000000000000000000000000000000006064820152608401610a13565b610bae611a09565b5060fc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610c003382611a8a565b610c8c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610a13565b610adb838383611b49565b600080610caf61012d63ffffffff80861690611e5116565b949350505050565b6000610cc283611e6a565b8210610d50576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201527f74206f6620626f756e64730000000000000000000000000000000000000000006064820152608401610a13565b5073ffffffffffffffffffffffffffffffffffffffff919091166000908152609760209081526040808320938352929052205490565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610dc0575073ffffffffffffffffffffffffffffffffffffffff8116155b610e4c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e67000000000000000000000000000000000000000000000000006064820152608401610a13565b610e54611a09565b5060fb80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610adb8383836040518060200160405280600081525061133a565b6060610ec461012d611f38565b905090565b610ed1611a09565b63ffffffff9190911660009081526101606020526040902055565b5050565b6000610efb60995490565b8210610f89576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201527f7574206f6620626f756e647300000000000000000000000000000000000000006064820152608401610a13565b60998281548110610f9c57610f9c6140d3565b90600052602060002001549050919050565b6000610ff58787873488888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a9250611ff3915050565b979650505050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146110c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f78436c69656e743a2073656e646572206e6f74206d61696c626f60448201527f78000000000000000000000000000000000000000000000000000000000000006064820152608401610a13565b60006110d08561206c565b9050838114611161576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f456e726f6c6c656420726f7574657220646f6573206e6f74206d61746368207360448201527f656e6465720000000000000000000000000000000000000000000000000000006064820152608401610a13565b61116d858585856120d3565b5050505050565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff1680610883576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610a13565b600061088382611e6a565b611213611a09565b61121d600061215d565b565b611227611a09565b8060005b8181101561127457611262848483818110611248576112486140d3565b905060200201602081019061125d9190613afd565b6121d4565b61126d600182614131565b905061122b565b50505050565b6000610caf8484843461222a565b60606066805461089890614080565b610eec338383612263565b6112aa611a09565b60005b81811015610adb576113168383838181106112ca576112ca6140d3565b6112e09260206040909202019081019150613afd565b8484848181106112f2576112f26140d3565b9050604002016020013563ffffffff90911660009081526101606020526040902055565b611321600182614131565b90506112ad565b611330611a09565b610eec8282612390565b6113443383611a8a565b6113d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610a13565b611274848484846123a7565b60606113e7826118de565b60006113fe60408051602081019091526000815290565b9050600081511161141e5760405180602001604052806000815250611449565b806114288461244a565b604051602001611439929190614144565b6040516020818303038152906040525b9392505050565b600054610100900460ff16158080156114705750600054600160ff909116105b8061148a5750303b15801561148a575060005460ff166001145b611516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610a13565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561157457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61157f848484612508565b61158986866125c2565b60005b878110156115b05761159e3382612663565b806115a881614173565b91505061158c565b50801561161457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b611625611a09565b82811461168e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e677468000000000000000000000000000000000000000000000000006044820152606401610a13565b8260005b818110156116f4576116e28686838181106116af576116af6140d3565b90506020020160208101906116c49190613afd565b8585848181106116d6576116d66140d3565b90506020020135612390565b6116ed600182614131565b9050611692565b505050505050565b611704611a09565b61170d816121d4565b50565b6040805160208101909152600080825260fb5490916108839184919073ffffffffffffffffffffffffffffffffffffffff1661267d565b61174f611a09565b73ffffffffffffffffffffffffffffffffffffffff81166117f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610a13565b61170d8161215d565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061188e57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061088357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610883565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1661170d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610a13565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915581906119c382611174565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60c95473ffffffffffffffffffffffffffffffffffffffff16331461121d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a13565b600080611a9683611174565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611b04575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80610caf57508373ffffffffffffffffffffffffffffffffffffffff16611b2a8461091b565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16611b6982611174565b73ffffffffffffffffffffffffffffffffffffffff1614611c0c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610a13565b73ffffffffffffffffffffffffffffffffffffffff8216611cae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610a13565b611cbb8383836001612693565b8273ffffffffffffffffffffffffffffffffffffffff16611cdb82611174565b73ffffffffffffffffffffffffffffffffffffffff1614611d7e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610a13565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b600080611e5e8484612830565b915091505b9250929050565b600073ffffffffffffffffffffffffffffffffffffffff8216611f0f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610a13565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b60606000611f458361286a565b9050805167ffffffffffffffff811115611f6157611f61613dfc565b604051908082528060200260200182016040528015611f8a578160200160208202803683370190505b50915060005b8151811015611fec57818181518110611fab57611fab6140d3565b6020026020010151838281518110611fc557611fc56140d3565b63ffffffff9092166020928302919091019091015280611fe481614173565b915050611f90565b5050919050565b600080611fff86612905565b9050600061200e8888846129ab565b905061201d89878388886129da565b9250878963ffffffff167fd229aacb94204188fe8042965fa6b269c62dc5818b21238779ab64bdd17efeec8960405161205891815260200190565b60405180910390a350509695505050505050565b6000808061208561012d63ffffffff80871690611e5116565b915091508161209385612a8d565b906120cb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a139190613a13565b509392505050565b60006120df8383612ac4565b905060006120ed8484612adc565b90503660006120fc8686612aec565b9150915061211261210a8590565b848484612afc565b838863ffffffff167fba20947a325f450d232530e5f5fce293e7963499d5309a07cee84a269f2f15a68560405161214b91815260200190565b60405180910390a35050505050505050565b60c9805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6121e961012d63ffffffff80841690612b0616565b6121f282612a8d565b90610eec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a139190613a13565b600061225a8585858561223c8a612b12565b60fb5473ffffffffffffffffffffffffffffffffffffffff16611ff3565b95945050505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036122f8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610a13565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610eec61012d63ffffffff808516908490612b3516565b6123b2848484611b49565b6123be84848484612b40565b611274576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610a13565b6060600061245783612d30565b600101905060008167ffffffffffffffff81111561247757612477613dfc565b6040519080825280601f01601f1916602001820160405280156124a1576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846124ab57509392505050565b600054610100900460ff1661259f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a13565b6125a7612e12565b6125b083610d86565b6125b982610ae0565b610adb8161215d565b600054610100900460ff16612659576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a13565b610eec8282612eb1565b610eec828260405180602001604052806000815250612f61565b6000610caf848461268d87612b12565b85613004565b6001811115612724576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e736563757469766520747260448201527f616e7366657273206e6f7420737570706f7274656400000000000000000000006064820152608401610a13565b8173ffffffffffffffffffffffffffffffffffffffff851661278d5761278881609980546000838152609a60205260408120829055600182018355919091527f72a152ddfb8e864297c917af52ea6c1c68aead0fee1a62673fcc7e0c94979d000155565b6127ca565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146127ca576127ca85826130d8565b73ffffffffffffffffffffffffffffffffffffffff84166127f3576127ee8161318f565b61116d565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461116d5761116d848261323e565b600081815260028301602052604081205481908061285f57612852858561328f565b925060009150611e639050565b600192509050611e63565b606060006128778361329b565b90508067ffffffffffffffff81111561289257612892613dfc565b6040519080825280602002602001820160405280156128bb578160200160208202803683370190505b50915060005b81811015611fec576128d384826132a6565b60001c8382815181106128e8576128e86140d3565b6020908102919091010152806128fd81614173565b9150506128c1565b60603361291183611174565b73ffffffffffffffffffffffffffffffffffffffff161461298e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f216f776e657200000000000000000000000000000000000000000000000000006044820152606401610a13565b612997826132b2565b505060408051602081019091526000815290565b60608383836040516020016129c2939291906141ab565b60405160208183030381529060405290509392505050565b6000806129e68761206c565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166310b83dc08789848989896040518763ffffffff1660e01b8152600401612a4a9594939291906141d8565b60206040518083038185885af1158015612a68573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ff59190614238565b6060612a9e8263ffffffff16613398565b604051602001612aae9190614251565b6040516020818303038152906040529050919050565b6000612ad36020828486614296565b611449916142c0565b6000612ad3604060208486614296565b366000611e5e8360408187614296565b6112748484612663565b60006114498383613454565b63ffffffff81166000908152610160602052604090205460609061088390613471565b61127483838361348f565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612d28576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a0290612bb79033908990889088906004016142fc565b6020604051808303816000875af1925050508015612c10575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252612c0d9181019061433b565b60015b612cdd573d808015612c3e576040519150601f19603f3d011682016040523d82523d6000602084013e612c43565b606091505b508051600003612cd5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610a13565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050610caf565b506001610caf565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612d79577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310612da5576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310612dc357662386f26fc10000830492506010015b6305f5e1008310612ddb576305f5e100830492506008015b6127108310612def57612710830492506004015b60648310612e01576064830492506002015b600a83106108835760010192915050565b600054610100900460ff16612ea9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a13565b61121d6134ac565b600054610100900460ff16612f48576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a13565b6065612f54838261439e565b506066610adb828261439e565b612f6b838361354c565b612f786000848484612b40565b610adb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610a13565b6000806130108661206c565b6040517f81d2ea9500000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906381d2ea959061308d90899085908a908a908a906004016141d8565b602060405180830381865afa1580156130aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130ce9190614238565b9695505050505050565b600060016130e584611e6a565b6130ef91906144b8565b60008381526098602052604090205490915080821461314f5773ffffffffffffffffffffffffffffffffffffffff841660009081526097602090815260408083208584528252808320548484528184208190558352609890915290208190555b50600091825260986020908152604080842084905573ffffffffffffffffffffffffffffffffffffffff9094168352609781528383209183525290812055565b6099546000906131a1906001906144b8565b6000838152609a6020526040812054609980549394509092849081106131c9576131c96140d3565b9060005260206000200154905080609983815481106131ea576131ea6140d3565b6000918252602080832090910192909255828152609a90915260408082208490558582528120556099805480613222576132226144cb565b6001900381819060005260206000200160009055905550505050565b600061324983611e6a565b73ffffffffffffffffffffffffffffffffffffffff9093166000908152609760209081526040808320868452825280832085905593825260989052919091209190915550565b6000611449838361377f565b600061088382613797565b600061144983836137a1565b60006132bd82611174565b90506132cd816000846001612693565b6132d682611174565b600083815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff85168085526068845282852080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190558785526067909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b606060006133a583612d30565b600101905060008167ffffffffffffffff8111156133c5576133c5613dfc565b6040519080825280601f01601f1916602001820160405280156133ef576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8504945084156120cb576133f9565b6000818152600283016020526040812081905561144983836137cb565b606061088360008333604051806020016040528060008152506137d7565b60008281526002840160205260408120829055610caf848461380c565b600054610100900460ff16613543576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a13565b61121d3361215d565b73ffffffffffffffffffffffffffffffffffffffff82166135c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610a13565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615613655576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610a13565b613663600083836001612693565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16156136ef576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610a13565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60008181526001830160205260408120541515611449565b6000610883825490565b60008260000182815481106137b8576137b86140d3565b9060005260206000200154905092915050565b60006114498383613818565b60606001858585856040516020016137f39594939291906144fa565b6040516020818303038152906040529050949350505050565b6000611449838361390b565b6000818152600183016020526040812054801561390157600061383c6001836144b8565b8554909150600090613850906001906144b8565b90508181146138b5576000866000018281548110613870576138706140d3565b9060005260206000200154905080876000018481548110613893576138936140d3565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806138c6576138c66144cb565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610883565b6000915050610883565b600081815260018301602052604081205461395257508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610883565b506000610883565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461170d57600080fd5b60006020828403121561399a57600080fd5b81356114498161395a565b60005b838110156139c05781810151838201526020016139a8565b50506000910152565b600081518084526139e18160208601602086016139a5565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061144960208301846139c9565b600060208284031215613a3857600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114613a6357600080fd5b919050565b60008060408385031215613a7b57600080fd5b613a8483613a3f565b946020939093013593505050565b600060208284031215613aa457600080fd5b61144982613a3f565b600080600060608486031215613ac257600080fd5b613acb84613a3f565b9250613ad960208501613a3f565b9150604084013590509250925092565b803563ffffffff81168114613a6357600080fd5b600060208284031215613b0f57600080fd5b61144982613ae9565b6020808252825182820181905260009190848201906040850190845b81811015613b5657835163ffffffff1683529284019291840191600101613b34565b50909695505050505050565b60008060408385031215613b7557600080fd5b613a8483613ae9565b60008083601f840112613b9057600080fd5b50813567ffffffffffffffff811115613ba857600080fd5b602083019150836020828501011115611e6357600080fd5b60008060008060008060a08789031215613bd957600080fd5b613be287613ae9565b95506020870135945060408701359350606087013567ffffffffffffffff811115613c0c57600080fd5b613c1889828a01613b7e565b9094509250613c2b905060808801613a3f565b90509295509295509295565b60008060008060608587031215613c4d57600080fd5b613c5685613ae9565b935060208501359250604085013567ffffffffffffffff811115613c7957600080fd5b613c8587828801613b7e565b95989497509550505050565b60008083601f840112613ca357600080fd5b50813567ffffffffffffffff811115613cbb57600080fd5b6020830191508360208260051b8501011115611e6357600080fd5b60008060208385031215613ce957600080fd5b823567ffffffffffffffff811115613d0057600080fd5b613d0c85828601613c91565b90969095509350505050565b600080600060608486031215613d2d57600080fd5b613d3684613ae9565b95602085013595506040909401359392505050565b60008060408385031215613d5e57600080fd5b613d6783613a3f565b915060208301358015158114613d7c57600080fd5b809150509250929050565b60008060208385031215613d9a57600080fd5b823567ffffffffffffffff80821115613db257600080fd5b818501915085601f830112613dc657600080fd5b813581811115613dd557600080fd5b8660208260061b8501011115613dea57600080fd5b60209290920196919550909350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff80841115613e4657613e46613dfc565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715613e8c57613e8c613dfc565b81604052809350858152868686011115613ea557600080fd5b858560208301376000602087830101525050509392505050565b60008060008060808587031215613ed557600080fd5b613ede85613a3f565b9350613eec60208601613a3f565b925060408501359150606085013567ffffffffffffffff811115613f0f57600080fd5b8501601f81018713613f2057600080fd5b613f2f87823560208401613e2b565b91505092959194509250565b600082601f830112613f4c57600080fd5b61144983833560208501613e2b565b60008060008060008060c08789031215613f7457600080fd5b86359550602087013567ffffffffffffffff80821115613f9357600080fd5b613f9f8a838b01613f3b565b96506040890135915080821115613fb557600080fd5b50613fc289828a01613f3b565b945050613fd160608801613a3f565b9250613fdf60808801613a3f565b9150613c2b60a08801613a3f565b6000806000806040858703121561400357600080fd5b843567ffffffffffffffff8082111561401b57600080fd5b61402788838901613c91565b9096509450602087013591508082111561404057600080fd5b50613c8587828801613c91565b6000806040838503121561406057600080fd5b61406983613a3f565b915061407760208401613a3f565b90509250929050565b600181811c9082168061409457607f821691505b6020821081036140cd577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561088357610883614102565b600083516141568184602088016139a5565b83519083019061416a8183602088016139a5565b01949350505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036141a4576141a4614102565b5060010190565b838152826020820152600082516141c98160408501602087016139a5565b91909101604001949350505050565b63ffffffff8616815284602082015260a0604082015260006141fd60a08301866139c9565b828103606084015261420f81866139c9565b91505073ffffffffffffffffffffffffffffffffffffffff831660808301529695505050505050565b60006020828403121561424a57600080fd5b5051919050565b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a200081526000825161428981601f8501602087016139a5565b91909101601f0192915050565b600080858511156142a657600080fd5b838611156142b357600080fd5b5050820193919092039150565b80356020831015610883577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526130ce60808301846139c9565b60006020828403121561434d57600080fd5b81516114498161395a565b601f821115610adb57600081815260208120601f850160051c8101602086101561437f5750805b601f850160051c820191505b818110156116f45782815560010161438b565b815167ffffffffffffffff8111156143b8576143b8613dfc565b6143cc816143c68454614080565b84614358565b602080601f83116001811461441f57600084156143e95750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556116f4565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561446c5788860151825594840194600190910190840161444d565b50858210156144a857878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b8181038181111561088357610883614102565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7fffff0000000000000000000000000000000000000000000000000000000000008660f01b1681528460028201528360228201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b1660428201526000825161456e8160568501602087016139a5565b91909101605601969550505050505056fea2646970667358221220ad0fd26207632575c9eb9a1bbee263967ff7673e71626aecf22df3064da40aa064736f6c63430008130033";
901
+ const _bytecode = "0x60c06040523480156200001157600080fd5b50604051620047c2380380620047c2833981016040819052620000349162000178565b80808080806001600160a01b0381163b620000955760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f780000604482015260640160405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001069190620001aa565b63ffffffff1660a0526200011a3362000126565b505050505050620001d2565b60c980546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602082840312156200018b57600080fd5b81516001600160a01b0381168114620001a357600080fd5b9392505050565b600060208284031215620001bd57600080fd5b815163ffffffff81168114620001a357600080fd5b60805160a0516145b56200020d60003960006105bf0152600081816106e801528181611018015281816129ea015261305001526145b56000f3fe6080604052600436106102a05760003560e01c806371a15b381161016e578063b88d4fde116100cb578063e9198bf91161007f578063efae508a11610064578063efae508a146107cd578063f2ed8c53146107ed578063f2fde38b1461080d57600080fd5b8063e9198bf914610757578063e985e9c51461077757600080fd5b8063d5438eae116100b0578063d5438eae146106d6578063de523cf31461070a578063e80a7c791461073757600080fd5b8063b88d4fde14610696578063c87b56dd146106b657600080fd5b80638da5cb5b11610122578063a22cb46511610107578063a22cb46514610636578063b1bd643614610656578063b49c53a71461067657600080fd5b80638da5cb5b146105f657806395d89b411461062157600080fd5b80637f5a7c7b116101535780637f5a7c7b1461056d57806381b4e8b41461059a5780638d3638f4146105ad57600080fd5b806371a15b381461051f578063775313a11461053f57600080fd5b80633dfd38731161021c57806351debffc116101d05780636352211e116101b55780636352211e146104ca57806370a08231146104ea578063715018a61461050a57600080fd5b806351debffc146104a457806356d5d475146104b757600080fd5b8063440df4f411610201578063440df4f41461044257806349d462ef146104645780634f6ccce71461048457600080fd5b80633dfd38731461040257806342842e0e1461042257600080fd5b80630e72cc061161027357806323b872dd1161025857806323b872dd146103a25780632ead72f6146103c25780632f745c59146103e257600080fd5b80630e72cc061461036357806318160ddd1461038357600080fd5b806301ffc9a7146102a557806306fdde03146102da578063081812fc146102fc578063095ea7b314610341575b600080fd5b3480156102b157600080fd5b506102c56102c0366004613988565b61082d565b60405190151581526020015b60405180910390f35b3480156102e657600080fd5b506102ef610889565b6040516102d19190613a13565b34801561030857600080fd5b5061031c610317366004613a26565b61091b565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102d1565b34801561034d57600080fd5b5061036161035c366004613a68565b61094f565b005b34801561036f57600080fd5b5061036161037e366004613a92565b610ae0565b34801561038f57600080fd5b506099545b6040519081526020016102d1565b3480156103ae57600080fd5b506103616103bd366004613aad565b610bf6565b3480156103ce57600080fd5b506103946103dd366004613afd565b610c97565b3480156103ee57600080fd5b506103946103fd366004613a68565b610cb7565b34801561040e57600080fd5b5061036161041d366004613a92565b610d86565b34801561042e57600080fd5b5061036161043d366004613aad565b610e9c565b34801561044e57600080fd5b50610457610eb7565b6040516102d19190613b18565b34801561047057600080fd5b5061036161047f366004613b62565b610ec9565b34801561049057600080fd5b5061039461049f366004613a26565b610ef0565b6103946104b2366004613bc0565b610fae565b6103616104c5366004613c37565b611000565b3480156104d657600080fd5b5061031c6104e5366004613a26565b611174565b3480156104f657600080fd5b50610394610505366004613a92565b611200565b34801561051657600080fd5b5061036161120b565b34801561052b57600080fd5b5061036161053a366004613cd6565b61121f565b34801561054b57600080fd5b5061039461055a366004613afd565b6101606020526000908152604090205481565b34801561057957600080fd5b5060fb5461031c9073ffffffffffffffffffffffffffffffffffffffff1681565b6103946105a8366004613d18565b61127a565b3480156105b957600080fd5b506105e17f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016102d1565b34801561060257600080fd5b5060c95473ffffffffffffffffffffffffffffffffffffffff1661031c565b34801561062d57600080fd5b506102ef611288565b34801561064257600080fd5b50610361610651366004613d4b565b611297565b34801561066257600080fd5b50610361610671366004613d87565b6112a2565b34801561068257600080fd5b50610361610691366004613b62565b611328565b3480156106a257600080fd5b506103616106b1366004613ebf565b61133a565b3480156106c257600080fd5b506102ef6106d1366004613a26565b6113dc565b3480156106e257600080fd5b5061031c7f000000000000000000000000000000000000000000000000000000000000000081565b34801561071657600080fd5b5060fc5461031c9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561074357600080fd5b50610361610752366004613f5b565b611450565b34801561076357600080fd5b50610361610772366004613fed565b61161d565b34801561078357600080fd5b506102c561079236600461404d565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152606a6020908152604080832093909416825291909152205460ff1690565b3480156107d957600080fd5b506103616107e8366004613afd565b6116fc565b3480156107f957600080fd5b50610394610808366004613afd565b611710565b34801561081957600080fd5b50610361610828366004613a92565b611747565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f780e9d630000000000000000000000000000000000000000000000000000000014806108835750610883826117fb565b92915050565b60606065805461089890614080565b80601f01602080910402602001604051908101604052809291908181526020018280546108c490614080565b80156109115780601f106108e657610100808354040283529160200191610911565b820191906000526020600020905b8154815290600101906020018083116108f457829003601f168201915b5050505050905090565b6000610926826118de565b5060009081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b600061095a82611174565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a1c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff82161480610a455750610a458133610792565b610ad1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610a13565b610adb8383611969565b505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610b1a575073ffffffffffffffffffffffffffffffffffffffff8116155b610ba6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e67000000000000000000000000000000000000000000000000006064820152608401610a13565b610bae611a09565b5060fc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610c003382611a8a565b610c8c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610a13565b610adb838383611b49565b600080610caf61012d63ffffffff80861690611e5116565b949350505050565b6000610cc283611e6a565b8210610d50576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201527f74206f6620626f756e64730000000000000000000000000000000000000000006064820152608401610a13565b5073ffffffffffffffffffffffffffffffffffffffff919091166000908152609760209081526040808320938352929052205490565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610dc0575073ffffffffffffffffffffffffffffffffffffffff8116155b610e4c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e67000000000000000000000000000000000000000000000000006064820152608401610a13565b610e54611a09565b5060fb80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610adb8383836040518060200160405280600081525061133a565b6060610ec461012d611f38565b905090565b610ed1611a09565b63ffffffff9190911660009081526101606020526040902055565b5050565b6000610efb60995490565b8210610f89576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201527f7574206f6620626f756e647300000000000000000000000000000000000000006064820152608401610a13565b60998281548110610f9c57610f9c6140d3565b90600052602060002001549050919050565b6000610ff58787873488888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a9250611ff3915050565b979650505050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146110c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f78436c69656e743a2073656e646572206e6f74206d61696c626f60448201527f78000000000000000000000000000000000000000000000000000000000000006064820152608401610a13565b60006110d08561206c565b9050838114611161576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f456e726f6c6c656420726f7574657220646f6573206e6f74206d61746368207360448201527f656e6465720000000000000000000000000000000000000000000000000000006064820152608401610a13565b61116d858585856120d2565b5050505050565b60008181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff1680610883576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610a13565b600061088382611e6a565b611213611a09565b61121d600061215c565b565b611227611a09565b8060005b8181101561127457611262848483818110611248576112486140d3565b905060200201602081019061125d9190613afd565b6121d3565b61126d600182614131565b905061122b565b50505050565b6000610caf84848434612229565b60606066805461089890614080565b610eec338383612262565b6112aa611a09565b60005b81811015610adb576113168383838181106112ca576112ca6140d3565b6112e09260206040909202019081019150613afd565b8484848181106112f2576112f26140d3565b9050604002016020013563ffffffff90911660009081526101606020526040902055565b611321600182614131565b90506112ad565b611330611a09565b610eec828261238f565b6113443383611a8a565b6113d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610a13565b611274848484846123a6565b60606113e7826118de565b60006113fe60408051602081019091526000815290565b9050600081511161141e5760405180602001604052806000815250611449565b8061142884612449565b604051602001611439929190614144565b6040516020818303038152906040525b9392505050565b600054610100900460ff16158080156114705750600054600160ff909116105b8061148a5750303b15801561148a575060005460ff166001145b611516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610a13565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561157457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61157f848484612508565b61158986866125c2565b60005b878110156115b05761159e3382612663565b806115a881614173565b91505061158c565b50801561161457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b611625611a09565b82811461168e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e677468000000000000000000000000000000000000000000000000006044820152606401610a13565b8260005b818110156116f4576116e28686838181106116af576116af6140d3565b90506020020160208101906116c49190613afd565b8585848181106116d6576116d66140d3565b9050602002013561238f565b6116ed600182614131565b9050611692565b505050505050565b611704611a09565b61170d816121d3565b50565b6040805160208101909152600080825260fb5490916108839184919073ffffffffffffffffffffffffffffffffffffffff1661267d565b61174f611a09565b73ffffffffffffffffffffffffffffffffffffffff81166117f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610a13565b61170d8161215c565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd00000000000000000000000000000000000000000000000000000000148061188e57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061088357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610883565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1661170d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610a13565b600081815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841690811790915581906119c382611174565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60c95473ffffffffffffffffffffffffffffffffffffffff16331461121d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a13565b600080611a9683611174565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611b04575073ffffffffffffffffffffffffffffffffffffffff8082166000908152606a602090815260408083209388168352929052205460ff165b80610caf57508373ffffffffffffffffffffffffffffffffffffffff16611b2a8461091b565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff16611b6982611174565b73ffffffffffffffffffffffffffffffffffffffff1614611c0c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610a13565b73ffffffffffffffffffffffffffffffffffffffff8216611cae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610a13565b611cbb8383836001612693565b8273ffffffffffffffffffffffffffffffffffffffff16611cdb82611174565b73ffffffffffffffffffffffffffffffffffffffff1614611d7e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610a13565b600081815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b600080611e5e8484612830565b915091505b9250929050565b600073ffffffffffffffffffffffffffffffffffffffff8216611f0f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610a13565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526068602052604090205490565b60606000611f458361286a565b9050805167ffffffffffffffff811115611f6157611f61613dfc565b604051908082528060200260200182016040528015611f8a578160200160208202803683370190505b50915060005b8151811015611fec57818181518110611fab57611fab6140d3565b6020026020010151838281518110611fc557611fc56140d3565b63ffffffff9092166020928302919091019091015280611fe481614173565b915050611f90565b5050919050565b600080611fff86612905565b9050600061200e8888846129ab565b905061201d89878388886129da565b9250878963ffffffff167fd229aacb94204188fe8042965fa6b269c62dc5818b21238779ab64bdd17efeec8960405161205891815260200190565b60405180910390a350509695505050505050565b6000808061208561012d63ffffffff80871690611e5116565b915091508115612096579392505050565b61209f84612a8d565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a139190613a13565b60006120de8383612ac4565b905060006120ec8484612adc565b90503660006120fb8686612aec565b915091506121116121098590565b848484612afc565b838863ffffffff167fba20947a325f450d232530e5f5fce293e7963499d5309a07cee84a269f2f15a68560405161214a91815260200190565b60405180910390a35050505050505050565b60c9805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6121e861012d63ffffffff80841690612b0616565b6121f182612a8d565b90610eec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a139190613a13565b60006122598585858561223b8a612b12565b60fb5473ffffffffffffffffffffffffffffffffffffffff16611ff3565b95945050505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036122f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610a13565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610eec61012d63ffffffff808516908490612b3516565b6123b1848484611b49565b6123bd84848484612b40565b611274576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610a13565b6060600061245683612d30565b600101905060008167ffffffffffffffff81111561247657612476613dfc565b6040519080825280601f01601f1916602001820160405280156124a0576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846124aa575b509392505050565b600054610100900460ff1661259f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a13565b6125a7612e12565b6125b083610d86565b6125b982610ae0565b610adb8161215c565b600054610100900460ff16612659576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a13565b610eec8282612eb1565b610eec828260405180602001604052806000815250612f61565b6000610caf848461268d87612b12565b85613004565b6001811115612724576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e736563757469766520747260448201527f616e7366657273206e6f7420737570706f7274656400000000000000000000006064820152608401610a13565b8173ffffffffffffffffffffffffffffffffffffffff851661278d5761278881609980546000838152609a60205260408120829055600182018355919091527f72a152ddfb8e864297c917af52ea6c1c68aead0fee1a62673fcc7e0c94979d000155565b6127ca565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146127ca576127ca85826130d8565b73ffffffffffffffffffffffffffffffffffffffff84166127f3576127ee8161318f565b61116d565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461116d5761116d848261323e565b600081815260028301602052604081205481908061285f57612852858561328f565b925060009150611e639050565b600192509050611e63565b606060006128778361329b565b90508067ffffffffffffffff81111561289257612892613dfc565b6040519080825280602002602001820160405280156128bb578160200160208202803683370190505b50915060005b81811015611fec576128d384826132a6565b60001c8382815181106128e8576128e86140d3565b6020908102919091010152806128fd81614173565b9150506128c1565b60603361291183611174565b73ffffffffffffffffffffffffffffffffffffffff161461298e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f216f776e657200000000000000000000000000000000000000000000000000006044820152606401610a13565b612997826132b2565b505060408051602081019091526000815290565b60608383836040516020016129c2939291906141ab565b60405160208183030381529060405290509392505050565b6000806129e68761206c565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166310b83dc08789848989896040518763ffffffff1660e01b8152600401612a4a9594939291906141d8565b60206040518083038185885af1158015612a68573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ff59190614238565b6060612a9e8263ffffffff16613398565b604051602001612aae9190614251565b6040516020818303038152906040529050919050565b6000612ad36020828486614296565b611449916142c0565b6000612ad3604060208486614296565b366000611e5e8360408187614296565b6112748484612663565b60006114498383613454565b63ffffffff81166000908152610160602052604090205460609061088390613471565b61127483838361348f565b600073ffffffffffffffffffffffffffffffffffffffff84163b15612d28576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a0290612bb79033908990889088906004016142fc565b6020604051808303816000875af1925050508015612c10575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252612c0d9181019061433b565b60015b612cdd573d808015612c3e576040519150601f19603f3d011682016040523d82523d6000602084013e612c43565b606091505b508051600003612cd5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610a13565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050610caf565b506001610caf565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612d79577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310612da5576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310612dc357662386f26fc10000830492506010015b6305f5e1008310612ddb576305f5e100830492506008015b6127108310612def57612710830492506004015b60648310612e01576064830492506002015b600a83106108835760010192915050565b600054610100900460ff16612ea9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a13565b61121d6134ac565b600054610100900460ff16612f48576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a13565b6065612f54838261439e565b506066610adb828261439e565b612f6b838361354c565b612f786000848484612b40565b610adb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610a13565b6000806130108661206c565b6040517f81d2ea9500000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906381d2ea959061308d90899085908a908a908a906004016141d8565b602060405180830381865afa1580156130aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130ce9190614238565b9695505050505050565b600060016130e584611e6a565b6130ef91906144b8565b60008381526098602052604090205490915080821461314f5773ffffffffffffffffffffffffffffffffffffffff841660009081526097602090815260408083208584528252808320548484528184208190558352609890915290208190555b50600091825260986020908152604080842084905573ffffffffffffffffffffffffffffffffffffffff9094168352609781528383209183525290812055565b6099546000906131a1906001906144b8565b6000838152609a6020526040812054609980549394509092849081106131c9576131c96140d3565b9060005260206000200154905080609983815481106131ea576131ea6140d3565b6000918252602080832090910192909255828152609a90915260408082208490558582528120556099805480613222576132226144cb565b6001900381819060005260206000200160009055905550505050565b600061324983611e6a565b73ffffffffffffffffffffffffffffffffffffffff9093166000908152609760209081526040808320868452825280832085905593825260989052919091209190915550565b6000611449838361377f565b600061088382613797565b600061144983836137a1565b60006132bd82611174565b90506132cd816000846001612693565b6132d682611174565b600083815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff85168085526068845282852080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190558785526067909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b606060006133a583612d30565b600101905060008167ffffffffffffffff8111156133c5576133c5613dfc565b6040519080825280601f01601f1916602001820160405280156133ef576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508415612500576133f9565b6000818152600283016020526040812081905561144983836137cb565b606061088360008333604051806020016040528060008152506137d7565b60008281526002840160205260408120829055610caf848461380c565b600054610100900460ff16613543576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a13565b61121d3361215c565b73ffffffffffffffffffffffffffffffffffffffff82166135c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610a13565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615613655576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610a13565b613663600083836001612693565b60008181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16156136ef576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610a13565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60008181526001830160205260408120541515611449565b6000610883825490565b60008260000182815481106137b8576137b86140d3565b9060005260206000200154905092915050565b60006114498383613818565b60606001858585856040516020016137f39594939291906144fa565b6040516020818303038152906040529050949350505050565b6000611449838361390b565b6000818152600183016020526040812054801561390157600061383c6001836144b8565b8554909150600090613850906001906144b8565b90508181146138b5576000866000018281548110613870576138706140d3565b9060005260206000200154905080876000018481548110613893576138936140d3565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806138c6576138c66144cb565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610883565b6000915050610883565b600081815260018301602052604081205461395257508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610883565b506000610883565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461170d57600080fd5b60006020828403121561399a57600080fd5b81356114498161395a565b60005b838110156139c05781810151838201526020016139a8565b50506000910152565b600081518084526139e18160208601602086016139a5565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061144960208301846139c9565b600060208284031215613a3857600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114613a6357600080fd5b919050565b60008060408385031215613a7b57600080fd5b613a8483613a3f565b946020939093013593505050565b600060208284031215613aa457600080fd5b61144982613a3f565b600080600060608486031215613ac257600080fd5b613acb84613a3f565b9250613ad960208501613a3f565b9150604084013590509250925092565b803563ffffffff81168114613a6357600080fd5b600060208284031215613b0f57600080fd5b61144982613ae9565b6020808252825182820181905260009190848201906040850190845b81811015613b5657835163ffffffff1683529284019291840191600101613b34565b50909695505050505050565b60008060408385031215613b7557600080fd5b613a8483613ae9565b60008083601f840112613b9057600080fd5b50813567ffffffffffffffff811115613ba857600080fd5b602083019150836020828501011115611e6357600080fd5b60008060008060008060a08789031215613bd957600080fd5b613be287613ae9565b95506020870135945060408701359350606087013567ffffffffffffffff811115613c0c57600080fd5b613c1889828a01613b7e565b9094509250613c2b905060808801613a3f565b90509295509295509295565b60008060008060608587031215613c4d57600080fd5b613c5685613ae9565b935060208501359250604085013567ffffffffffffffff811115613c7957600080fd5b613c8587828801613b7e565b95989497509550505050565b60008083601f840112613ca357600080fd5b50813567ffffffffffffffff811115613cbb57600080fd5b6020830191508360208260051b8501011115611e6357600080fd5b60008060208385031215613ce957600080fd5b823567ffffffffffffffff811115613d0057600080fd5b613d0c85828601613c91565b90969095509350505050565b600080600060608486031215613d2d57600080fd5b613d3684613ae9565b95602085013595506040909401359392505050565b60008060408385031215613d5e57600080fd5b613d6783613a3f565b915060208301358015158114613d7c57600080fd5b809150509250929050565b60008060208385031215613d9a57600080fd5b823567ffffffffffffffff80821115613db257600080fd5b818501915085601f830112613dc657600080fd5b813581811115613dd557600080fd5b8660208260061b8501011115613dea57600080fd5b60209290920196919550909350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff80841115613e4657613e46613dfc565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715613e8c57613e8c613dfc565b81604052809350858152868686011115613ea557600080fd5b858560208301376000602087830101525050509392505050565b60008060008060808587031215613ed557600080fd5b613ede85613a3f565b9350613eec60208601613a3f565b925060408501359150606085013567ffffffffffffffff811115613f0f57600080fd5b8501601f81018713613f2057600080fd5b613f2f87823560208401613e2b565b91505092959194509250565b600082601f830112613f4c57600080fd5b61144983833560208501613e2b565b60008060008060008060c08789031215613f7457600080fd5b86359550602087013567ffffffffffffffff80821115613f9357600080fd5b613f9f8a838b01613f3b565b96506040890135915080821115613fb557600080fd5b50613fc289828a01613f3b565b945050613fd160608801613a3f565b9250613fdf60808801613a3f565b9150613c2b60a08801613a3f565b6000806000806040858703121561400357600080fd5b843567ffffffffffffffff8082111561401b57600080fd5b61402788838901613c91565b9096509450602087013591508082111561404057600080fd5b50613c8587828801613c91565b6000806040838503121561406057600080fd5b61406983613a3f565b915061407760208401613a3f565b90509250929050565b600181811c9082168061409457607f821691505b6020821081036140cd577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561088357610883614102565b600083516141568184602088016139a5565b83519083019061416a8183602088016139a5565b01949350505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036141a4576141a4614102565b5060010190565b838152826020820152600082516141c98160408501602087016139a5565b91909101604001949350505050565b63ffffffff8616815284602082015260a0604082015260006141fd60a08301866139c9565b828103606084015261420f81866139c9565b91505073ffffffffffffffffffffffffffffffffffffffff831660808301529695505050505050565b60006020828403121561424a57600080fd5b5051919050565b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a200081526000825161428981601f8501602087016139a5565b91909101601f0192915050565b600080858511156142a657600080fd5b838611156142b357600080fd5b5050820193919092039150565b80356020831015610883577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526130ce60808301846139c9565b60006020828403121561434d57600080fd5b81516114498161395a565b601f821115610adb57600081815260208120601f850160051c8101602086101561437f5750805b601f850160051c820191505b818110156116f45782815560010161438b565b815167ffffffffffffffff8111156143b8576143b8613dfc565b6143cc816143c68454614080565b84614358565b602080601f83116001811461441f57600084156143e95750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556116f4565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561446c5788860151825594840194600190910190840161444d565b50858210156144a857878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b8181038181111561088357610883614102565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7fffff0000000000000000000000000000000000000000000000000000000000008660f01b1681528460028201528360228201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b1660428201526000825161456e8160568501602087016139a5565b91909101605601969550505050505056fea2646970667358221220caadfc3e50719e05ee1b98df0dbfe522736279b7f7735fc651c4afd82935726764736f6c63430008130033";
902
902
  const isSuperArgs = (xs) => xs.length > 1;
903
903
  export class HypERC721__factory extends ContractFactory {
904
904
  constructor(...args) {
@@ -12,7 +12,7 @@ export declare class HypNative__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): HypNative;
14
14
  connect(signer: Signer): HypNative__factory;
15
- static readonly bytecode = "0x60c06040523480156200001157600080fd5b50604051620026bf380380620026bf833981016040819052620000349162000178565b80808080806001600160a01b0381163b620000955760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f780000604482015260640160405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001069190620001aa565b63ffffffff1660a0526200011a3362000126565b505050505050620001d2565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602082840312156200018b57600080fd5b81516001600160a01b0381168114620001a357600080fd5b9392505050565b600060208284031215620001bd57600080fd5b815163ffffffff81168114620001a357600080fd5b60805160a0516124b26200020d60003960006103bb01526000818161048f0152818161084f0152818161148001526116c701526124b26000f3fe60806040526004361061018f5760003560e01c806381b4e8b4116100d6578063d5438eae1161007f578063efae508a11610059578063efae508a146104fe578063f2ed8c531461051e578063f2fde38b1461053e57600080fd5b8063d5438eae1461047d578063de523cf3146104b1578063e9198bf9146104de57600080fd5b8063b1bd6436116100b0578063b1bd64361461041d578063b49c53a71461043d578063c0c53b8b1461045d57600080fd5b806381b4e8b4146103965780638d3638f4146103a95780638da5cb5b146103f257600080fd5b806356d5d4751161013857806371a15b381161011257806371a15b38146102f7578063775313a1146103175780637f5a7c7b1461034457600080fd5b806356d5d4751461029a57806370a08231146102ad578063715018a6146102e257600080fd5b8063440df4f411610169578063440df4f41461024557806349d462ef1461026757806351debffc1461028757600080fd5b80630e72cc06146101d05780632ead72f6146101f25780633dfd38731461022557600080fd5b366101cb5760405134815233907f5d8bc849764969eb1bcc6d0a2f55999d0167c1ccec240a4f39cf664ca9c4148e9060200160405180910390a2005b600080fd5b3480156101dc57600080fd5b506101f06101eb366004611d68565b61055e565b005b3480156101fe57600080fd5b5061021261020d366004611d97565b610679565b6040519081526020015b60405180910390f35b34801561023157600080fd5b506101f0610240366004611d68565b610698565b34801561025157600080fd5b5061025a6107ae565b60405161021c9190611db2565b34801561027357600080fd5b506101f0610282366004611dfc565b6107bf565b610212610295366004611e68565b6107e5565b6101f06102a8366004611edf565b610837565b3480156102b957600080fd5b506102126102c8366004611d68565b73ffffffffffffffffffffffffffffffffffffffff163190565b3480156102ee57600080fd5b506101f06109ab565b34801561030357600080fd5b506101f0610312366004611f7e565b6109bf565b34801561032357600080fd5b50610212610332366004611d97565b60ca6020526000908152604090205481565b34801561035057600080fd5b506065546103719073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161021c565b6102126103a4366004611fc0565b610a1a565b3480156103b557600080fd5b506103dd7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff909116815260200161021c565b3480156103fe57600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff16610371565b34801561042957600080fd5b506101f0610438366004611ff3565b610aa9565b34801561044957600080fd5b506101f0610458366004611dfc565b610b33565b34801561046957600080fd5b506101f0610478366004612068565b610b45565b34801561048957600080fd5b506103717f000000000000000000000000000000000000000000000000000000000000000081565b3480156104bd57600080fd5b506066546103719073ffffffffffffffffffffffffffffffffffffffff1681565b3480156104ea57600080fd5b506101f06104f93660046120ab565b610cdc565b34801561050a57600080fd5b506101f0610519366004611d97565b610dbb565b34801561052a57600080fd5b50610212610539366004611d97565b610dcf565b34801561054a57600080fd5b506101f0610559366004611d68565b610e0c565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610598575073ffffffffffffffffffffffffffffffffffffffff8116155b610629576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610631610ec0565b50606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600080610690609763ffffffff80861690610f4116565b949350505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b1515806106d2575073ffffffffffffffffffffffffffffffffffffffff8116155b61075e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e67000000000000000000000000000000000000000000000000006064820152608401610620565b610766610ec0565b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60606107ba6097610f5a565b905090565b6107c7610ec0565b63ffffffff91909116600090815260ca6020526040902055565b5050565b600061082c8787873488888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a9250611015915050565b979650505050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146108fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f78436c69656e743a2073656e646572206e6f74206d61696c626f60448201527f78000000000000000000000000000000000000000000000000000000000000006064820152608401610620565b60006109078561109a565b9050838114610998576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f456e726f6c6c656420726f7574657220646f6573206e6f74206d61746368207360448201527f656e6465720000000000000000000000000000000000000000000000000000006064820152608401610620565b6109a485858585611100565b5050505050565b6109b3610ec0565b6109bd600061118a565b565b6109c7610ec0565b8060005b81811015610a1457610a028484838181106109e8576109e861210b565b90506020020160208101906109fd9190611d97565b611201565b610a0d600182612169565b90506109cb565b50505050565b600081341015610a86576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4e61746976653a20616d6f756e742065786365656473206d73672e76616c75656044820152606401610620565b6000610a92833461217c565b9050610aa085858584611256565b95945050505050565b610ab1610ec0565b60005b81811015610b2e57610b1c838383818110610ad157610ad161210b565b610ae79260206040909202019081019150611d97565b848484818110610af957610af961210b565b9050604002016020013563ffffffff909116600090815260ca6020526040902055565b610b27600182612169565b9050610ab4565b505050565b610b3b610ec0565b6107e18282611286565b600054610100900460ff1615808015610b655750600054600160ff909116105b80610b7f5750303b158015610b7f575060005460ff166001145b610c0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610620565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610c6957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610c7484848461129c565b8015610a1457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150505050565b610ce4610ec0565b828114610d4d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e677468000000000000000000000000000000000000000000000000006044820152606401610620565b8260005b81811015610db357610da1868683818110610d6e57610d6e61210b565b9050602002016020810190610d839190611d97565b858584818110610d9557610d9561210b565b90506020020135611286565b610dac600182612169565b9050610d51565b505050505050565b610dc3610ec0565b610dcc81611201565b50565b604080516020810190915260008082526065549091610e069184919073ffffffffffffffffffffffffffffffffffffffff16611356565b92915050565b610e14610ec0565b73ffffffffffffffffffffffffffffffffffffffff8116610eb7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610620565b610dcc8161118a565b60335473ffffffffffffffffffffffffffffffffffffffff1633146109bd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610620565b600080610f4e848461136c565b915091505b9250929050565b60606000610f67836113a6565b9050805167ffffffffffffffff811115610f8357610f8361218f565b604051908082528060200260200182016040528015610fac578160200160208202803683370190505b50915060005b815181101561100e57818181518110610fcd57610fcd61210b565b6020026020010151838281518110610fe757610fe761210b565b63ffffffff9092166020928302919091019091015280611006816121be565b915050610fb2565b5050919050565b60008061102d60408051602081019091526000815290565b9050600061103c888884611441565b905061104b8987838888611470565b9250878963ffffffff167fd229aacb94204188fe8042965fa6b269c62dc5818b21238779ab64bdd17efeec8960405161108691815260200190565b60405180910390a350509695505050505050565b600080806110b2609763ffffffff80871690610f4116565b91509150816110c085611523565b906110f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106209190612264565b509392505050565b600061110c838361155a565b9050600061111a8484611579565b90503660006111298686611589565b9150915061113f6111378590565b848484611599565b838863ffffffff167fba20947a325f450d232530e5f5fce293e7963499d5309a07cee84a269f2f15a68560405161117891815260200190565b60405180910390a35050505050505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b611215609763ffffffff808416906115a316565b61121e82611523565b906107e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106209190612264565b6000610aa0858585856112688a6115af565b60655473ffffffffffffffffffffffffffffffffffffffff16611015565b6107e1609763ffffffff8085169084906115d116565b600054610100900460ff16611333576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610620565b61133b6115dc565b61134483610698565b61134d8261055e565b610b2e8161118a565b60006106908484611366876115af565b8561167b565b600081815260028301602052604081205481908061139b5761138e858561174f565b925060009150610f539050565b600192509050610f53565b606060006113b38361175b565b90508067ffffffffffffffff8111156113ce576113ce61218f565b6040519080825280602002602001820160405280156113f7578160200160208202803683370190505b50915060005b8181101561100e5761140f8482611766565b60001c8382815181106114245761142461210b565b602090810291909101015280611439816121be565b9150506113fd565b606083838360405160200161145893929190612277565b60405160208183030381529060405290509392505050565b60008061147c8761109a565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166310b83dc08789848989896040518763ffffffff1660e01b81526004016114e09594939291906122a4565b60206040518083038185885af11580156114fe573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061082c9190612304565b60606115348263ffffffff16611772565b604051602001611544919061231d565b6040516020818303038152906040529050919050565b60006115696020828486612362565b6115729161238c565b9392505050565b6000611569604060208486612362565b366000610f4e8360408187612362565b610a148484611830565b6000611572838361198a565b63ffffffff8116600090815260ca6020526040902054606090610e06906119a7565b610a148383836119c5565b600054610100900460ff16611673576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610620565b6109bd6119e2565b6000806116878661109a565b6040517f81d2ea9500000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906381d2ea959061170490899085908a908a908a906004016122a4565b602060405180830381865afa158015611721573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117459190612304565b9695505050505050565b60006115728383611a82565b6000610e0682611a9a565b60006115728383611aa4565b6060600061177f83611ace565b600101905060008167ffffffffffffffff81111561179f5761179f61218f565b6040519080825280601f01601f1916602001820160405280156117c9576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846117d357509392505050565b8047101561189a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610620565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146118f4576040519150601f19603f3d011682016040523d82523d6000602084013e6118f9565b606091505b5050905080610b2e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610620565b600081815260028301602052604081208190556115728383611bb0565b6060610e066000833360405180602001604052806000815250611bbc565b600082815260028401602052604081208290556106908484611bf1565b600054610100900460ff16611a79576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610620565b6109bd3361118a565b60008181526001830160205260408120541515611572565b6000610e06825490565b6000826000018281548110611abb57611abb61210b565b9060005260206000200154905092915050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611b17577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310611b43576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611b6157662386f26fc10000830492506010015b6305f5e1008310611b79576305f5e100830492506008015b6127108310611b8d57612710830492506004015b60648310611b9f576064830492506002015b600a8310610e065760010192915050565b60006115728383611bfd565b6060600185858585604051602001611bd89594939291906123c8565b6040516020818303038152906040529050949350505050565b60006115728383611cf0565b60008181526001830160205260408120548015611ce6576000611c2160018361217c565b8554909150600090611c359060019061217c565b9050818114611c9a576000866000018281548110611c5557611c5561210b565b9060005260206000200154905080876000018481548110611c7857611c7861210b565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611cab57611cab61244d565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610e06565b6000915050610e06565b6000818152600183016020526040812054611d3757508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610e06565b506000610e06565b803573ffffffffffffffffffffffffffffffffffffffff81168114611d6357600080fd5b919050565b600060208284031215611d7a57600080fd5b61157282611d3f565b803563ffffffff81168114611d6357600080fd5b600060208284031215611da957600080fd5b61157282611d83565b6020808252825182820181905260009190848201906040850190845b81811015611df057835163ffffffff1683529284019291840191600101611dce565b50909695505050505050565b60008060408385031215611e0f57600080fd5b611e1883611d83565b946020939093013593505050565b60008083601f840112611e3857600080fd5b50813567ffffffffffffffff811115611e5057600080fd5b602083019150836020828501011115610f5357600080fd5b60008060008060008060a08789031215611e8157600080fd5b611e8a87611d83565b95506020870135945060408701359350606087013567ffffffffffffffff811115611eb457600080fd5b611ec089828a01611e26565b9094509250611ed3905060808801611d3f565b90509295509295509295565b60008060008060608587031215611ef557600080fd5b611efe85611d83565b935060208501359250604085013567ffffffffffffffff811115611f2157600080fd5b611f2d87828801611e26565b95989497509550505050565b60008083601f840112611f4b57600080fd5b50813567ffffffffffffffff811115611f6357600080fd5b6020830191508360208260051b8501011115610f5357600080fd5b60008060208385031215611f9157600080fd5b823567ffffffffffffffff811115611fa857600080fd5b611fb485828601611f39565b90969095509350505050565b600080600060608486031215611fd557600080fd5b611fde84611d83565b95602085013595506040909401359392505050565b6000806020838503121561200657600080fd5b823567ffffffffffffffff8082111561201e57600080fd5b818501915085601f83011261203257600080fd5b81358181111561204157600080fd5b8660208260061b850101111561205657600080fd5b60209290920196919550909350505050565b60008060006060848603121561207d57600080fd5b61208684611d3f565b925061209460208501611d3f565b91506120a260408501611d3f565b90509250925092565b600080600080604085870312156120c157600080fd5b843567ffffffffffffffff808211156120d957600080fd5b6120e588838901611f39565b909650945060208701359150808211156120fe57600080fd5b50611f2d87828801611f39565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610e0657610e0661213a565b81810381811115610e0657610e0661213a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036121ef576121ef61213a565b5060010190565b60005b838110156122115781810151838201526020016121f9565b50506000910152565b600081518084526122328160208601602086016121f6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611572602083018461221a565b838152826020820152600082516122958160408501602087016121f6565b91909101604001949350505050565b63ffffffff8616815284602082015260a0604082015260006122c960a083018661221a565b82810360608401526122db818661221a565b91505073ffffffffffffffffffffffffffffffffffffffff831660808301529695505050505050565b60006020828403121561231657600080fd5b5051919050565b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a200081526000825161235581601f8501602087016121f6565b91909101601f0192915050565b6000808585111561237257600080fd5b8386111561237f57600080fd5b5050820193919092039150565b80356020831015610e06577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffff0000000000000000000000000000000000000000000000000000000000008660f01b1681528460028201528360228201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b1660428201526000825161243c8160568501602087016121f6565b919091016056019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212204b94be3ba76fbe80b9462e77a456a998327856baef96413676e47a3ee05b32ab64736f6c63430008130033";
15
+ static readonly bytecode = "0x60c06040523480156200001157600080fd5b50604051620026be380380620026be833981016040819052620000349162000178565b80808080806001600160a01b0381163b620000955760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f780000604482015260640160405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001069190620001aa565b63ffffffff1660a0526200011a3362000126565b505050505050620001d2565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602082840312156200018b57600080fd5b81516001600160a01b0381168114620001a357600080fd5b9392505050565b600060208284031215620001bd57600080fd5b815163ffffffff81168114620001a357600080fd5b60805160a0516124b16200020d60003960006103bb01526000818161048f0152818161084f0152818161147f01526116c601526124b16000f3fe60806040526004361061018f5760003560e01c806381b4e8b4116100d6578063d5438eae1161007f578063efae508a11610059578063efae508a146104fe578063f2ed8c531461051e578063f2fde38b1461053e57600080fd5b8063d5438eae1461047d578063de523cf3146104b1578063e9198bf9146104de57600080fd5b8063b1bd6436116100b0578063b1bd64361461041d578063b49c53a71461043d578063c0c53b8b1461045d57600080fd5b806381b4e8b4146103965780638d3638f4146103a95780638da5cb5b146103f257600080fd5b806356d5d4751161013857806371a15b381161011257806371a15b38146102f7578063775313a1146103175780637f5a7c7b1461034457600080fd5b806356d5d4751461029a57806370a08231146102ad578063715018a6146102e257600080fd5b8063440df4f411610169578063440df4f41461024557806349d462ef1461026757806351debffc1461028757600080fd5b80630e72cc06146101d05780632ead72f6146101f25780633dfd38731461022557600080fd5b366101cb5760405134815233907f5d8bc849764969eb1bcc6d0a2f55999d0167c1ccec240a4f39cf664ca9c4148e9060200160405180910390a2005b600080fd5b3480156101dc57600080fd5b506101f06101eb366004611d67565b61055e565b005b3480156101fe57600080fd5b5061021261020d366004611d96565b610679565b6040519081526020015b60405180910390f35b34801561023157600080fd5b506101f0610240366004611d67565b610698565b34801561025157600080fd5b5061025a6107ae565b60405161021c9190611db1565b34801561027357600080fd5b506101f0610282366004611dfb565b6107bf565b610212610295366004611e67565b6107e5565b6101f06102a8366004611ede565b610837565b3480156102b957600080fd5b506102126102c8366004611d67565b73ffffffffffffffffffffffffffffffffffffffff163190565b3480156102ee57600080fd5b506101f06109ab565b34801561030357600080fd5b506101f0610312366004611f7d565b6109bf565b34801561032357600080fd5b50610212610332366004611d96565b60ca6020526000908152604090205481565b34801561035057600080fd5b506065546103719073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161021c565b6102126103a4366004611fbf565b610a1a565b3480156103b557600080fd5b506103dd7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff909116815260200161021c565b3480156103fe57600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff16610371565b34801561042957600080fd5b506101f0610438366004611ff2565b610aa9565b34801561044957600080fd5b506101f0610458366004611dfb565b610b33565b34801561046957600080fd5b506101f0610478366004612067565b610b45565b34801561048957600080fd5b506103717f000000000000000000000000000000000000000000000000000000000000000081565b3480156104bd57600080fd5b506066546103719073ffffffffffffffffffffffffffffffffffffffff1681565b3480156104ea57600080fd5b506101f06104f93660046120aa565b610cdc565b34801561050a57600080fd5b506101f0610519366004611d96565b610dbb565b34801561052a57600080fd5b50610212610539366004611d96565b610dcf565b34801561054a57600080fd5b506101f0610559366004611d67565b610e0c565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610598575073ffffffffffffffffffffffffffffffffffffffff8116155b610629576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610631610ec0565b50606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600080610690609763ffffffff80861690610f4116565b949350505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b1515806106d2575073ffffffffffffffffffffffffffffffffffffffff8116155b61075e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e67000000000000000000000000000000000000000000000000006064820152608401610620565b610766610ec0565b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60606107ba6097610f5a565b905090565b6107c7610ec0565b63ffffffff91909116600090815260ca6020526040902055565b5050565b600061082c8787873488888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a9250611015915050565b979650505050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146108fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f78436c69656e743a2073656e646572206e6f74206d61696c626f60448201527f78000000000000000000000000000000000000000000000000000000000000006064820152608401610620565b60006109078561109a565b9050838114610998576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f456e726f6c6c656420726f7574657220646f6573206e6f74206d61746368207360448201527f656e6465720000000000000000000000000000000000000000000000000000006064820152608401610620565b6109a4858585856110ff565b5050505050565b6109b3610ec0565b6109bd6000611189565b565b6109c7610ec0565b8060005b81811015610a1457610a028484838181106109e8576109e861210a565b90506020020160208101906109fd9190611d96565b611200565b610a0d600182612168565b90506109cb565b50505050565b600081341015610a86576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4e61746976653a20616d6f756e742065786365656473206d73672e76616c75656044820152606401610620565b6000610a92833461217b565b9050610aa085858584611255565b95945050505050565b610ab1610ec0565b60005b81811015610b2e57610b1c838383818110610ad157610ad161210a565b610ae79260206040909202019081019150611d96565b848484818110610af957610af961210a565b9050604002016020013563ffffffff909116600090815260ca6020526040902055565b610b27600182612168565b9050610ab4565b505050565b610b3b610ec0565b6107e18282611285565b600054610100900460ff1615808015610b655750600054600160ff909116105b80610b7f5750303b158015610b7f575060005460ff166001145b610c0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610620565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610c6957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610c7484848461129b565b8015610a1457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150505050565b610ce4610ec0565b828114610d4d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e677468000000000000000000000000000000000000000000000000006044820152606401610620565b8260005b81811015610db357610da1868683818110610d6e57610d6e61210a565b9050602002016020810190610d839190611d96565b858584818110610d9557610d9561210a565b90506020020135611285565b610dac600182612168565b9050610d51565b505050505050565b610dc3610ec0565b610dcc81611200565b50565b604080516020810190915260008082526065549091610e069184919073ffffffffffffffffffffffffffffffffffffffff16611355565b92915050565b610e14610ec0565b73ffffffffffffffffffffffffffffffffffffffff8116610eb7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610620565b610dcc81611189565b60335473ffffffffffffffffffffffffffffffffffffffff1633146109bd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610620565b600080610f4e848461136b565b915091505b9250929050565b60606000610f67836113a5565b9050805167ffffffffffffffff811115610f8357610f8361218e565b604051908082528060200260200182016040528015610fac578160200160208202803683370190505b50915060005b815181101561100e57818181518110610fcd57610fcd61210a565b6020026020010151838281518110610fe757610fe761210a565b63ffffffff9092166020928302919091019091015280611006816121bd565b915050610fb2565b5050919050565b60008061102d60408051602081019091526000815290565b9050600061103c888884611440565b905061104b898783888861146f565b9250878963ffffffff167fd229aacb94204188fe8042965fa6b269c62dc5818b21238779ab64bdd17efeec8960405161108691815260200190565b60405180910390a350509695505050505050565b600080806110b2609763ffffffff80871690610f4116565b9150915081156110c3579392505050565b6110cc84611522565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106209190612263565b600061110b8383611559565b905060006111198484611578565b90503660006111288686611588565b9150915061113e6111368590565b848484611598565b838863ffffffff167fba20947a325f450d232530e5f5fce293e7963499d5309a07cee84a269f2f15a68560405161117791815260200190565b60405180910390a35050505050505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b611214609763ffffffff808416906115a216565b61121d82611522565b906107e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106209190612263565b6000610aa0858585856112678a6115ae565b60655473ffffffffffffffffffffffffffffffffffffffff16611015565b6107e1609763ffffffff8085169084906115d016565b600054610100900460ff16611332576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610620565b61133a6115db565b61134383610698565b61134c8261055e565b610b2e81611189565b60006106908484611365876115ae565b8561167a565b600081815260028301602052604081205481908061139a5761138d858561174e565b925060009150610f539050565b600192509050610f53565b606060006113b28361175a565b90508067ffffffffffffffff8111156113cd576113cd61218e565b6040519080825280602002602001820160405280156113f6578160200160208202803683370190505b50915060005b8181101561100e5761140e8482611765565b60001c8382815181106114235761142361210a565b602090810291909101015280611438816121bd565b9150506113fc565b606083838360405160200161145793929190612276565b60405160208183030381529060405290509392505050565b60008061147b8761109a565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166310b83dc08789848989896040518763ffffffff1660e01b81526004016114df9594939291906122a3565b60206040518083038185885af11580156114fd573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061082c9190612303565b60606115338263ffffffff16611771565b604051602001611543919061231c565b6040516020818303038152906040529050919050565b60006115686020828486612361565b6115719161238b565b9392505050565b6000611568604060208486612361565b366000610f4e8360408187612361565b610a14848461182f565b60006115718383611989565b63ffffffff8116600090815260ca6020526040902054606090610e06906119a6565b610a148383836119c4565b600054610100900460ff16611672576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610620565b6109bd6119e1565b6000806116868661109a565b6040517f81d2ea9500000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906381d2ea959061170390899085908a908a908a906004016122a3565b602060405180830381865afa158015611720573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117449190612303565b9695505050505050565b60006115718383611a81565b6000610e0682611a99565b60006115718383611aa3565b6060600061177e83611acd565b600101905060008167ffffffffffffffff81111561179e5761179e61218e565b6040519080825280601f01601f1916602001820160405280156117c8576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846117d257509392505050565b80471015611899576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610620565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146118f3576040519150601f19603f3d011682016040523d82523d6000602084013e6118f8565b606091505b5050905080610b2e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610620565b600081815260028301602052604081208190556115718383611baf565b6060610e066000833360405180602001604052806000815250611bbb565b600082815260028401602052604081208290556106908484611bf0565b600054610100900460ff16611a78576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610620565b6109bd33611189565b60008181526001830160205260408120541515611571565b6000610e06825490565b6000826000018281548110611aba57611aba61210a565b9060005260206000200154905092915050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611b16577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310611b42576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611b6057662386f26fc10000830492506010015b6305f5e1008310611b78576305f5e100830492506008015b6127108310611b8c57612710830492506004015b60648310611b9e576064830492506002015b600a8310610e065760010192915050565b60006115718383611bfc565b6060600185858585604051602001611bd79594939291906123c7565b6040516020818303038152906040529050949350505050565b60006115718383611cef565b60008181526001830160205260408120548015611ce5576000611c2060018361217b565b8554909150600090611c349060019061217b565b9050818114611c99576000866000018281548110611c5457611c5461210a565b9060005260206000200154905080876000018481548110611c7757611c7761210a565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611caa57611caa61244c565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610e06565b6000915050610e06565b6000818152600183016020526040812054611d3657508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610e06565b506000610e06565b803573ffffffffffffffffffffffffffffffffffffffff81168114611d6257600080fd5b919050565b600060208284031215611d7957600080fd5b61157182611d3e565b803563ffffffff81168114611d6257600080fd5b600060208284031215611da857600080fd5b61157182611d82565b6020808252825182820181905260009190848201906040850190845b81811015611def57835163ffffffff1683529284019291840191600101611dcd565b50909695505050505050565b60008060408385031215611e0e57600080fd5b611e1783611d82565b946020939093013593505050565b60008083601f840112611e3757600080fd5b50813567ffffffffffffffff811115611e4f57600080fd5b602083019150836020828501011115610f5357600080fd5b60008060008060008060a08789031215611e8057600080fd5b611e8987611d82565b95506020870135945060408701359350606087013567ffffffffffffffff811115611eb357600080fd5b611ebf89828a01611e25565b9094509250611ed2905060808801611d3e565b90509295509295509295565b60008060008060608587031215611ef457600080fd5b611efd85611d82565b935060208501359250604085013567ffffffffffffffff811115611f2057600080fd5b611f2c87828801611e25565b95989497509550505050565b60008083601f840112611f4a57600080fd5b50813567ffffffffffffffff811115611f6257600080fd5b6020830191508360208260051b8501011115610f5357600080fd5b60008060208385031215611f9057600080fd5b823567ffffffffffffffff811115611fa757600080fd5b611fb385828601611f38565b90969095509350505050565b600080600060608486031215611fd457600080fd5b611fdd84611d82565b95602085013595506040909401359392505050565b6000806020838503121561200557600080fd5b823567ffffffffffffffff8082111561201d57600080fd5b818501915085601f83011261203157600080fd5b81358181111561204057600080fd5b8660208260061b850101111561205557600080fd5b60209290920196919550909350505050565b60008060006060848603121561207c57600080fd5b61208584611d3e565b925061209360208501611d3e565b91506120a160408501611d3e565b90509250925092565b600080600080604085870312156120c057600080fd5b843567ffffffffffffffff808211156120d857600080fd5b6120e488838901611f38565b909650945060208701359150808211156120fd57600080fd5b50611f2c87828801611f38565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610e0657610e06612139565b81810381811115610e0657610e06612139565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036121ee576121ee612139565b5060010190565b60005b838110156122105781810151838201526020016121f8565b50506000910152565b600081518084526122318160208601602086016121f5565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006115716020830184612219565b838152826020820152600082516122948160408501602087016121f5565b91909101604001949350505050565b63ffffffff8616815284602082015260a0604082015260006122c860a0830186612219565b82810360608401526122da8186612219565b91505073ffffffffffffffffffffffffffffffffffffffff831660808301529695505050505050565b60006020828403121561231557600080fd5b5051919050565b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a200081526000825161235481601f8501602087016121f5565b91909101601f0192915050565b6000808585111561237157600080fd5b8386111561237e57600080fd5b5050820193919092039150565b80356020831015610e06577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffff0000000000000000000000000000000000000000000000000000000000008660f01b1681528460028201528360228201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b1660428201526000825161243b8160568501602087016121f5565b919091016056019695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212200bb9fa4d0845dc6ef8cf1c5fd751b54b4d43f51bae99399b921810910a9ea70864736f6c63430008130033";
16
16
  static readonly abi: readonly [{
17
17
  readonly inputs: readonly [{
18
18
  readonly internalType: "address";
@@ -1 +1 @@
1
- {"version":3,"file":"HypNative__factory.d.ts","sourceRoot":"","sources":["../../../../types/factories/contracts/token/HypNative__factory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAmB,eAAe,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,KAAK,EACV,SAAS,EACT,kBAAkB,EACnB,MAAM,uCAAuC,CAAC;AA+hB/C,KAAK,0BAA0B,GAC3B,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GACjB,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC;AAMlD,qBAAa,kBAAmB,SAAQ,eAAe;gBACzC,GAAG,IAAI,EAAE,0BAA0B;IAQtC,MAAM,CACb,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACxC,OAAO,CAAC,SAAS,CAAC;IAGZ,oBAAoB,CAC3B,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACxC,kBAAkB;IAGZ,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS;IAGlC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB;IAIpD,MAAM,CAAC,QAAQ,CAAC,QAAQ,s4mBAAa;IACrC,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAQ;IAC3B,MAAM,CAAC,eAAe,IAAI,kBAAkB;IAG5C,MAAM,CAAC,OAAO,CACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,QAAQ,GAClC,SAAS;CAGb"}
1
+ {"version":3,"file":"HypNative__factory.d.ts","sourceRoot":"","sources":["../../../../types/factories/contracts/token/HypNative__factory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAmB,eAAe,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,KAAK,EACV,SAAS,EACT,kBAAkB,EACnB,MAAM,uCAAuC,CAAC;AA+hB/C,KAAK,0BAA0B,GAC3B,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GACjB,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC;AAMlD,qBAAa,kBAAmB,SAAQ,eAAe;gBACzC,GAAG,IAAI,EAAE,0BAA0B;IAQtC,MAAM,CACb,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACxC,OAAO,CAAC,SAAS,CAAC;IAGZ,oBAAoB,CAC3B,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACxC,kBAAkB;IAGZ,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS;IAGlC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB;IAIpD,MAAM,CAAC,QAAQ,CAAC,QAAQ,o4mBAAa;IACrC,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAQ;IAC3B,MAAM,CAAC,eAAe,IAAI,kBAAkB;IAG5C,MAAM,CAAC,OAAO,CACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,QAAQ,GAClC,SAAS;CAGb"}