@hyperlane-xyz/core 5.1.2 → 5.2.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 (164) hide show
  1. package/contracts/interfaces/IInterchainSecurityModule.sol +2 -2
  2. package/contracts/isms/hook/ArbL2ToL1Ism.sol +8 -10
  3. package/contracts/isms/multisig/WeightedMultisigIsm.sol +2 -2
  4. package/contracts/token/HypNative.sol +0 -24
  5. package/contracts/token/extensions/HypNativeScaled.sol +0 -25
  6. package/dist/buildArtifact.js +1 -1
  7. package/dist/buildArtifact.json +1 -1
  8. package/dist/contracts/token/HypNative.d.ts +5 -5
  9. package/dist/contracts/token/HypNative.d.ts.map +1 -1
  10. package/dist/contracts/token/extensions/HypNativeScaled.d.ts +5 -5
  11. package/dist/contracts/token/extensions/HypNativeScaled.d.ts.map +1 -1
  12. package/dist/factories/contracts/AttributeCheckpointFraud__factory.d.ts +1 -1
  13. package/dist/factories/contracts/AttributeCheckpointFraud__factory.js +1 -1
  14. package/dist/factories/contracts/CheckpointFraudProofs__factory.d.ts +1 -1
  15. package/dist/factories/contracts/CheckpointFraudProofs__factory.js +1 -1
  16. package/dist/factories/contracts/Mailbox__factory.d.ts +1 -1
  17. package/dist/factories/contracts/Mailbox__factory.js +1 -1
  18. package/dist/factories/contracts/hooks/ArbL2ToL1Hook__factory.d.ts +1 -1
  19. package/dist/factories/contracts/hooks/ArbL2ToL1Hook__factory.js +1 -1
  20. package/dist/factories/contracts/hooks/MerkleTreeHook__factory.d.ts +1 -1
  21. package/dist/factories/contracts/hooks/MerkleTreeHook__factory.js +1 -1
  22. package/dist/factories/contracts/hooks/OPL2ToL1Hook__factory.d.ts +1 -1
  23. package/dist/factories/contracts/hooks/OPL2ToL1Hook__factory.js +1 -1
  24. package/dist/factories/contracts/hooks/OPStackHook__factory.d.ts +1 -1
  25. package/dist/factories/contracts/hooks/OPStackHook__factory.js +1 -1
  26. package/dist/factories/contracts/hooks/PolygonPosHook__factory.d.ts +1 -1
  27. package/dist/factories/contracts/hooks/PolygonPosHook__factory.js +1 -1
  28. package/dist/factories/contracts/hooks/aggregation/ERC5164Hook__factory.d.ts +1 -1
  29. package/dist/factories/contracts/hooks/aggregation/ERC5164Hook__factory.js +1 -1
  30. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV1Hook__factory.d.ts +1 -1
  31. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV1Hook__factory.js +1 -1
  32. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV2Hook__factory.d.ts +1 -1
  33. package/dist/factories/contracts/hooks/layer-zero/LayerZeroV2Hook__factory.js +1 -1
  34. package/dist/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.d.ts +1 -1
  35. package/dist/factories/contracts/hooks/routing/DestinationRecipientRoutingHook__factory.js +1 -1
  36. package/dist/factories/contracts/hooks/routing/DomainRoutingHook__factory.d.ts +1 -1
  37. package/dist/factories/contracts/hooks/routing/DomainRoutingHook__factory.js +1 -1
  38. package/dist/factories/contracts/hooks/routing/FallbackDomainRoutingHook__factory.d.ts +1 -1
  39. package/dist/factories/contracts/hooks/routing/FallbackDomainRoutingHook__factory.js +1 -1
  40. package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.d.ts +1 -1
  41. package/dist/factories/contracts/hooks/warp-route/RateLimitedHook__factory.js +1 -1
  42. package/dist/factories/contracts/isms/NoopIsm__factory.d.ts +1 -1
  43. package/dist/factories/contracts/isms/NoopIsm__factory.js +1 -1
  44. package/dist/factories/contracts/isms/PausableIsm__factory.d.ts +1 -1
  45. package/dist/factories/contracts/isms/PausableIsm__factory.js +1 -1
  46. package/dist/factories/contracts/isms/TrustedRelayerIsm__factory.d.ts +1 -1
  47. package/dist/factories/contracts/isms/TrustedRelayerIsm__factory.js +1 -1
  48. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.d.ts +1 -1
  49. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsmFactory__factory.js +1 -1
  50. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.d.ts +1 -1
  51. package/dist/factories/contracts/isms/aggregation/StaticAggregationIsm__factory.js +1 -1
  52. package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.d.ts +1 -1
  53. package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.d.ts.map +1 -1
  54. package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.js +1 -1
  55. package/dist/factories/contracts/isms/hook/ArbL2ToL1Ism__factory.js.map +1 -1
  56. package/dist/factories/contracts/isms/hook/ERC5164Ism__factory.d.ts +1 -1
  57. package/dist/factories/contracts/isms/hook/ERC5164Ism__factory.js +1 -1
  58. package/dist/factories/contracts/isms/hook/OPL2ToL1Ism__factory.d.ts +1 -1
  59. package/dist/factories/contracts/isms/hook/OPL2ToL1Ism__factory.js +1 -1
  60. package/dist/factories/contracts/isms/hook/OPStackIsm__factory.d.ts +1 -1
  61. package/dist/factories/contracts/isms/hook/OPStackIsm__factory.js +1 -1
  62. package/dist/factories/contracts/isms/hook/PolygonPosIsm__factory.d.ts +1 -1
  63. package/dist/factories/contracts/isms/hook/PolygonPosIsm__factory.js +1 -1
  64. package/dist/factories/contracts/isms/hook/layer-zero/LayerZeroV2Ism__factory.d.ts +1 -1
  65. package/dist/factories/contracts/isms/hook/layer-zero/LayerZeroV2Ism__factory.js +1 -1
  66. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.d.ts +1 -1
  67. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsmFactory__factory.js +1 -1
  68. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.d.ts +1 -1
  69. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMerkleRootMultisigIsm__factory.js +1 -1
  70. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.d.ts +1 -1
  71. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsmFactory__factory.js +1 -1
  72. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.d.ts +1 -1
  73. package/dist/factories/contracts/isms/multisig/StaticMultisigIsm.sol/StaticMessageIdMultisigIsm__factory.js +1 -1
  74. package/dist/factories/contracts/isms/multisig/ValidatorAnnounce__factory.d.ts +1 -1
  75. package/dist/factories/contracts/isms/multisig/ValidatorAnnounce__factory.js +1 -1
  76. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory__factory.d.ts +1 -1
  77. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsmFactory__factory.js +1 -1
  78. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm__factory.d.ts +1 -1
  79. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMerkleRootWeightedMultisigIsm__factory.js +1 -1
  80. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory__factory.d.ts +1 -1
  81. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsmFactory__factory.js +1 -1
  82. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm__factory.d.ts +1 -1
  83. package/dist/factories/contracts/isms/multisig/WeightedMultisigIsm.sol/StaticMessageIdWeightedMultisigIsm__factory.js +1 -1
  84. package/dist/factories/contracts/isms/routing/DefaultFallbackRoutingIsm__factory.d.ts +1 -1
  85. package/dist/factories/contracts/isms/routing/DefaultFallbackRoutingIsm__factory.js +1 -1
  86. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.d.ts +1 -1
  87. package/dist/factories/contracts/isms/routing/DomainRoutingIsmFactory.sol/DomainRoutingIsmFactory__factory.js +1 -1
  88. package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.d.ts +1 -1
  89. package/dist/factories/contracts/isms/routing/DomainRoutingIsm__factory.js +1 -1
  90. package/dist/factories/contracts/isms/routing/InterchainAccountIsm__factory.d.ts +1 -1
  91. package/dist/factories/contracts/isms/routing/InterchainAccountIsm__factory.js +1 -1
  92. package/dist/factories/contracts/isms/warp-route/RateLimitedIsm__factory.d.ts +1 -1
  93. package/dist/factories/contracts/isms/warp-route/RateLimitedIsm__factory.js +1 -1
  94. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.d.ts +1 -1
  95. package/dist/factories/contracts/middleware/InterchainAccountRouter__factory.js +1 -1
  96. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.d.ts +1 -1
  97. package/dist/factories/contracts/middleware/InterchainQueryRouter__factory.js +1 -1
  98. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.d.ts +1 -1
  99. package/dist/factories/contracts/middleware/liquidity-layer/LiquidityLayerRouter__factory.js +1 -1
  100. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.d.ts +1 -1
  101. package/dist/factories/contracts/middleware/liquidity-layer/adapters/CircleBridgeAdapter__factory.js +1 -1
  102. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.d.ts +1 -1
  103. package/dist/factories/contracts/middleware/liquidity-layer/adapters/PortalAdapter__factory.js +1 -1
  104. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.d.ts +1 -1
  105. package/dist/factories/contracts/mock/MockHyperlaneEnvironment__factory.js +1 -1
  106. package/dist/factories/contracts/mock/MockMailbox__factory.d.ts +1 -1
  107. package/dist/factories/contracts/mock/MockMailbox__factory.js +1 -1
  108. package/dist/factories/contracts/test/LightTestRecipient__factory.d.ts +1 -1
  109. package/dist/factories/contracts/test/LightTestRecipient__factory.js +1 -1
  110. package/dist/factories/contracts/test/TestGasRouter__factory.d.ts +1 -1
  111. package/dist/factories/contracts/test/TestGasRouter__factory.js +1 -1
  112. package/dist/factories/contracts/test/TestIsm__factory.d.ts +1 -1
  113. package/dist/factories/contracts/test/TestIsm__factory.js +1 -1
  114. package/dist/factories/contracts/test/TestMailbox__factory.d.ts +1 -1
  115. package/dist/factories/contracts/test/TestMailbox__factory.js +1 -1
  116. package/dist/factories/contracts/test/TestMerkleTreeHook__factory.d.ts +1 -1
  117. package/dist/factories/contracts/test/TestMerkleTreeHook__factory.js +1 -1
  118. package/dist/factories/contracts/test/TestQuerySender__factory.d.ts +1 -1
  119. package/dist/factories/contracts/test/TestQuerySender__factory.js +1 -1
  120. package/dist/factories/contracts/test/TestQuery__factory.d.ts +1 -1
  121. package/dist/factories/contracts/test/TestQuery__factory.js +1 -1
  122. package/dist/factories/contracts/test/TestRecipient__factory.d.ts +1 -1
  123. package/dist/factories/contracts/test/TestRecipient__factory.js +1 -1
  124. package/dist/factories/contracts/test/TestRouter__factory.d.ts +1 -1
  125. package/dist/factories/contracts/test/TestRouter__factory.js +1 -1
  126. package/dist/factories/contracts/test/TestSendReceiver__factory.d.ts +1 -1
  127. package/dist/factories/contracts/test/TestSendReceiver__factory.js +1 -1
  128. package/dist/factories/contracts/token/HypERC20Collateral__factory.d.ts +1 -1
  129. package/dist/factories/contracts/token/HypERC20Collateral__factory.js +1 -1
  130. package/dist/factories/contracts/token/HypERC20__factory.d.ts +1 -1
  131. package/dist/factories/contracts/token/HypERC20__factory.js +1 -1
  132. package/dist/factories/contracts/token/HypERC721Collateral__factory.d.ts +1 -1
  133. package/dist/factories/contracts/token/HypERC721Collateral__factory.js +1 -1
  134. package/dist/factories/contracts/token/HypERC721__factory.d.ts +1 -1
  135. package/dist/factories/contracts/token/HypERC721__factory.js +1 -1
  136. package/dist/factories/contracts/token/HypNative__factory.d.ts +2 -2
  137. package/dist/factories/contracts/token/HypNative__factory.d.ts.map +1 -1
  138. package/dist/factories/contracts/token/HypNative__factory.js +2 -2
  139. package/dist/factories/contracts/token/HypNative__factory.js.map +1 -1
  140. package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.d.ts +1 -1
  141. package/dist/factories/contracts/token/extensions/FastHypERC20Collateral__factory.js +1 -1
  142. package/dist/factories/contracts/token/extensions/FastHypERC20__factory.d.ts +1 -1
  143. package/dist/factories/contracts/token/extensions/FastHypERC20__factory.js +1 -1
  144. package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.d.ts +1 -1
  145. package/dist/factories/contracts/token/extensions/HypERC4626Collateral__factory.js +1 -1
  146. package/dist/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.d.ts +1 -1
  147. package/dist/factories/contracts/token/extensions/HypERC4626OwnerCollateral__factory.js +1 -1
  148. package/dist/factories/contracts/token/extensions/HypERC4626__factory.d.ts +1 -1
  149. package/dist/factories/contracts/token/extensions/HypERC4626__factory.js +1 -1
  150. package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.d.ts +1 -1
  151. package/dist/factories/contracts/token/extensions/HypERC721URICollateral__factory.js +1 -1
  152. package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.d.ts +1 -1
  153. package/dist/factories/contracts/token/extensions/HypERC721URIStorage__factory.js +1 -1
  154. package/dist/factories/contracts/token/extensions/HypFiatToken__factory.d.ts +1 -1
  155. package/dist/factories/contracts/token/extensions/HypFiatToken__factory.js +1 -1
  156. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.d.ts +2 -2
  157. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.d.ts.map +1 -1
  158. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.js +2 -2
  159. package/dist/factories/contracts/token/extensions/HypNativeScaled__factory.js.map +1 -1
  160. package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.d.ts +1 -1
  161. package/dist/factories/contracts/token/extensions/HypXERC20Lockbox__factory.js +1 -1
  162. package/dist/factories/contracts/token/extensions/HypXERC20__factory.d.ts +1 -1
  163. package/dist/factories/contracts/token/extensions/HypXERC20__factory.js +1 -1
  164. package/package.json +3 -3
@@ -235,7 +235,7 @@ const _abi = [
235
235
  type: "receive",
236
236
  },
237
237
  ];
238
- const _bytecode = "0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610a548061007e6000396000f3fe6080604052600436106100bf5760003560e01c8063715018a611610074578063de523cf31161004e578063de523cf3146101f6578063f07c1f4714610223578063f2fde38b1461024357600080fd5b8063715018a6146101a15780638da5cb5b146101b6578063a4982fde146101e157600080fd5b80632113522a116100a55780632113522a14610118578063256fec881461016a57806356d5d4751461018e57600080fd5b80626e75ec146100cb5780630e72cc06146100f657600080fd5b366100c657005b600080fd5b3480156100d757600080fd5b506100e0610263565b6040516100ed9190610661565b60405180910390f35b34801561010257600080fd5b5061011661011136600461067b565b6102f1565b005b34801561012457600080fd5b506004546101459073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ed565b34801561017657600080fd5b5061018060025481565b6040519081526020016100ed565b61011661019c3660046106fa565b610340565b3480156101ad57600080fd5b5061011661039b565b3480156101c257600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff16610145565b3480156101ed57600080fd5b506100e06103af565b34801561020257600080fd5b506001546101459073ffffffffffffffffffffffffffffffffffffffff1681565b34801561022f57600080fd5b5061011661023e36600461075f565b6103bc565b34801561024f57600080fd5b5061011661025e36600461067b565b61044b565b60038054610270906107ab565b80601f016020809104026020016040519081016040528092919081815260200182805461029c906107ab565b80156102e95780601f106102be576101008083540402835291602001916102e9565b820191906000526020600020905b8154815290600101906020018083116102cc57829003601f168201915b505050505081565b6102f9610507565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b34838563ffffffff167fecdc36fa3681f5d9c559dcbc399417db6f0ac0d81a78529685a1150265971d55858560405161037a929190610847565b60405180910390a4600283905560036103948284836108e1565b5050505050565b6103a3610507565b6103ad6000610588565b565b60058054610270906107ab565b3373ffffffffffffffffffffffffffffffffffffffff167f97d8367a1f39eb9e97f262fafbb05925c0bcfe120aaad7b9737cae34f749c206848484604051610406939291906109fb565b60405180910390a2600480547fffffffffffffffffffffffff0000000000000000000000000000000000000000163317905560056104458284836108e1565b50505050565b610453610507565b73ffffffffffffffffffffffffffffffffffffffff81166104fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61050481610588565b50565b60005473ffffffffffffffffffffffffffffffffffffffff1633146103ad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104f2565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000815180845260005b8181101561062357602081850181015186830182015201610607565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b60208152600061067460208301846105fd565b9392505050565b60006020828403121561068d57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461067457600080fd5b60008083601f8401126106c357600080fd5b50813567ffffffffffffffff8111156106db57600080fd5b6020830191508360208285010111156106f357600080fd5b9250929050565b6000806000806060858703121561071057600080fd5b843563ffffffff8116811461072457600080fd5b935060208501359250604085013567ffffffffffffffff81111561074757600080fd5b610753878288016106b1565b95989497509550505050565b60008060006040848603121561077457600080fd5b83359250602084013567ffffffffffffffff81111561079257600080fd5b61079e868287016106b1565b9497909650939450505050565b600181811c908216806107bf57607f821691505b6020821081036107f8577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208152600061085b6020830184866107fe565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f8211156108dc57600081815260208120601f850160051c810160208610156108b95750805b601f850160051c820191505b818110156108d8578281556001016108c5565b5050505b505050565b67ffffffffffffffff8311156108f9576108f9610863565b61090d8361090783546107ab565b83610892565b6000601f84116001811461095f57600085156109295750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355610394565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156109ae578685013582556020948501946001909201910161098e565b50868210156109e9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b838152604060208201526000610a156040830184866107fe565b9594505050505056fea264697066735822122073916d70f09334f70d8cee13bdfb4cf72036df78b887eefc38e05607666d2ec964736f6c63430008130033";
238
+ const _bytecode = "0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610a548061007e6000396000f3fe6080604052600436106100bf5760003560e01c8063715018a611610074578063de523cf31161004e578063de523cf3146101f6578063f07c1f4714610223578063f2fde38b1461024357600080fd5b8063715018a6146101a15780638da5cb5b146101b6578063a4982fde146101e157600080fd5b80632113522a116100a55780632113522a14610118578063256fec881461016a57806356d5d4751461018e57600080fd5b80626e75ec146100cb5780630e72cc06146100f657600080fd5b366100c657005b600080fd5b3480156100d757600080fd5b506100e0610263565b6040516100ed9190610661565b60405180910390f35b34801561010257600080fd5b5061011661011136600461067b565b6102f1565b005b34801561012457600080fd5b506004546101459073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ed565b34801561017657600080fd5b5061018060025481565b6040519081526020016100ed565b61011661019c3660046106fa565b610340565b3480156101ad57600080fd5b5061011661039b565b3480156101c257600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff16610145565b3480156101ed57600080fd5b506100e06103af565b34801561020257600080fd5b506001546101459073ffffffffffffffffffffffffffffffffffffffff1681565b34801561022f57600080fd5b5061011661023e36600461075f565b6103bc565b34801561024f57600080fd5b5061011661025e36600461067b565b61044b565b60038054610270906107ab565b80601f016020809104026020016040519081016040528092919081815260200182805461029c906107ab565b80156102e95780601f106102be576101008083540402835291602001916102e9565b820191906000526020600020905b8154815290600101906020018083116102cc57829003601f168201915b505050505081565b6102f9610507565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b34838563ffffffff167fecdc36fa3681f5d9c559dcbc399417db6f0ac0d81a78529685a1150265971d55858560405161037a929190610847565b60405180910390a4600283905560036103948284836108e1565b5050505050565b6103a3610507565b6103ad6000610588565b565b60058054610270906107ab565b3373ffffffffffffffffffffffffffffffffffffffff167f97d8367a1f39eb9e97f262fafbb05925c0bcfe120aaad7b9737cae34f749c206848484604051610406939291906109fb565b60405180910390a2600480547fffffffffffffffffffffffff0000000000000000000000000000000000000000163317905560056104458284836108e1565b50505050565b610453610507565b73ffffffffffffffffffffffffffffffffffffffff81166104fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61050481610588565b50565b60005473ffffffffffffffffffffffffffffffffffffffff1633146103ad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104f2565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000815180845260005b8181101561062357602081850181015186830182015201610607565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b60208152600061067460208301846105fd565b9392505050565b60006020828403121561068d57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461067457600080fd5b60008083601f8401126106c357600080fd5b50813567ffffffffffffffff8111156106db57600080fd5b6020830191508360208285010111156106f357600080fd5b9250929050565b6000806000806060858703121561071057600080fd5b843563ffffffff8116811461072457600080fd5b935060208501359250604085013567ffffffffffffffff81111561074757600080fd5b610753878288016106b1565b95989497509550505050565b60008060006040848603121561077457600080fd5b83359250602084013567ffffffffffffffff81111561079257600080fd5b61079e868287016106b1565b9497909650939450505050565b600181811c908216806107bf57607f821691505b6020821081036107f8577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208152600061085b6020830184866107fe565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f8211156108dc57600081815260208120601f850160051c810160208610156108b95750805b601f850160051c820191505b818110156108d8578281556001016108c5565b5050505b505050565b67ffffffffffffffff8311156108f9576108f9610863565b61090d8361090783546107ab565b83610892565b6000601f84116001811461095f57600085156109295750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355610394565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156109ae578685013582556020948501946001909201910161098e565b50868210156109e9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b838152604060208201526000610a156040830184866107fe565b9594505050505056fea264697066735822122064475286facb8e580365693fe954a66bf5c481b65cc442eb3f3ff5edc2668f8f64736f6c63430008130033";
239
239
  const isSuperArgs = (xs) => xs.length > 1;
240
240
  export class TestRecipient__factory extends ContractFactory {
241
241
  constructor(...args) {
@@ -12,7 +12,7 @@ export declare class TestRouter__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): TestRouter;
14
14
  connect(signer: Signer): TestRouter__factory;
15
- static readonly bytecode = "0x60c06040523480156200001157600080fd5b5060405162001e9538038062001e95833981016040819052620000349162000174565b8080806001600160a01b0381163b620000935760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f780000604482015260640160405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001049190620001a6565b63ffffffff1660a052620001183362000122565b50505050620001ce565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602082840312156200018757600080fd5b81516001600160a01b03811681146200019f57600080fd5b9392505050565b600060208284031215620001b957600080fd5b815163ffffffff811681146200019f57600080fd5b60805160a051611c9362000202600039600061032a0152600081816103be015281816108a101526111940152611c936000f3fe60806040526004361061015f5760003560e01c80637249609f116100c0578063d5438eae11610074578063e9198bf911610059578063e9198bf91461040d578063efae508a1461042d578063f2fde38b1461044d57600080fd5b8063d5438eae146103ac578063de523cf3146103e057600080fd5b80638d3638f4116100a55780638d3638f4146103185780638da5cb5b14610361578063b49c53a71461038c57600080fd5b80637249609f146102b35780637f5a7c7b146102c657600080fd5b8063440df4f41161011757806356d5d475116100fc57806356d5d4751461026b578063715018a61461027e57806371a15b381461029357600080fd5b8063440df4f414610229578063485cc9551461024b57600080fd5b80632e6a9e4b116101485780632e6a9e4b146101b95780632ead72f6146101e95780633dfd38731461020957600080fd5b80630e72cc0614610164578063133b79a914610186575b600080fd5b34801561017057600080fd5b5061018461017f3660046116b9565b61046d565b005b34801561019257600080fd5b506101a66101a13660046116e8565b610588565b6040519081526020015b60405180910390f35b3480156101c557600080fd5b506101d96101d4366004611703565b610599565b60405190151581526020016101b0565b3480156101f557600080fd5b506101a66102043660046116e8565b6105ac565b34801561021557600080fd5b506101846102243660046116b9565b6105cb565b34801561023557600080fd5b5061023e6106e1565b6040516101b0919061172d565b34801561025757600080fd5b50610184610266366004611777565b6106f2565b6101846102793660046117aa565b610889565b34801561028a57600080fd5b506101846109f1565b34801561029f57600080fd5b506101846102ae366004611876565b610a05565b6101846102c13660046118e7565b610a60565b3480156102d257600080fd5b506065546102f39073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101b0565b34801561032457600080fd5b5061034c7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016101b0565b34801561036d57600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166102f3565b34801561039857600080fd5b506101846103a7366004611703565b610a6a565b3480156103b857600080fd5b506102f37f000000000000000000000000000000000000000000000000000000000000000081565b3480156103ec57600080fd5b506066546102f39073ffffffffffffffffffffffffffffffffffffffff1681565b34801561041957600080fd5b506101846104283660046119c7565b610a80565b34801561043957600080fd5b506101846104483660046116e8565b610b5f565b34801561045957600080fd5b506101846104683660046116b9565b610b73565b8073ffffffffffffffffffffffffffffffffffffffff81163b1515806104a7575073ffffffffffffffffffffffffffffffffffffffff8116155b610538576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610540610c27565b50606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600061059382610ca8565b92915050565b60006105a58383610d0d565b9392505050565b6000806105c3609763ffffffff80861690610d2116565b949350505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610605575073ffffffffffffffffffffffffffffffffffffffff8116155b610691576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e6700000000000000000000000000000000000000000000000000606482015260840161052f565b610699610c27565b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60606106ed6097610d3a565b905090565b600054610100900460ff16158080156107125750600054600160ff909116105b8061072c5750303b15801561072c575060005460ff166001145b6107b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161052f565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561081657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610821838333610df5565b801561088457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461094e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f78436c69656e743a2073656e646572206e6f74206d61696c626f60448201527f7800000000000000000000000000000000000000000000000000000000000000606482015260840161052f565b600061095985610ca8565b90508381146109ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f456e726f6c6c656420726f7574657220646f6573206e6f74206d61746368207360448201527f656e646572000000000000000000000000000000000000000000000000000000606482015260840161052f565b5050505050565b6109f9610c27565b610a036000610eab565b565b610a0d610c27565b8060005b81811015610a5a57610a48848483818110610a2e57610a2e611a33565b9050602002016020810190610a4391906116e8565b610f22565b610a53600182611a91565b9050610a11565b50505050565b6108848282610f77565b610a72610c27565b610a7c8282610fb7565b5050565b610a88610c27565b828114610af1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e67746800000000000000000000000000000000000000000000000000604482015260640161052f565b8260005b81811015610b5757610b45868683818110610b1257610b12611a33565b9050602002016020810190610b2791906116e8565b858584818110610b3957610b39611a33565b90506020020135610fb7565b610b50600182611a91565b9050610af5565b505050505050565b610b67610c27565b610b7081610f22565b50565b610b7b610c27565b73ffffffffffffffffffffffffffffffffffffffff8116610c1e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161052f565b610b7081610eab565b60335473ffffffffffffffffffffffffffffffffffffffff163314610a03576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161052f565b60008080610cc0609763ffffffff80871690610d2116565b915091508115610cd1579392505050565b610cda84610fcd565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052f9190611b12565b600081610d19846105ac565b149392505050565b600080610d2e8484611004565b915091505b9250929050565b60606000610d478361103e565b9050805167ffffffffffffffff811115610d6357610d636118b8565b604051908082528060200260200182016040528015610d8c578160200160208202803683370190505b50915060005b8151811015610dee57818181518110610dad57610dad611a33565b6020026020010151838281518110610dc757610dc7611a33565b63ffffffff9092166020928302919091019091015280610de681611b25565b915050610d92565b5050919050565b600054610100900460ff16610e8c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161052f565b610e946110d9565b610e9d836105cb565b610ea68261046d565b610884815b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610f36609763ffffffff8084169061117816565b610f3f82610fcd565b90610a7c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052f9190611b12565b60006105a583348460405180602001604052806000815250606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611184565b610a7c609763ffffffff80851690849061124216565b6060610fde8263ffffffff1661124d565b604051602001610fee9190611b5d565b6040516020818303038152906040529050919050565b600081815260028301602052604081205481908061103357611026858561130b565b925060009150610d339050565b600192509050610d33565b6060600061104b83611317565b90508067ffffffffffffffff811115611066576110666118b8565b60405190808252806020026020018201604052801561108f578160200160208202803683370190505b50915060005b81811015610dee576110a78482611322565b60001c8382815181106110bc576110bc611a33565b6020908102919091010152806110d181611b25565b915050611095565b600054610100900460ff16611170576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161052f565b610a0361132e565b60006105a583836113ce565b60008061119087610ca8565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166310b83dc08789848989896040518763ffffffff1660e01b81526004016111f4959493929190611ba2565b60206040518083038185885af1158015611212573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906112379190611c02565b979650505050505050565b610a5a8383836113eb565b6060600061125a83611408565b600101905060008167ffffffffffffffff81111561127a5761127a6118b8565b6040519080825280601f01601f1916602001820160405280156112a4576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846112ae57509392505050565b60006105a583836114ea565b600061059382611502565b60006105a5838361150c565b600054610100900460ff166113c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161052f565b610a0333610eab565b600081815260028301602052604081208190556105a58383611536565b600082815260028401602052604081208290556105c38484611542565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611451577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef8100000000831061147d576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061149b57662386f26fc10000830492506010015b6305f5e10083106114b3576305f5e100830492506008015b61271083106114c757612710830492506004015b606483106114d9576064830492506002015b600a83106105935760010192915050565b600081815260018301602052604081205415156105a5565b6000610593825490565b600082600001828154811061152357611523611a33565b9060005260206000200154905092915050565b60006105a5838361154e565b60006105a58383611641565b60008181526001830160205260408120548015611637576000611572600183611c1b565b855490915060009061158690600190611c1b565b90508181146115eb5760008660000182815481106115a6576115a6611a33565b90600052602060002001549050808760000184815481106115c9576115c9611a33565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806115fc576115fc611c2e565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610593565b6000915050610593565b600081815260018301602052604081205461168857508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610593565b506000610593565b803573ffffffffffffffffffffffffffffffffffffffff811681146116b457600080fd5b919050565b6000602082840312156116cb57600080fd5b6105a582611690565b803563ffffffff811681146116b457600080fd5b6000602082840312156116fa57600080fd5b6105a5826116d4565b6000806040838503121561171657600080fd5b61171f836116d4565b946020939093013593505050565b6020808252825182820181905260009190848201906040850190845b8181101561176b57835163ffffffff1683529284019291840191600101611749565b50909695505050505050565b6000806040838503121561178a57600080fd5b61179383611690565b91506117a160208401611690565b90509250929050565b600080600080606085870312156117c057600080fd5b6117c9856116d4565b935060208501359250604085013567ffffffffffffffff808211156117ed57600080fd5b818701915087601f83011261180157600080fd5b81358181111561181057600080fd5b88602082850101111561182257600080fd5b95989497505060200194505050565b60008083601f84011261184357600080fd5b50813567ffffffffffffffff81111561185b57600080fd5b6020830191508360208260051b8501011115610d3357600080fd5b6000806020838503121561188957600080fd5b823567ffffffffffffffff8111156118a057600080fd5b6118ac85828601611831565b90969095509350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080604083850312156118fa57600080fd5b611903836116d4565b9150602083013567ffffffffffffffff8082111561192057600080fd5b818501915085601f83011261193457600080fd5b813581811115611946576119466118b8565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561198c5761198c6118b8565b816040528281528860208487010111156119a557600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600080600080604085870312156119dd57600080fd5b843567ffffffffffffffff808211156119f557600080fd5b611a0188838901611831565b90965094506020870135915080821115611a1a57600080fd5b50611a2787828801611831565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561059357610593611a62565b60005b83811015611abf578181015183820152602001611aa7565b50506000910152565b60008151808452611ae0816020860160208601611aa4565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006105a56020830184611ac8565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611b5657611b56611a62565b5060010190565b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a2000815260008251611b9581601f850160208701611aa4565b91909101601f0192915050565b63ffffffff8616815284602082015260a060408201526000611bc760a0830186611ac8565b8281036060840152611bd98186611ac8565b91505073ffffffffffffffffffffffffffffffffffffffff831660808301529695505050505050565b600060208284031215611c1457600080fd5b5051919050565b8181038181111561059357610593611a62565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220b2641392a82af4fe6fc97a6264bf13f6139ff28af4a3a320bf1197b69a8d303f64736f6c63430008130033";
15
+ static readonly bytecode = "0x60c06040523480156200001157600080fd5b5060405162001e9538038062001e95833981016040819052620000349162000174565b8080806001600160a01b0381163b620000935760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f780000604482015260640160405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001049190620001a6565b63ffffffff1660a052620001183362000122565b50505050620001ce565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602082840312156200018757600080fd5b81516001600160a01b03811681146200019f57600080fd5b9392505050565b600060208284031215620001b957600080fd5b815163ffffffff811681146200019f57600080fd5b60805160a051611c9362000202600039600061032a0152600081816103be015281816108a101526111940152611c936000f3fe60806040526004361061015f5760003560e01c80637249609f116100c0578063d5438eae11610074578063e9198bf911610059578063e9198bf91461040d578063efae508a1461042d578063f2fde38b1461044d57600080fd5b8063d5438eae146103ac578063de523cf3146103e057600080fd5b80638d3638f4116100a55780638d3638f4146103185780638da5cb5b14610361578063b49c53a71461038c57600080fd5b80637249609f146102b35780637f5a7c7b146102c657600080fd5b8063440df4f41161011757806356d5d475116100fc57806356d5d4751461026b578063715018a61461027e57806371a15b381461029357600080fd5b8063440df4f414610229578063485cc9551461024b57600080fd5b80632e6a9e4b116101485780632e6a9e4b146101b95780632ead72f6146101e95780633dfd38731461020957600080fd5b80630e72cc0614610164578063133b79a914610186575b600080fd5b34801561017057600080fd5b5061018461017f3660046116b9565b61046d565b005b34801561019257600080fd5b506101a66101a13660046116e8565b610588565b6040519081526020015b60405180910390f35b3480156101c557600080fd5b506101d96101d4366004611703565b610599565b60405190151581526020016101b0565b3480156101f557600080fd5b506101a66102043660046116e8565b6105ac565b34801561021557600080fd5b506101846102243660046116b9565b6105cb565b34801561023557600080fd5b5061023e6106e1565b6040516101b0919061172d565b34801561025757600080fd5b50610184610266366004611777565b6106f2565b6101846102793660046117aa565b610889565b34801561028a57600080fd5b506101846109f1565b34801561029f57600080fd5b506101846102ae366004611876565b610a05565b6101846102c13660046118e7565b610a60565b3480156102d257600080fd5b506065546102f39073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101b0565b34801561032457600080fd5b5061034c7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016101b0565b34801561036d57600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166102f3565b34801561039857600080fd5b506101846103a7366004611703565b610a6a565b3480156103b857600080fd5b506102f37f000000000000000000000000000000000000000000000000000000000000000081565b3480156103ec57600080fd5b506066546102f39073ffffffffffffffffffffffffffffffffffffffff1681565b34801561041957600080fd5b506101846104283660046119c7565b610a80565b34801561043957600080fd5b506101846104483660046116e8565b610b5f565b34801561045957600080fd5b506101846104683660046116b9565b610b73565b8073ffffffffffffffffffffffffffffffffffffffff81163b1515806104a7575073ffffffffffffffffffffffffffffffffffffffff8116155b610538576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610540610c27565b50606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600061059382610ca8565b92915050565b60006105a58383610d0d565b9392505050565b6000806105c3609763ffffffff80861690610d2116565b949350505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610605575073ffffffffffffffffffffffffffffffffffffffff8116155b610691576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e6700000000000000000000000000000000000000000000000000606482015260840161052f565b610699610c27565b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60606106ed6097610d3a565b905090565b600054610100900460ff16158080156107125750600054600160ff909116105b8061072c5750303b15801561072c575060005460ff166001145b6107b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161052f565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561081657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610821838333610df5565b801561088457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461094e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f78436c69656e743a2073656e646572206e6f74206d61696c626f60448201527f7800000000000000000000000000000000000000000000000000000000000000606482015260840161052f565b600061095985610ca8565b90508381146109ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f456e726f6c6c656420726f7574657220646f6573206e6f74206d61746368207360448201527f656e646572000000000000000000000000000000000000000000000000000000606482015260840161052f565b5050505050565b6109f9610c27565b610a036000610eab565b565b610a0d610c27565b8060005b81811015610a5a57610a48848483818110610a2e57610a2e611a33565b9050602002016020810190610a4391906116e8565b610f22565b610a53600182611a91565b9050610a11565b50505050565b6108848282610f77565b610a72610c27565b610a7c8282610fb7565b5050565b610a88610c27565b828114610af1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e67746800000000000000000000000000000000000000000000000000604482015260640161052f565b8260005b81811015610b5757610b45868683818110610b1257610b12611a33565b9050602002016020810190610b2791906116e8565b858584818110610b3957610b39611a33565b90506020020135610fb7565b610b50600182611a91565b9050610af5565b505050505050565b610b67610c27565b610b7081610f22565b50565b610b7b610c27565b73ffffffffffffffffffffffffffffffffffffffff8116610c1e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161052f565b610b7081610eab565b60335473ffffffffffffffffffffffffffffffffffffffff163314610a03576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161052f565b60008080610cc0609763ffffffff80871690610d2116565b915091508115610cd1579392505050565b610cda84610fcd565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052f9190611b12565b600081610d19846105ac565b149392505050565b600080610d2e8484611004565b915091505b9250929050565b60606000610d478361103e565b9050805167ffffffffffffffff811115610d6357610d636118b8565b604051908082528060200260200182016040528015610d8c578160200160208202803683370190505b50915060005b8151811015610dee57818181518110610dad57610dad611a33565b6020026020010151838281518110610dc757610dc7611a33565b63ffffffff9092166020928302919091019091015280610de681611b25565b915050610d92565b5050919050565b600054610100900460ff16610e8c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161052f565b610e946110d9565b610e9d836105cb565b610ea68261046d565b610884815b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610f36609763ffffffff8084169061117816565b610f3f82610fcd565b90610a7c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052f9190611b12565b60006105a583348460405180602001604052806000815250606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611184565b610a7c609763ffffffff80851690849061124216565b6060610fde8263ffffffff1661124d565b604051602001610fee9190611b5d565b6040516020818303038152906040529050919050565b600081815260028301602052604081205481908061103357611026858561130b565b925060009150610d339050565b600192509050610d33565b6060600061104b83611317565b90508067ffffffffffffffff811115611066576110666118b8565b60405190808252806020026020018201604052801561108f578160200160208202803683370190505b50915060005b81811015610dee576110a78482611322565b60001c8382815181106110bc576110bc611a33565b6020908102919091010152806110d181611b25565b915050611095565b600054610100900460ff16611170576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161052f565b610a0361132e565b60006105a583836113ce565b60008061119087610ca8565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166310b83dc08789848989896040518763ffffffff1660e01b81526004016111f4959493929190611ba2565b60206040518083038185885af1158015611212573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906112379190611c02565b979650505050505050565b610a5a8383836113eb565b6060600061125a83611408565b600101905060008167ffffffffffffffff81111561127a5761127a6118b8565b6040519080825280601f01601f1916602001820160405280156112a4576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846112ae57509392505050565b60006105a583836114ea565b600061059382611502565b60006105a5838361150c565b600054610100900460ff166113c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161052f565b610a0333610eab565b600081815260028301602052604081208190556105a58383611536565b600082815260028401602052604081208290556105c38484611542565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611451577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef8100000000831061147d576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061149b57662386f26fc10000830492506010015b6305f5e10083106114b3576305f5e100830492506008015b61271083106114c757612710830492506004015b606483106114d9576064830492506002015b600a83106105935760010192915050565b600081815260018301602052604081205415156105a5565b6000610593825490565b600082600001828154811061152357611523611a33565b9060005260206000200154905092915050565b60006105a5838361154e565b60006105a58383611641565b60008181526001830160205260408120548015611637576000611572600183611c1b565b855490915060009061158690600190611c1b565b90508181146115eb5760008660000182815481106115a6576115a6611a33565b90600052602060002001549050808760000184815481106115c9576115c9611a33565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806115fc576115fc611c2e565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610593565b6000915050610593565b600081815260018301602052604081205461168857508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610593565b506000610593565b803573ffffffffffffffffffffffffffffffffffffffff811681146116b457600080fd5b919050565b6000602082840312156116cb57600080fd5b6105a582611690565b803563ffffffff811681146116b457600080fd5b6000602082840312156116fa57600080fd5b6105a5826116d4565b6000806040838503121561171657600080fd5b61171f836116d4565b946020939093013593505050565b6020808252825182820181905260009190848201906040850190845b8181101561176b57835163ffffffff1683529284019291840191600101611749565b50909695505050505050565b6000806040838503121561178a57600080fd5b61179383611690565b91506117a160208401611690565b90509250929050565b600080600080606085870312156117c057600080fd5b6117c9856116d4565b935060208501359250604085013567ffffffffffffffff808211156117ed57600080fd5b818701915087601f83011261180157600080fd5b81358181111561181057600080fd5b88602082850101111561182257600080fd5b95989497505060200194505050565b60008083601f84011261184357600080fd5b50813567ffffffffffffffff81111561185b57600080fd5b6020830191508360208260051b8501011115610d3357600080fd5b6000806020838503121561188957600080fd5b823567ffffffffffffffff8111156118a057600080fd5b6118ac85828601611831565b90969095509350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080604083850312156118fa57600080fd5b611903836116d4565b9150602083013567ffffffffffffffff8082111561192057600080fd5b818501915085601f83011261193457600080fd5b813581811115611946576119466118b8565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561198c5761198c6118b8565b816040528281528860208487010111156119a557600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600080600080604085870312156119dd57600080fd5b843567ffffffffffffffff808211156119f557600080fd5b611a0188838901611831565b90965094506020870135915080821115611a1a57600080fd5b50611a2787828801611831565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561059357610593611a62565b60005b83811015611abf578181015183820152602001611aa7565b50506000910152565b60008151808452611ae0816020860160208601611aa4565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006105a56020830184611ac8565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611b5657611b56611a62565b5060010190565b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a2000815260008251611b9581601f850160208701611aa4565b91909101601f0192915050565b63ffffffff8616815284602082015260a060408201526000611bc760a0830186611ac8565b8281036060840152611bd98186611ac8565b91505073ffffffffffffffffffffffffffffffffffffffff831660808301529695505050505050565b600060208284031215611c1457600080fd5b5051919050565b8181038181111561059357610593611a62565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea264697066735822122079657297156bac0f8e2bb49de004c70f7c44e04d3606f3170aaa58783f90a52864736f6c63430008130033";
16
16
  static readonly abi: readonly [{
17
17
  readonly inputs: readonly [{
18
18
  readonly internalType: "address";
@@ -360,7 +360,7 @@ const _abi = [
360
360
  type: "function",
361
361
  },
362
362
  ];
363
- const _bytecode = "0x60c06040523480156200001157600080fd5b5060405162001e9538038062001e95833981016040819052620000349162000174565b8080806001600160a01b0381163b620000935760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f780000604482015260640160405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001049190620001a6565b63ffffffff1660a052620001183362000122565b50505050620001ce565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602082840312156200018757600080fd5b81516001600160a01b03811681146200019f57600080fd5b9392505050565b600060208284031215620001b957600080fd5b815163ffffffff811681146200019f57600080fd5b60805160a051611c9362000202600039600061032a0152600081816103be015281816108a101526111940152611c936000f3fe60806040526004361061015f5760003560e01c80637249609f116100c0578063d5438eae11610074578063e9198bf911610059578063e9198bf91461040d578063efae508a1461042d578063f2fde38b1461044d57600080fd5b8063d5438eae146103ac578063de523cf3146103e057600080fd5b80638d3638f4116100a55780638d3638f4146103185780638da5cb5b14610361578063b49c53a71461038c57600080fd5b80637249609f146102b35780637f5a7c7b146102c657600080fd5b8063440df4f41161011757806356d5d475116100fc57806356d5d4751461026b578063715018a61461027e57806371a15b381461029357600080fd5b8063440df4f414610229578063485cc9551461024b57600080fd5b80632e6a9e4b116101485780632e6a9e4b146101b95780632ead72f6146101e95780633dfd38731461020957600080fd5b80630e72cc0614610164578063133b79a914610186575b600080fd5b34801561017057600080fd5b5061018461017f3660046116b9565b61046d565b005b34801561019257600080fd5b506101a66101a13660046116e8565b610588565b6040519081526020015b60405180910390f35b3480156101c557600080fd5b506101d96101d4366004611703565b610599565b60405190151581526020016101b0565b3480156101f557600080fd5b506101a66102043660046116e8565b6105ac565b34801561021557600080fd5b506101846102243660046116b9565b6105cb565b34801561023557600080fd5b5061023e6106e1565b6040516101b0919061172d565b34801561025757600080fd5b50610184610266366004611777565b6106f2565b6101846102793660046117aa565b610889565b34801561028a57600080fd5b506101846109f1565b34801561029f57600080fd5b506101846102ae366004611876565b610a05565b6101846102c13660046118e7565b610a60565b3480156102d257600080fd5b506065546102f39073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101b0565b34801561032457600080fd5b5061034c7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016101b0565b34801561036d57600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166102f3565b34801561039857600080fd5b506101846103a7366004611703565b610a6a565b3480156103b857600080fd5b506102f37f000000000000000000000000000000000000000000000000000000000000000081565b3480156103ec57600080fd5b506066546102f39073ffffffffffffffffffffffffffffffffffffffff1681565b34801561041957600080fd5b506101846104283660046119c7565b610a80565b34801561043957600080fd5b506101846104483660046116e8565b610b5f565b34801561045957600080fd5b506101846104683660046116b9565b610b73565b8073ffffffffffffffffffffffffffffffffffffffff81163b1515806104a7575073ffffffffffffffffffffffffffffffffffffffff8116155b610538576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610540610c27565b50606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600061059382610ca8565b92915050565b60006105a58383610d0d565b9392505050565b6000806105c3609763ffffffff80861690610d2116565b949350505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610605575073ffffffffffffffffffffffffffffffffffffffff8116155b610691576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e6700000000000000000000000000000000000000000000000000606482015260840161052f565b610699610c27565b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60606106ed6097610d3a565b905090565b600054610100900460ff16158080156107125750600054600160ff909116105b8061072c5750303b15801561072c575060005460ff166001145b6107b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161052f565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561081657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610821838333610df5565b801561088457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461094e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f78436c69656e743a2073656e646572206e6f74206d61696c626f60448201527f7800000000000000000000000000000000000000000000000000000000000000606482015260840161052f565b600061095985610ca8565b90508381146109ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f456e726f6c6c656420726f7574657220646f6573206e6f74206d61746368207360448201527f656e646572000000000000000000000000000000000000000000000000000000606482015260840161052f565b5050505050565b6109f9610c27565b610a036000610eab565b565b610a0d610c27565b8060005b81811015610a5a57610a48848483818110610a2e57610a2e611a33565b9050602002016020810190610a4391906116e8565b610f22565b610a53600182611a91565b9050610a11565b50505050565b6108848282610f77565b610a72610c27565b610a7c8282610fb7565b5050565b610a88610c27565b828114610af1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e67746800000000000000000000000000000000000000000000000000604482015260640161052f565b8260005b81811015610b5757610b45868683818110610b1257610b12611a33565b9050602002016020810190610b2791906116e8565b858584818110610b3957610b39611a33565b90506020020135610fb7565b610b50600182611a91565b9050610af5565b505050505050565b610b67610c27565b610b7081610f22565b50565b610b7b610c27565b73ffffffffffffffffffffffffffffffffffffffff8116610c1e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161052f565b610b7081610eab565b60335473ffffffffffffffffffffffffffffffffffffffff163314610a03576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161052f565b60008080610cc0609763ffffffff80871690610d2116565b915091508115610cd1579392505050565b610cda84610fcd565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052f9190611b12565b600081610d19846105ac565b149392505050565b600080610d2e8484611004565b915091505b9250929050565b60606000610d478361103e565b9050805167ffffffffffffffff811115610d6357610d636118b8565b604051908082528060200260200182016040528015610d8c578160200160208202803683370190505b50915060005b8151811015610dee57818181518110610dad57610dad611a33565b6020026020010151838281518110610dc757610dc7611a33565b63ffffffff9092166020928302919091019091015280610de681611b25565b915050610d92565b5050919050565b600054610100900460ff16610e8c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161052f565b610e946110d9565b610e9d836105cb565b610ea68261046d565b610884815b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610f36609763ffffffff8084169061117816565b610f3f82610fcd565b90610a7c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052f9190611b12565b60006105a583348460405180602001604052806000815250606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611184565b610a7c609763ffffffff80851690849061124216565b6060610fde8263ffffffff1661124d565b604051602001610fee9190611b5d565b6040516020818303038152906040529050919050565b600081815260028301602052604081205481908061103357611026858561130b565b925060009150610d339050565b600192509050610d33565b6060600061104b83611317565b90508067ffffffffffffffff811115611066576110666118b8565b60405190808252806020026020018201604052801561108f578160200160208202803683370190505b50915060005b81811015610dee576110a78482611322565b60001c8382815181106110bc576110bc611a33565b6020908102919091010152806110d181611b25565b915050611095565b600054610100900460ff16611170576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161052f565b610a0361132e565b60006105a583836113ce565b60008061119087610ca8565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166310b83dc08789848989896040518763ffffffff1660e01b81526004016111f4959493929190611ba2565b60206040518083038185885af1158015611212573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906112379190611c02565b979650505050505050565b610a5a8383836113eb565b6060600061125a83611408565b600101905060008167ffffffffffffffff81111561127a5761127a6118b8565b6040519080825280601f01601f1916602001820160405280156112a4576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846112ae57509392505050565b60006105a583836114ea565b600061059382611502565b60006105a5838361150c565b600054610100900460ff166113c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161052f565b610a0333610eab565b600081815260028301602052604081208190556105a58383611536565b600082815260028401602052604081208290556105c38484611542565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611451577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef8100000000831061147d576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061149b57662386f26fc10000830492506010015b6305f5e10083106114b3576305f5e100830492506008015b61271083106114c757612710830492506004015b606483106114d9576064830492506002015b600a83106105935760010192915050565b600081815260018301602052604081205415156105a5565b6000610593825490565b600082600001828154811061152357611523611a33565b9060005260206000200154905092915050565b60006105a5838361154e565b60006105a58383611641565b60008181526001830160205260408120548015611637576000611572600183611c1b565b855490915060009061158690600190611c1b565b90508181146115eb5760008660000182815481106115a6576115a6611a33565b90600052602060002001549050808760000184815481106115c9576115c9611a33565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806115fc576115fc611c2e565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610593565b6000915050610593565b600081815260018301602052604081205461168857508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610593565b506000610593565b803573ffffffffffffffffffffffffffffffffffffffff811681146116b457600080fd5b919050565b6000602082840312156116cb57600080fd5b6105a582611690565b803563ffffffff811681146116b457600080fd5b6000602082840312156116fa57600080fd5b6105a5826116d4565b6000806040838503121561171657600080fd5b61171f836116d4565b946020939093013593505050565b6020808252825182820181905260009190848201906040850190845b8181101561176b57835163ffffffff1683529284019291840191600101611749565b50909695505050505050565b6000806040838503121561178a57600080fd5b61179383611690565b91506117a160208401611690565b90509250929050565b600080600080606085870312156117c057600080fd5b6117c9856116d4565b935060208501359250604085013567ffffffffffffffff808211156117ed57600080fd5b818701915087601f83011261180157600080fd5b81358181111561181057600080fd5b88602082850101111561182257600080fd5b95989497505060200194505050565b60008083601f84011261184357600080fd5b50813567ffffffffffffffff81111561185b57600080fd5b6020830191508360208260051b8501011115610d3357600080fd5b6000806020838503121561188957600080fd5b823567ffffffffffffffff8111156118a057600080fd5b6118ac85828601611831565b90969095509350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080604083850312156118fa57600080fd5b611903836116d4565b9150602083013567ffffffffffffffff8082111561192057600080fd5b818501915085601f83011261193457600080fd5b813581811115611946576119466118b8565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561198c5761198c6118b8565b816040528281528860208487010111156119a557600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600080600080604085870312156119dd57600080fd5b843567ffffffffffffffff808211156119f557600080fd5b611a0188838901611831565b90965094506020870135915080821115611a1a57600080fd5b50611a2787828801611831565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561059357610593611a62565b60005b83811015611abf578181015183820152602001611aa7565b50506000910152565b60008151808452611ae0816020860160208601611aa4565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006105a56020830184611ac8565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611b5657611b56611a62565b5060010190565b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a2000815260008251611b9581601f850160208701611aa4565b91909101601f0192915050565b63ffffffff8616815284602082015260a060408201526000611bc760a0830186611ac8565b8281036060840152611bd98186611ac8565b91505073ffffffffffffffffffffffffffffffffffffffff831660808301529695505050505050565b600060208284031215611c1457600080fd5b5051919050565b8181038181111561059357610593611a62565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220b2641392a82af4fe6fc97a6264bf13f6139ff28af4a3a320bf1197b69a8d303f64736f6c63430008130033";
363
+ const _bytecode = "0x60c06040523480156200001157600080fd5b5060405162001e9538038062001e95833981016040819052620000349162000174565b8080806001600160a01b0381163b620000935760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f780000604482015260640160405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001049190620001a6565b63ffffffff1660a052620001183362000122565b50505050620001ce565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602082840312156200018757600080fd5b81516001600160a01b03811681146200019f57600080fd5b9392505050565b600060208284031215620001b957600080fd5b815163ffffffff811681146200019f57600080fd5b60805160a051611c9362000202600039600061032a0152600081816103be015281816108a101526111940152611c936000f3fe60806040526004361061015f5760003560e01c80637249609f116100c0578063d5438eae11610074578063e9198bf911610059578063e9198bf91461040d578063efae508a1461042d578063f2fde38b1461044d57600080fd5b8063d5438eae146103ac578063de523cf3146103e057600080fd5b80638d3638f4116100a55780638d3638f4146103185780638da5cb5b14610361578063b49c53a71461038c57600080fd5b80637249609f146102b35780637f5a7c7b146102c657600080fd5b8063440df4f41161011757806356d5d475116100fc57806356d5d4751461026b578063715018a61461027e57806371a15b381461029357600080fd5b8063440df4f414610229578063485cc9551461024b57600080fd5b80632e6a9e4b116101485780632e6a9e4b146101b95780632ead72f6146101e95780633dfd38731461020957600080fd5b80630e72cc0614610164578063133b79a914610186575b600080fd5b34801561017057600080fd5b5061018461017f3660046116b9565b61046d565b005b34801561019257600080fd5b506101a66101a13660046116e8565b610588565b6040519081526020015b60405180910390f35b3480156101c557600080fd5b506101d96101d4366004611703565b610599565b60405190151581526020016101b0565b3480156101f557600080fd5b506101a66102043660046116e8565b6105ac565b34801561021557600080fd5b506101846102243660046116b9565b6105cb565b34801561023557600080fd5b5061023e6106e1565b6040516101b0919061172d565b34801561025757600080fd5b50610184610266366004611777565b6106f2565b6101846102793660046117aa565b610889565b34801561028a57600080fd5b506101846109f1565b34801561029f57600080fd5b506101846102ae366004611876565b610a05565b6101846102c13660046118e7565b610a60565b3480156102d257600080fd5b506065546102f39073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101b0565b34801561032457600080fd5b5061034c7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016101b0565b34801561036d57600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166102f3565b34801561039857600080fd5b506101846103a7366004611703565b610a6a565b3480156103b857600080fd5b506102f37f000000000000000000000000000000000000000000000000000000000000000081565b3480156103ec57600080fd5b506066546102f39073ffffffffffffffffffffffffffffffffffffffff1681565b34801561041957600080fd5b506101846104283660046119c7565b610a80565b34801561043957600080fd5b506101846104483660046116e8565b610b5f565b34801561045957600080fd5b506101846104683660046116b9565b610b73565b8073ffffffffffffffffffffffffffffffffffffffff81163b1515806104a7575073ffffffffffffffffffffffffffffffffffffffff8116155b610538576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610540610c27565b50606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600061059382610ca8565b92915050565b60006105a58383610d0d565b9392505050565b6000806105c3609763ffffffff80861690610d2116565b949350505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610605575073ffffffffffffffffffffffffffffffffffffffff8116155b610691576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e6700000000000000000000000000000000000000000000000000606482015260840161052f565b610699610c27565b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60606106ed6097610d3a565b905090565b600054610100900460ff16158080156107125750600054600160ff909116105b8061072c5750303b15801561072c575060005460ff166001145b6107b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161052f565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561081657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610821838333610df5565b801561088457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461094e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f78436c69656e743a2073656e646572206e6f74206d61696c626f60448201527f7800000000000000000000000000000000000000000000000000000000000000606482015260840161052f565b600061095985610ca8565b90508381146109ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f456e726f6c6c656420726f7574657220646f6573206e6f74206d61746368207360448201527f656e646572000000000000000000000000000000000000000000000000000000606482015260840161052f565b5050505050565b6109f9610c27565b610a036000610eab565b565b610a0d610c27565b8060005b81811015610a5a57610a48848483818110610a2e57610a2e611a33565b9050602002016020810190610a4391906116e8565b610f22565b610a53600182611a91565b9050610a11565b50505050565b6108848282610f77565b610a72610c27565b610a7c8282610fb7565b5050565b610a88610c27565b828114610af1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e67746800000000000000000000000000000000000000000000000000604482015260640161052f565b8260005b81811015610b5757610b45868683818110610b1257610b12611a33565b9050602002016020810190610b2791906116e8565b858584818110610b3957610b39611a33565b90506020020135610fb7565b610b50600182611a91565b9050610af5565b505050505050565b610b67610c27565b610b7081610f22565b50565b610b7b610c27565b73ffffffffffffffffffffffffffffffffffffffff8116610c1e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161052f565b610b7081610eab565b60335473ffffffffffffffffffffffffffffffffffffffff163314610a03576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161052f565b60008080610cc0609763ffffffff80871690610d2116565b915091508115610cd1579392505050565b610cda84610fcd565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052f9190611b12565b600081610d19846105ac565b149392505050565b600080610d2e8484611004565b915091505b9250929050565b60606000610d478361103e565b9050805167ffffffffffffffff811115610d6357610d636118b8565b604051908082528060200260200182016040528015610d8c578160200160208202803683370190505b50915060005b8151811015610dee57818181518110610dad57610dad611a33565b6020026020010151838281518110610dc757610dc7611a33565b63ffffffff9092166020928302919091019091015280610de681611b25565b915050610d92565b5050919050565b600054610100900460ff16610e8c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161052f565b610e946110d9565b610e9d836105cb565b610ea68261046d565b610884815b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610f36609763ffffffff8084169061117816565b610f3f82610fcd565b90610a7c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052f9190611b12565b60006105a583348460405180602001604052806000815250606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611184565b610a7c609763ffffffff80851690849061124216565b6060610fde8263ffffffff1661124d565b604051602001610fee9190611b5d565b6040516020818303038152906040529050919050565b600081815260028301602052604081205481908061103357611026858561130b565b925060009150610d339050565b600192509050610d33565b6060600061104b83611317565b90508067ffffffffffffffff811115611066576110666118b8565b60405190808252806020026020018201604052801561108f578160200160208202803683370190505b50915060005b81811015610dee576110a78482611322565b60001c8382815181106110bc576110bc611a33565b6020908102919091010152806110d181611b25565b915050611095565b600054610100900460ff16611170576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161052f565b610a0361132e565b60006105a583836113ce565b60008061119087610ca8565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166310b83dc08789848989896040518763ffffffff1660e01b81526004016111f4959493929190611ba2565b60206040518083038185885af1158015611212573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906112379190611c02565b979650505050505050565b610a5a8383836113eb565b6060600061125a83611408565b600101905060008167ffffffffffffffff81111561127a5761127a6118b8565b6040519080825280601f01601f1916602001820160405280156112a4576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846112ae57509392505050565b60006105a583836114ea565b600061059382611502565b60006105a5838361150c565b600054610100900460ff166113c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161052f565b610a0333610eab565b600081815260028301602052604081208190556105a58383611536565b600082815260028401602052604081208290556105c38484611542565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611451577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef8100000000831061147d576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061149b57662386f26fc10000830492506010015b6305f5e10083106114b3576305f5e100830492506008015b61271083106114c757612710830492506004015b606483106114d9576064830492506002015b600a83106105935760010192915050565b600081815260018301602052604081205415156105a5565b6000610593825490565b600082600001828154811061152357611523611a33565b9060005260206000200154905092915050565b60006105a5838361154e565b60006105a58383611641565b60008181526001830160205260408120548015611637576000611572600183611c1b565b855490915060009061158690600190611c1b565b90508181146115eb5760008660000182815481106115a6576115a6611a33565b90600052602060002001549050808760000184815481106115c9576115c9611a33565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806115fc576115fc611c2e565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610593565b6000915050610593565b600081815260018301602052604081205461168857508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610593565b506000610593565b803573ffffffffffffffffffffffffffffffffffffffff811681146116b457600080fd5b919050565b6000602082840312156116cb57600080fd5b6105a582611690565b803563ffffffff811681146116b457600080fd5b6000602082840312156116fa57600080fd5b6105a5826116d4565b6000806040838503121561171657600080fd5b61171f836116d4565b946020939093013593505050565b6020808252825182820181905260009190848201906040850190845b8181101561176b57835163ffffffff1683529284019291840191600101611749565b50909695505050505050565b6000806040838503121561178a57600080fd5b61179383611690565b91506117a160208401611690565b90509250929050565b600080600080606085870312156117c057600080fd5b6117c9856116d4565b935060208501359250604085013567ffffffffffffffff808211156117ed57600080fd5b818701915087601f83011261180157600080fd5b81358181111561181057600080fd5b88602082850101111561182257600080fd5b95989497505060200194505050565b60008083601f84011261184357600080fd5b50813567ffffffffffffffff81111561185b57600080fd5b6020830191508360208260051b8501011115610d3357600080fd5b6000806020838503121561188957600080fd5b823567ffffffffffffffff8111156118a057600080fd5b6118ac85828601611831565b90969095509350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080604083850312156118fa57600080fd5b611903836116d4565b9150602083013567ffffffffffffffff8082111561192057600080fd5b818501915085601f83011261193457600080fd5b813581811115611946576119466118b8565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561198c5761198c6118b8565b816040528281528860208487010111156119a557600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600080600080604085870312156119dd57600080fd5b843567ffffffffffffffff808211156119f557600080fd5b611a0188838901611831565b90965094506020870135915080821115611a1a57600080fd5b50611a2787828801611831565b95989497509550505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561059357610593611a62565b60005b83811015611abf578181015183820152602001611aa7565b50506000910152565b60008151808452611ae0816020860160208601611aa4565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006105a56020830184611ac8565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611b5657611b56611a62565b5060010190565b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a2000815260008251611b9581601f850160208701611aa4565b91909101601f0192915050565b63ffffffff8616815284602082015260a060408201526000611bc760a0830186611ac8565b8281036060840152611bd98186611ac8565b91505073ffffffffffffffffffffffffffffffffffffffff831660808301529695505050505050565b600060208284031215611c1457600080fd5b5051919050565b8181038181111561059357610593611a62565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea264697066735822122079657297156bac0f8e2bb49de004c70f7c44e04d3606f3170aaa58783f90a52864736f6c63430008130033";
364
364
  const isSuperArgs = (xs) => xs.length > 1;
365
365
  export class TestRouter__factory extends ContractFactory {
366
366
  constructor(...args) {
@@ -12,7 +12,7 @@ export declare class TestSendReceiver__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): TestSendReceiver;
14
14
  connect(signer: Signer): TestSendReceiver__factory;
15
- static readonly bytecode = "0x608060405234801561001057600080fd5b50610670806100206000396000f3fe60806040526004361061003f5760003560e01c806312f762221461004457806356d5d4751461006c578063c23ea0d714610081578063d5dda2bd14610094575b600080fd5b34801561005057600080fd5b5061005a61c35081565b60405190815260200160405180910390f35b61007f61007a366004610337565b6100a7565b005b61007f61008f3660046103b6565b61016a565b61007f6100a2366004610401565b61020e565b60006100b16102c2565b905060006100c060108361047c565b159050801561012f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f626c6f636b206861736820656e647320696e2030000000000000000000000000604482015260640160405180910390fd5b6040518281527f1e8284519093f867c8c8de794693d723718c98d6ad442f387dfd50dd1e3d93ba9060200160405180910390a1505050505050565b6040517ffa31de0100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063fa31de019034906101c4908790309088908890600401610500565b60206040518083038185885af11580156101e2573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906102079190610530565b5050505050565b604080516020810182526000815290517f10b83dc000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8716916310b83dc091349161027791899130918a918a918a90600401610549565b60206040518083038185885af1158015610295573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906102ba9190610530565b505050505050565b60006102cf6001436105fa565b40905090565b803563ffffffff811681146102e957600080fd5b919050565b60008083601f84011261030057600080fd5b50813567ffffffffffffffff81111561031857600080fd5b60208301915083602082850101111561033057600080fd5b9250929050565b6000806000806060858703121561034d57600080fd5b610356856102d5565b935060208501359250604085013567ffffffffffffffff81111561037957600080fd5b610385878288016102ee565b95989497509550505050565b73ffffffffffffffffffffffffffffffffffffffff811681146103b357600080fd5b50565b600080600080606085870312156103cc57600080fd5b84356103d781610391565b93506103e5602086016102d5565b9250604085013567ffffffffffffffff81111561037957600080fd5b60008060008060006080868803121561041957600080fd5b853561042481610391565b9450610432602087016102d5565b9350604086013567ffffffffffffffff81111561044e57600080fd5b61045a888289016102ee565b909450925050606086013561046e81610391565b809150509295509295909350565b6000826104b2577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500690565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b63ffffffff851681528360208201526060604082015260006105266060830184866104b7565b9695505050505050565b60006020828403121561054257600080fd5b5051919050565b63ffffffff8716815260006020878184015260a0604084015261057060a0840187896104b7565b8381036060850152855180825260005b8181101561059b578781018401518382018501528301610580565b506000828201840152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016010190506105ef608083018473ffffffffffffffffffffffffffffffffffffffff169052565b979650505050505050565b81810381811115610634577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b9291505056fea2646970667358221220d1e3f98219eb4650e4cf6ea426eba51ce5cc2163e7e302addf9e7ab13eb13c8c64736f6c63430008130033";
15
+ static readonly bytecode = "0x608060405234801561001057600080fd5b50610670806100206000396000f3fe60806040526004361061003f5760003560e01c806312f762221461004457806356d5d4751461006c578063c23ea0d714610081578063d5dda2bd14610094575b600080fd5b34801561005057600080fd5b5061005a61c35081565b60405190815260200160405180910390f35b61007f61007a366004610337565b6100a7565b005b61007f61008f3660046103b6565b61016a565b61007f6100a2366004610401565b61020e565b60006100b16102c2565b905060006100c060108361047c565b159050801561012f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f626c6f636b206861736820656e647320696e2030000000000000000000000000604482015260640160405180910390fd5b6040518281527f1e8284519093f867c8c8de794693d723718c98d6ad442f387dfd50dd1e3d93ba9060200160405180910390a1505050505050565b6040517ffa31de0100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063fa31de019034906101c4908790309088908890600401610500565b60206040518083038185885af11580156101e2573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906102079190610530565b5050505050565b604080516020810182526000815290517f10b83dc000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8716916310b83dc091349161027791899130918a918a918a90600401610549565b60206040518083038185885af1158015610295573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906102ba9190610530565b505050505050565b60006102cf6001436105fa565b40905090565b803563ffffffff811681146102e957600080fd5b919050565b60008083601f84011261030057600080fd5b50813567ffffffffffffffff81111561031857600080fd5b60208301915083602082850101111561033057600080fd5b9250929050565b6000806000806060858703121561034d57600080fd5b610356856102d5565b935060208501359250604085013567ffffffffffffffff81111561037957600080fd5b610385878288016102ee565b95989497509550505050565b73ffffffffffffffffffffffffffffffffffffffff811681146103b357600080fd5b50565b600080600080606085870312156103cc57600080fd5b84356103d781610391565b93506103e5602086016102d5565b9250604085013567ffffffffffffffff81111561037957600080fd5b60008060008060006080868803121561041957600080fd5b853561042481610391565b9450610432602087016102d5565b9350604086013567ffffffffffffffff81111561044e57600080fd5b61045a888289016102ee565b909450925050606086013561046e81610391565b809150509295509295909350565b6000826104b2577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500690565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b63ffffffff851681528360208201526060604082015260006105266060830184866104b7565b9695505050505050565b60006020828403121561054257600080fd5b5051919050565b63ffffffff8716815260006020878184015260a0604084015261057060a0840187896104b7565b8381036060850152855180825260005b8181101561059b578781018401518382018501528301610580565b506000828201840152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016010190506105ef608083018473ffffffffffffffffffffffffffffffffffffffff169052565b979650505050505050565b81810381811115610634577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b9291505056fea264697066735822122073e086bc45228079609c940129cacedca2709aeccb0f76d7e72c7c65eb4e132b64736f6c63430008130033";
16
16
  static readonly abi: readonly [{
17
17
  readonly anonymous: false;
18
18
  readonly inputs: readonly [{
@@ -104,7 +104,7 @@ const _abi = [
104
104
  type: "function",
105
105
  },
106
106
  ];
107
- const _bytecode = "0x608060405234801561001057600080fd5b50610670806100206000396000f3fe60806040526004361061003f5760003560e01c806312f762221461004457806356d5d4751461006c578063c23ea0d714610081578063d5dda2bd14610094575b600080fd5b34801561005057600080fd5b5061005a61c35081565b60405190815260200160405180910390f35b61007f61007a366004610337565b6100a7565b005b61007f61008f3660046103b6565b61016a565b61007f6100a2366004610401565b61020e565b60006100b16102c2565b905060006100c060108361047c565b159050801561012f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f626c6f636b206861736820656e647320696e2030000000000000000000000000604482015260640160405180910390fd5b6040518281527f1e8284519093f867c8c8de794693d723718c98d6ad442f387dfd50dd1e3d93ba9060200160405180910390a1505050505050565b6040517ffa31de0100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063fa31de019034906101c4908790309088908890600401610500565b60206040518083038185885af11580156101e2573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906102079190610530565b5050505050565b604080516020810182526000815290517f10b83dc000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8716916310b83dc091349161027791899130918a918a918a90600401610549565b60206040518083038185885af1158015610295573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906102ba9190610530565b505050505050565b60006102cf6001436105fa565b40905090565b803563ffffffff811681146102e957600080fd5b919050565b60008083601f84011261030057600080fd5b50813567ffffffffffffffff81111561031857600080fd5b60208301915083602082850101111561033057600080fd5b9250929050565b6000806000806060858703121561034d57600080fd5b610356856102d5565b935060208501359250604085013567ffffffffffffffff81111561037957600080fd5b610385878288016102ee565b95989497509550505050565b73ffffffffffffffffffffffffffffffffffffffff811681146103b357600080fd5b50565b600080600080606085870312156103cc57600080fd5b84356103d781610391565b93506103e5602086016102d5565b9250604085013567ffffffffffffffff81111561037957600080fd5b60008060008060006080868803121561041957600080fd5b853561042481610391565b9450610432602087016102d5565b9350604086013567ffffffffffffffff81111561044e57600080fd5b61045a888289016102ee565b909450925050606086013561046e81610391565b809150509295509295909350565b6000826104b2577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500690565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b63ffffffff851681528360208201526060604082015260006105266060830184866104b7565b9695505050505050565b60006020828403121561054257600080fd5b5051919050565b63ffffffff8716815260006020878184015260a0604084015261057060a0840187896104b7565b8381036060850152855180825260005b8181101561059b578781018401518382018501528301610580565b506000828201840152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016010190506105ef608083018473ffffffffffffffffffffffffffffffffffffffff169052565b979650505050505050565b81810381811115610634577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b9291505056fea2646970667358221220d1e3f98219eb4650e4cf6ea426eba51ce5cc2163e7e302addf9e7ab13eb13c8c64736f6c63430008130033";
107
+ const _bytecode = "0x608060405234801561001057600080fd5b50610670806100206000396000f3fe60806040526004361061003f5760003560e01c806312f762221461004457806356d5d4751461006c578063c23ea0d714610081578063d5dda2bd14610094575b600080fd5b34801561005057600080fd5b5061005a61c35081565b60405190815260200160405180910390f35b61007f61007a366004610337565b6100a7565b005b61007f61008f3660046103b6565b61016a565b61007f6100a2366004610401565b61020e565b60006100b16102c2565b905060006100c060108361047c565b159050801561012f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f626c6f636b206861736820656e647320696e2030000000000000000000000000604482015260640160405180910390fd5b6040518281527f1e8284519093f867c8c8de794693d723718c98d6ad442f387dfd50dd1e3d93ba9060200160405180910390a1505050505050565b6040517ffa31de0100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063fa31de019034906101c4908790309088908890600401610500565b60206040518083038185885af11580156101e2573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906102079190610530565b5050505050565b604080516020810182526000815290517f10b83dc000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8716916310b83dc091349161027791899130918a918a918a90600401610549565b60206040518083038185885af1158015610295573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906102ba9190610530565b505050505050565b60006102cf6001436105fa565b40905090565b803563ffffffff811681146102e957600080fd5b919050565b60008083601f84011261030057600080fd5b50813567ffffffffffffffff81111561031857600080fd5b60208301915083602082850101111561033057600080fd5b9250929050565b6000806000806060858703121561034d57600080fd5b610356856102d5565b935060208501359250604085013567ffffffffffffffff81111561037957600080fd5b610385878288016102ee565b95989497509550505050565b73ffffffffffffffffffffffffffffffffffffffff811681146103b357600080fd5b50565b600080600080606085870312156103cc57600080fd5b84356103d781610391565b93506103e5602086016102d5565b9250604085013567ffffffffffffffff81111561037957600080fd5b60008060008060006080868803121561041957600080fd5b853561042481610391565b9450610432602087016102d5565b9350604086013567ffffffffffffffff81111561044e57600080fd5b61045a888289016102ee565b909450925050606086013561046e81610391565b809150509295509295909350565b6000826104b2577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500690565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b63ffffffff851681528360208201526060604082015260006105266060830184866104b7565b9695505050505050565b60006020828403121561054257600080fd5b5051919050565b63ffffffff8716815260006020878184015260a0604084015261057060a0840187896104b7565b8381036060850152855180825260005b8181101561059b578781018401518382018501528301610580565b506000828201840152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016010190506105ef608083018473ffffffffffffffffffffffffffffffffffffffff169052565b979650505050505050565b81810381811115610634577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b9291505056fea264697066735822122073e086bc45228079609c940129cacedca2709aeccb0f76d7e72c7c65eb4e132b64736f6c63430008130033";
108
108
  const isSuperArgs = (xs) => xs.length > 1;
109
109
  export class TestSendReceiver__factory extends ContractFactory {
110
110
  constructor(...args) {
@@ -12,7 +12,7 @@ export declare class HypERC20Collateral__factory extends ContractFactory {
12
12
  }): TransactionRequest;
13
13
  attach(address: string): HypERC20Collateral;
14
14
  connect(signer: Signer): HypERC20Collateral__factory;
15
- static readonly bytecode = "0x60e06040523480156200001157600080fd5b5060405162002adc38038062002adc8339810160408190526200003491620001a4565b80808080806001600160a01b0381163b620000955760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f780000604482015260640160405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001069190620001dc565b63ffffffff1660a0526200011a3362000135565b5050506001600160a01b0390931660c052506200020b915050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b03811681146200019f57600080fd5b919050565b60008060408385031215620001b857600080fd5b620001c38362000187565b9150620001d36020840162000187565b90509250929050565b600060208284031215620001ef57600080fd5b815163ffffffff811681146200020457600080fd5b9392505050565b60805160a05160c05161287762000265600039600081816103e5015281816109dd0152818161147701526116250152600061037101526000818161047901528181610839015281816114f2015261177001526128776000f3fe6080604052600436106101965760003560e01c806381b4e8b4116100e1578063c0c53b8b1161008a578063e9198bf911610064578063e9198bf9146104c8578063efae508a146104e8578063f2ed8c5314610508578063f2fde38b1461052857600080fd5b8063c0c53b8b14610447578063d5438eae14610467578063de523cf31461049b57600080fd5b8063996c6cc3116100bb578063996c6cc3146103d3578063b1bd643614610407578063b49c53a71461042757600080fd5b806381b4e8b41461034c5780638d3638f41461035f5780638da5cb5b146103a857600080fd5b806356d5d4751161014357806371a15b381161011d57806371a15b38146102ad578063775313a1146102cd5780637f5a7c7b146102fa57600080fd5b806356d5d4751461026557806370a0823114610278578063715018a61461029857600080fd5b8063440df4f411610174578063440df4f41461021057806349d462ef1461023257806351debffc1461025257600080fd5b80630e72cc061461019b5780632ead72f6146101bd5780633dfd3873146101f0575b600080fd5b3480156101a757600080fd5b506101bb6101b63660046120ef565b610548565b005b3480156101c957600080fd5b506101dd6101d836600461211e565b610663565b6040519081526020015b60405180910390f35b3480156101fc57600080fd5b506101bb61020b3660046120ef565b610682565b34801561021c57600080fd5b50610225610798565b6040516101e79190612139565b34801561023e57600080fd5b506101bb61024d366004612183565b6107a9565b6101dd6102603660046121ef565b6107cf565b6101bb610273366004612266565b610821565b34801561028457600080fd5b506101dd6102933660046120ef565b610995565b3480156102a457600080fd5b506101bb610a50565b3480156102b957600080fd5b506101bb6102c8366004612305565b610a64565b3480156102d957600080fd5b506101dd6102e836600461211e565b60ca6020526000908152604090205481565b34801561030657600080fd5b506065546103279073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101e7565b6101dd61035a366004612347565b610abf565b34801561036b57600080fd5b506103937f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016101e7565b3480156103b457600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff16610327565b3480156103df57600080fd5b506103277f000000000000000000000000000000000000000000000000000000000000000081565b34801561041357600080fd5b506101bb61042236600461237a565b610acd565b34801561043357600080fd5b506101bb610442366004612183565b610b57565b34801561045357600080fd5b506101bb6104623660046123ef565b610b69565b34801561047357600080fd5b506103277f000000000000000000000000000000000000000000000000000000000000000081565b3480156104a757600080fd5b506066546103279073ffffffffffffffffffffffffffffffffffffffff1681565b3480156104d457600080fd5b506101bb6104e3366004612432565b610d00565b3480156104f457600080fd5b506101bb61050336600461211e565b610ddf565b34801561051457600080fd5b506101dd61052336600461211e565b610df3565b34801561053457600080fd5b506101bb6105433660046120ef565b610e2a565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610582575073ffffffffffffffffffffffffffffffffffffffff8116155b610613576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61061b610ede565b50606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60008061067a609763ffffffff80861690610f5f16565b949350505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b1515806106bc575073ffffffffffffffffffffffffffffffffffffffff8116155b610748576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e6700000000000000000000000000000000000000000000000000606482015260840161060a565b610750610ede565b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60606107a46097610f78565b905090565b6107b1610ede565b63ffffffff91909116600090815260ca6020526040902055565b5050565b60006108168787873488888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a9250611033915050565b979650505050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146108e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f78436c69656e743a2073656e646572206e6f74206d61696c626f60448201527f7800000000000000000000000000000000000000000000000000000000000000606482015260840161060a565b60006108f1856110ac565b9050838114610982576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f456e726f6c6c656420726f7574657220646f6573206e6f74206d61746368207360448201527f656e646572000000000000000000000000000000000000000000000000000000606482015260840161060a565b61098e85858585611111565b5050505050565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906370a0823190602401602060405180830381865afa158015610a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4a9190612492565b92915050565b610a58610ede565b610a62600061119b565b565b610a6c610ede565b8060005b81811015610ab957610aa7848483818110610a8d57610a8d6124ab565b9050602002016020810190610aa2919061211e565b611212565b610ab2600182612509565b9050610a70565b50505050565b600061067a84848434611267565b610ad5610ede565b60005b81811015610b5257610b40838383818110610af557610af56124ab565b610b0b926020604090920201908101915061211e565b848484818110610b1d57610b1d6124ab565b9050604002016020013563ffffffff909116600090815260ca6020526040902055565b610b4b600182612509565b9050610ad8565b505050565b610b5f610ede565b6107cb82826112a0565b600054610100900460ff1615808015610b895750600054600160ff909116105b80610ba35750303b158015610ba3575060005460ff166001145b610c2f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161060a565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610c8d57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610c988484846112b6565b8015610ab957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150505050565b610d08610ede565b828114610d71576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e67746800000000000000000000000000000000000000000000000000604482015260640161060a565b8260005b81811015610dd757610dc5868683818110610d9257610d926124ab565b9050602002016020810190610da7919061211e565b858584818110610db957610db96124ab565b905060200201356112a0565b610dd0600182612509565b9050610d75565b505050505050565b610de7610ede565b610df081611212565b50565b604080516020810190915260008082526065549091610a4a9184919073ffffffffffffffffffffffffffffffffffffffff16611370565b610e32610ede565b73ffffffffffffffffffffffffffffffffffffffff8116610ed5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161060a565b610df08161119b565b60335473ffffffffffffffffffffffffffffffffffffffff163314610a62576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161060a565b600080610f6c8484611386565b915091505b9250929050565b60606000610f85836113c0565b9050805167ffffffffffffffff811115610fa157610fa161251c565b604051908082528060200260200182016040528015610fca578160200160208202803683370190505b50915060005b815181101561102c57818181518110610feb57610feb6124ab565b6020026020010151838281518110611005576110056124ab565b63ffffffff90921660209283029190910190910152806110248161254b565b915050610fd0565b5050919050565b60008061103f8661145b565b9050600061104e8888846114b3565b905061105d89878388886114e2565b9250878963ffffffff167fd229aacb94204188fe8042965fa6b269c62dc5818b21238779ab64bdd17efeec8960405161109891815260200190565b60405180910390a350509695505050505050565b600080806110c4609763ffffffff80871690610f5f16565b9150915081156110d5579392505050565b6110de84611595565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060a91906125f1565b600061111d83836115cc565b9050600061112b84846115eb565b905036600061113a86866115fb565b915091506111506111488590565b84848461160b565b838863ffffffff167fba20947a325f450d232530e5f5fce293e7963499d5309a07cee84a269f2f15a68560405161118991815260200190565b60405180910390a35050505050505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b611226609763ffffffff8084169061164c16565b61122f82611595565b906107cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060a91906125f1565b6000611297858585856112798a611658565b60655473ffffffffffffffffffffffffffffffffffffffff16611033565b95945050505050565b6107cb609763ffffffff80851690849061167a16565b600054610100900460ff1661134d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161060a565b611355611685565b61135e83610682565b61136782610548565b610b528161119b565b600061067a848461138087611658565b85611724565b60008181526002830160205260408120548190806113b5576113a885856117f8565b925060009150610f719050565b600192509050610f71565b606060006113cd83611804565b90508067ffffffffffffffff8111156113e8576113e861251c565b604051908082528060200260200182016040528015611411578160200160208202803683370190505b50915060005b8181101561102c57611429848261180f565b60001c83828151811061143e5761143e6124ab565b6020908102919091010152806114538161254b565b915050611417565b606061149f73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633308561181b565b505060408051602081019091526000815290565b60608383836040516020016114ca93929190612604565b60405160208183030381529060405290509392505050565b6000806114ee876110ac565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166310b83dc08789848989896040518763ffffffff1660e01b8152600401611552959493929190612631565b60206040518083038185885af1158015611570573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108169190612492565b60606115a68263ffffffff166118f7565b6040516020016115b69190612691565b6040516020818303038152906040529050919050565b60006115db60208284866126d6565b6115e491612700565b9392505050565b60006115db6040602084866126d6565b366000610f6c83604081876126d6565b610ab973ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001685856119b5565b60006115e48383611a0b565b63ffffffff8116600090815260ca6020526040902054606090610a4a90611a28565b610ab9838383611a46565b600054610100900460ff1661171c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161060a565b610a62611a63565b600080611730866110ac565b6040517f81d2ea9500000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906381d2ea95906117ad90899085908a908a908a90600401612631565b602060405180830381865afa1580156117ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ee9190612492565b9695505050505050565b60006115e48383611b03565b6000610a4a82611b1b565b60006115e48383611b25565b60405173ffffffffffffffffffffffffffffffffffffffff80851660248301528316604482015260648101829052610ab99085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152611b4f565b6060600061190483611c5e565b600101905060008167ffffffffffffffff8111156119245761192461251c565b6040519080825280601f01601f19166020018201604052801561194e576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461195857509392505050565b60405173ffffffffffffffffffffffffffffffffffffffff8316602482015260448101829052610b529084907fa9059cbb0000000000000000000000000000000000000000000000000000000090606401611875565b600081815260028301602052604081208190556115e48383611d40565b6060610a4a6000833360405180602001604052806000815250611d4c565b6000828152600284016020526040812082905561067a8484611d81565b600054610100900460ff16611afa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161060a565b610a623361119b565b600081815260018301602052604081205415156115e4565b6000610a4a825490565b6000826000018281548110611b3c57611b3c6124ab565b9060005260206000200154905092915050565b6000611bb1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611d8d9092919063ffffffff16565b9050805160001480611bd2575080806020019051810190611bd2919061273c565b610b52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161060a565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611ca7577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310611cd3576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611cf157662386f26fc10000830492506010015b6305f5e1008310611d09576305f5e100830492506008015b6127108310611d1d57612710830492506004015b60648310611d2f576064830492506002015b600a8310610a4a5760010192915050565b60006115e48383611d9c565b6060600185858585604051602001611d6895949392919061275e565b6040516020818303038152906040529050949350505050565b60006115e48383611e8f565b606061067a8484600085611ede565b60008181526001830160205260408120548015611e85576000611dc06001836127e3565b8554909150600090611dd4906001906127e3565b9050818114611e39576000866000018281548110611df457611df46124ab565b9060005260206000200154905080876000018481548110611e1757611e176124ab565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611e4a57611e4a6127f6565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610a4a565b6000915050610a4a565b6000818152600183016020526040812054611ed657508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610a4a565b506000610a4a565b606082471015611f70576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161060a565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611f999190612825565b60006040518083038185875af1925050503d8060008114611fd6576040519150601f19603f3d011682016040523d82523d6000602084013e611fdb565b606091505b5091509150610816878383876060831561207d5782516000036120765773ffffffffffffffffffffffffffffffffffffffff85163b612076576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161060a565b508161067a565b61067a83838151156120925781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060a91906125f1565b803573ffffffffffffffffffffffffffffffffffffffff811681146120ea57600080fd5b919050565b60006020828403121561210157600080fd5b6115e4826120c6565b803563ffffffff811681146120ea57600080fd5b60006020828403121561213057600080fd5b6115e48261210a565b6020808252825182820181905260009190848201906040850190845b8181101561217757835163ffffffff1683529284019291840191600101612155565b50909695505050505050565b6000806040838503121561219657600080fd5b61219f8361210a565b946020939093013593505050565b60008083601f8401126121bf57600080fd5b50813567ffffffffffffffff8111156121d757600080fd5b602083019150836020828501011115610f7157600080fd5b60008060008060008060a0878903121561220857600080fd5b6122118761210a565b95506020870135945060408701359350606087013567ffffffffffffffff81111561223b57600080fd5b61224789828a016121ad565b909450925061225a9050608088016120c6565b90509295509295509295565b6000806000806060858703121561227c57600080fd5b6122858561210a565b935060208501359250604085013567ffffffffffffffff8111156122a857600080fd5b6122b4878288016121ad565b95989497509550505050565b60008083601f8401126122d257600080fd5b50813567ffffffffffffffff8111156122ea57600080fd5b6020830191508360208260051b8501011115610f7157600080fd5b6000806020838503121561231857600080fd5b823567ffffffffffffffff81111561232f57600080fd5b61233b858286016122c0565b90969095509350505050565b60008060006060848603121561235c57600080fd5b6123658461210a565b95602085013595506040909401359392505050565b6000806020838503121561238d57600080fd5b823567ffffffffffffffff808211156123a557600080fd5b818501915085601f8301126123b957600080fd5b8135818111156123c857600080fd5b8660208260061b85010111156123dd57600080fd5b60209290920196919550909350505050565b60008060006060848603121561240457600080fd5b61240d846120c6565b925061241b602085016120c6565b9150612429604085016120c6565b90509250925092565b6000806000806040858703121561244857600080fd5b843567ffffffffffffffff8082111561246057600080fd5b61246c888389016122c0565b9096509450602087013591508082111561248557600080fd5b506122b4878288016122c0565b6000602082840312156124a457600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610a4a57610a4a6124da565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361257c5761257c6124da565b5060010190565b60005b8381101561259e578181015183820152602001612586565b50506000910152565b600081518084526125bf816020860160208601612583565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006115e460208301846125a7565b83815282602082015260008251612622816040850160208701612583565b91909101604001949350505050565b63ffffffff8616815284602082015260a06040820152600061265660a08301866125a7565b828103606084015261266881866125a7565b91505073ffffffffffffffffffffffffffffffffffffffff831660808301529695505050505050565b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a20008152600082516126c981601f850160208701612583565b91909101601f0192915050565b600080858511156126e657600080fd5b838611156126f357600080fd5b5050820193919092039150565b80356020831015610a4a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b60006020828403121561274e57600080fd5b815180151581146115e457600080fd5b7fffff0000000000000000000000000000000000000000000000000000000000008660f01b1681528460028201528360228201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b166042820152600082516127d2816056850160208701612583565b919091016056019695505050505050565b81810381811115610a4a57610a4a6124da565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b60008251612837818460208701612583565b919091019291505056fea2646970667358221220639e8134e67e3eb0063674da4f67c12ce940045f092fc36d048d878f8fefb20264736f6c63430008130033";
15
+ static readonly bytecode = "0x60e06040523480156200001157600080fd5b5060405162002adc38038062002adc8339810160408190526200003491620001a4565b80808080806001600160a01b0381163b620000955760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f780000604482015260640160405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001069190620001dc565b63ffffffff1660a0526200011a3362000135565b5050506001600160a01b0390931660c052506200020b915050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b03811681146200019f57600080fd5b919050565b60008060408385031215620001b857600080fd5b620001c38362000187565b9150620001d36020840162000187565b90509250929050565b600060208284031215620001ef57600080fd5b815163ffffffff811681146200020457600080fd5b9392505050565b60805160a05160c05161287762000265600039600081816103e5015281816109dd0152818161147701526116250152600061037101526000818161047901528181610839015281816114f2015261177001526128776000f3fe6080604052600436106101965760003560e01c806381b4e8b4116100e1578063c0c53b8b1161008a578063e9198bf911610064578063e9198bf9146104c8578063efae508a146104e8578063f2ed8c5314610508578063f2fde38b1461052857600080fd5b8063c0c53b8b14610447578063d5438eae14610467578063de523cf31461049b57600080fd5b8063996c6cc3116100bb578063996c6cc3146103d3578063b1bd643614610407578063b49c53a71461042757600080fd5b806381b4e8b41461034c5780638d3638f41461035f5780638da5cb5b146103a857600080fd5b806356d5d4751161014357806371a15b381161011d57806371a15b38146102ad578063775313a1146102cd5780637f5a7c7b146102fa57600080fd5b806356d5d4751461026557806370a0823114610278578063715018a61461029857600080fd5b8063440df4f411610174578063440df4f41461021057806349d462ef1461023257806351debffc1461025257600080fd5b80630e72cc061461019b5780632ead72f6146101bd5780633dfd3873146101f0575b600080fd5b3480156101a757600080fd5b506101bb6101b63660046120ef565b610548565b005b3480156101c957600080fd5b506101dd6101d836600461211e565b610663565b6040519081526020015b60405180910390f35b3480156101fc57600080fd5b506101bb61020b3660046120ef565b610682565b34801561021c57600080fd5b50610225610798565b6040516101e79190612139565b34801561023e57600080fd5b506101bb61024d366004612183565b6107a9565b6101dd6102603660046121ef565b6107cf565b6101bb610273366004612266565b610821565b34801561028457600080fd5b506101dd6102933660046120ef565b610995565b3480156102a457600080fd5b506101bb610a50565b3480156102b957600080fd5b506101bb6102c8366004612305565b610a64565b3480156102d957600080fd5b506101dd6102e836600461211e565b60ca6020526000908152604090205481565b34801561030657600080fd5b506065546103279073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101e7565b6101dd61035a366004612347565b610abf565b34801561036b57600080fd5b506103937f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016101e7565b3480156103b457600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff16610327565b3480156103df57600080fd5b506103277f000000000000000000000000000000000000000000000000000000000000000081565b34801561041357600080fd5b506101bb61042236600461237a565b610acd565b34801561043357600080fd5b506101bb610442366004612183565b610b57565b34801561045357600080fd5b506101bb6104623660046123ef565b610b69565b34801561047357600080fd5b506103277f000000000000000000000000000000000000000000000000000000000000000081565b3480156104a757600080fd5b506066546103279073ffffffffffffffffffffffffffffffffffffffff1681565b3480156104d457600080fd5b506101bb6104e3366004612432565b610d00565b3480156104f457600080fd5b506101bb61050336600461211e565b610ddf565b34801561051457600080fd5b506101dd61052336600461211e565b610df3565b34801561053457600080fd5b506101bb6105433660046120ef565b610e2a565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610582575073ffffffffffffffffffffffffffffffffffffffff8116155b610613576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61061b610ede565b50606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60008061067a609763ffffffff80861690610f5f16565b949350505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b1515806106bc575073ffffffffffffffffffffffffffffffffffffffff8116155b610748576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e6700000000000000000000000000000000000000000000000000606482015260840161060a565b610750610ede565b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60606107a46097610f78565b905090565b6107b1610ede565b63ffffffff91909116600090815260ca6020526040902055565b5050565b60006108168787873488888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a9250611033915050565b979650505050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146108e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f78436c69656e743a2073656e646572206e6f74206d61696c626f60448201527f7800000000000000000000000000000000000000000000000000000000000000606482015260840161060a565b60006108f1856110ac565b9050838114610982576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f456e726f6c6c656420726f7574657220646f6573206e6f74206d61746368207360448201527f656e646572000000000000000000000000000000000000000000000000000000606482015260840161060a565b61098e85858585611111565b5050505050565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906370a0823190602401602060405180830381865afa158015610a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4a9190612492565b92915050565b610a58610ede565b610a62600061119b565b565b610a6c610ede565b8060005b81811015610ab957610aa7848483818110610a8d57610a8d6124ab565b9050602002016020810190610aa2919061211e565b611212565b610ab2600182612509565b9050610a70565b50505050565b600061067a84848434611267565b610ad5610ede565b60005b81811015610b5257610b40838383818110610af557610af56124ab565b610b0b926020604090920201908101915061211e565b848484818110610b1d57610b1d6124ab565b9050604002016020013563ffffffff909116600090815260ca6020526040902055565b610b4b600182612509565b9050610ad8565b505050565b610b5f610ede565b6107cb82826112a0565b600054610100900460ff1615808015610b895750600054600160ff909116105b80610ba35750303b158015610ba3575060005460ff166001145b610c2f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161060a565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610c8d57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610c988484846112b6565b8015610ab957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150505050565b610d08610ede565b828114610d71576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e67746800000000000000000000000000000000000000000000000000604482015260640161060a565b8260005b81811015610dd757610dc5868683818110610d9257610d926124ab565b9050602002016020810190610da7919061211e565b858584818110610db957610db96124ab565b905060200201356112a0565b610dd0600182612509565b9050610d75565b505050505050565b610de7610ede565b610df081611212565b50565b604080516020810190915260008082526065549091610a4a9184919073ffffffffffffffffffffffffffffffffffffffff16611370565b610e32610ede565b73ffffffffffffffffffffffffffffffffffffffff8116610ed5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161060a565b610df08161119b565b60335473ffffffffffffffffffffffffffffffffffffffff163314610a62576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161060a565b600080610f6c8484611386565b915091505b9250929050565b60606000610f85836113c0565b9050805167ffffffffffffffff811115610fa157610fa161251c565b604051908082528060200260200182016040528015610fca578160200160208202803683370190505b50915060005b815181101561102c57818181518110610feb57610feb6124ab565b6020026020010151838281518110611005576110056124ab565b63ffffffff90921660209283029190910190910152806110248161254b565b915050610fd0565b5050919050565b60008061103f8661145b565b9050600061104e8888846114b3565b905061105d89878388886114e2565b9250878963ffffffff167fd229aacb94204188fe8042965fa6b269c62dc5818b21238779ab64bdd17efeec8960405161109891815260200190565b60405180910390a350509695505050505050565b600080806110c4609763ffffffff80871690610f5f16565b9150915081156110d5579392505050565b6110de84611595565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060a91906125f1565b600061111d83836115cc565b9050600061112b84846115eb565b905036600061113a86866115fb565b915091506111506111488590565b84848461160b565b838863ffffffff167fba20947a325f450d232530e5f5fce293e7963499d5309a07cee84a269f2f15a68560405161118991815260200190565b60405180910390a35050505050505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b611226609763ffffffff8084169061164c16565b61122f82611595565b906107cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060a91906125f1565b6000611297858585856112798a611658565b60655473ffffffffffffffffffffffffffffffffffffffff16611033565b95945050505050565b6107cb609763ffffffff80851690849061167a16565b600054610100900460ff1661134d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161060a565b611355611685565b61135e83610682565b61136782610548565b610b528161119b565b600061067a848461138087611658565b85611724565b60008181526002830160205260408120548190806113b5576113a885856117f8565b925060009150610f719050565b600192509050610f71565b606060006113cd83611804565b90508067ffffffffffffffff8111156113e8576113e861251c565b604051908082528060200260200182016040528015611411578160200160208202803683370190505b50915060005b8181101561102c57611429848261180f565b60001c83828151811061143e5761143e6124ab565b6020908102919091010152806114538161254b565b915050611417565b606061149f73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633308561181b565b505060408051602081019091526000815290565b60608383836040516020016114ca93929190612604565b60405160208183030381529060405290509392505050565b6000806114ee876110ac565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166310b83dc08789848989896040518763ffffffff1660e01b8152600401611552959493929190612631565b60206040518083038185885af1158015611570573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108169190612492565b60606115a68263ffffffff166118f7565b6040516020016115b69190612691565b6040516020818303038152906040529050919050565b60006115db60208284866126d6565b6115e491612700565b9392505050565b60006115db6040602084866126d6565b366000610f6c83604081876126d6565b610ab973ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001685856119b5565b60006115e48383611a0b565b63ffffffff8116600090815260ca6020526040902054606090610a4a90611a28565b610ab9838383611a46565b600054610100900460ff1661171c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161060a565b610a62611a63565b600080611730866110ac565b6040517f81d2ea9500000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906381d2ea95906117ad90899085908a908a908a90600401612631565b602060405180830381865afa1580156117ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ee9190612492565b9695505050505050565b60006115e48383611b03565b6000610a4a82611b1b565b60006115e48383611b25565b60405173ffffffffffffffffffffffffffffffffffffffff80851660248301528316604482015260648101829052610ab99085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152611b4f565b6060600061190483611c5e565b600101905060008167ffffffffffffffff8111156119245761192461251c565b6040519080825280601f01601f19166020018201604052801561194e576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461195857509392505050565b60405173ffffffffffffffffffffffffffffffffffffffff8316602482015260448101829052610b529084907fa9059cbb0000000000000000000000000000000000000000000000000000000090606401611875565b600081815260028301602052604081208190556115e48383611d40565b6060610a4a6000833360405180602001604052806000815250611d4c565b6000828152600284016020526040812082905561067a8484611d81565b600054610100900460ff16611afa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161060a565b610a623361119b565b600081815260018301602052604081205415156115e4565b6000610a4a825490565b6000826000018281548110611b3c57611b3c6124ab565b9060005260206000200154905092915050565b6000611bb1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611d8d9092919063ffffffff16565b9050805160001480611bd2575080806020019051810190611bd2919061273c565b610b52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161060a565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611ca7577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310611cd3576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611cf157662386f26fc10000830492506010015b6305f5e1008310611d09576305f5e100830492506008015b6127108310611d1d57612710830492506004015b60648310611d2f576064830492506002015b600a8310610a4a5760010192915050565b60006115e48383611d9c565b6060600185858585604051602001611d6895949392919061275e565b6040516020818303038152906040529050949350505050565b60006115e48383611e8f565b606061067a8484600085611ede565b60008181526001830160205260408120548015611e85576000611dc06001836127e3565b8554909150600090611dd4906001906127e3565b9050818114611e39576000866000018281548110611df457611df46124ab565b9060005260206000200154905080876000018481548110611e1757611e176124ab565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611e4a57611e4a6127f6565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610a4a565b6000915050610a4a565b6000818152600183016020526040812054611ed657508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610a4a565b506000610a4a565b606082471015611f70576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161060a565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611f999190612825565b60006040518083038185875af1925050503d8060008114611fd6576040519150601f19603f3d011682016040523d82523d6000602084013e611fdb565b606091505b5091509150610816878383876060831561207d5782516000036120765773ffffffffffffffffffffffffffffffffffffffff85163b612076576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161060a565b508161067a565b61067a83838151156120925781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060a91906125f1565b803573ffffffffffffffffffffffffffffffffffffffff811681146120ea57600080fd5b919050565b60006020828403121561210157600080fd5b6115e4826120c6565b803563ffffffff811681146120ea57600080fd5b60006020828403121561213057600080fd5b6115e48261210a565b6020808252825182820181905260009190848201906040850190845b8181101561217757835163ffffffff1683529284019291840191600101612155565b50909695505050505050565b6000806040838503121561219657600080fd5b61219f8361210a565b946020939093013593505050565b60008083601f8401126121bf57600080fd5b50813567ffffffffffffffff8111156121d757600080fd5b602083019150836020828501011115610f7157600080fd5b60008060008060008060a0878903121561220857600080fd5b6122118761210a565b95506020870135945060408701359350606087013567ffffffffffffffff81111561223b57600080fd5b61224789828a016121ad565b909450925061225a9050608088016120c6565b90509295509295509295565b6000806000806060858703121561227c57600080fd5b6122858561210a565b935060208501359250604085013567ffffffffffffffff8111156122a857600080fd5b6122b4878288016121ad565b95989497509550505050565b60008083601f8401126122d257600080fd5b50813567ffffffffffffffff8111156122ea57600080fd5b6020830191508360208260051b8501011115610f7157600080fd5b6000806020838503121561231857600080fd5b823567ffffffffffffffff81111561232f57600080fd5b61233b858286016122c0565b90969095509350505050565b60008060006060848603121561235c57600080fd5b6123658461210a565b95602085013595506040909401359392505050565b6000806020838503121561238d57600080fd5b823567ffffffffffffffff808211156123a557600080fd5b818501915085601f8301126123b957600080fd5b8135818111156123c857600080fd5b8660208260061b85010111156123dd57600080fd5b60209290920196919550909350505050565b60008060006060848603121561240457600080fd5b61240d846120c6565b925061241b602085016120c6565b9150612429604085016120c6565b90509250925092565b6000806000806040858703121561244857600080fd5b843567ffffffffffffffff8082111561246057600080fd5b61246c888389016122c0565b9096509450602087013591508082111561248557600080fd5b506122b4878288016122c0565b6000602082840312156124a457600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610a4a57610a4a6124da565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361257c5761257c6124da565b5060010190565b60005b8381101561259e578181015183820152602001612586565b50506000910152565b600081518084526125bf816020860160208601612583565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006115e460208301846125a7565b83815282602082015260008251612622816040850160208701612583565b91909101604001949350505050565b63ffffffff8616815284602082015260a06040820152600061265660a08301866125a7565b828103606084015261266881866125a7565b91505073ffffffffffffffffffffffffffffffffffffffff831660808301529695505050505050565b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a20008152600082516126c981601f850160208701612583565b91909101601f0192915050565b600080858511156126e657600080fd5b838611156126f357600080fd5b5050820193919092039150565b80356020831015610a4a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b60006020828403121561274e57600080fd5b815180151581146115e457600080fd5b7fffff0000000000000000000000000000000000000000000000000000000000008660f01b1681528460028201528360228201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b166042820152600082516127d2816056850160208701612583565b919091016056019695505050505050565b81810381811115610a4a57610a4a6124da565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b60008251612837818460208701612583565b919091019291505056fea264697066735822122017cea011a115b83c966be1010c8ef1ea48daeaec74ec217a3c8e1eb9b310ed6364736f6c63430008130033";
16
16
  static readonly abi: readonly [{
17
17
  readonly inputs: readonly [{
18
18
  readonly internalType: "address";
@@ -534,7 +534,7 @@ const _abi = [
534
534
  type: "function",
535
535
  },
536
536
  ];
537
- const _bytecode = "0x60e06040523480156200001157600080fd5b5060405162002adc38038062002adc8339810160408190526200003491620001a4565b80808080806001600160a01b0381163b620000955760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f780000604482015260640160405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001069190620001dc565b63ffffffff1660a0526200011a3362000135565b5050506001600160a01b0390931660c052506200020b915050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b03811681146200019f57600080fd5b919050565b60008060408385031215620001b857600080fd5b620001c38362000187565b9150620001d36020840162000187565b90509250929050565b600060208284031215620001ef57600080fd5b815163ffffffff811681146200020457600080fd5b9392505050565b60805160a05160c05161287762000265600039600081816103e5015281816109dd0152818161147701526116250152600061037101526000818161047901528181610839015281816114f2015261177001526128776000f3fe6080604052600436106101965760003560e01c806381b4e8b4116100e1578063c0c53b8b1161008a578063e9198bf911610064578063e9198bf9146104c8578063efae508a146104e8578063f2ed8c5314610508578063f2fde38b1461052857600080fd5b8063c0c53b8b14610447578063d5438eae14610467578063de523cf31461049b57600080fd5b8063996c6cc3116100bb578063996c6cc3146103d3578063b1bd643614610407578063b49c53a71461042757600080fd5b806381b4e8b41461034c5780638d3638f41461035f5780638da5cb5b146103a857600080fd5b806356d5d4751161014357806371a15b381161011d57806371a15b38146102ad578063775313a1146102cd5780637f5a7c7b146102fa57600080fd5b806356d5d4751461026557806370a0823114610278578063715018a61461029857600080fd5b8063440df4f411610174578063440df4f41461021057806349d462ef1461023257806351debffc1461025257600080fd5b80630e72cc061461019b5780632ead72f6146101bd5780633dfd3873146101f0575b600080fd5b3480156101a757600080fd5b506101bb6101b63660046120ef565b610548565b005b3480156101c957600080fd5b506101dd6101d836600461211e565b610663565b6040519081526020015b60405180910390f35b3480156101fc57600080fd5b506101bb61020b3660046120ef565b610682565b34801561021c57600080fd5b50610225610798565b6040516101e79190612139565b34801561023e57600080fd5b506101bb61024d366004612183565b6107a9565b6101dd6102603660046121ef565b6107cf565b6101bb610273366004612266565b610821565b34801561028457600080fd5b506101dd6102933660046120ef565b610995565b3480156102a457600080fd5b506101bb610a50565b3480156102b957600080fd5b506101bb6102c8366004612305565b610a64565b3480156102d957600080fd5b506101dd6102e836600461211e565b60ca6020526000908152604090205481565b34801561030657600080fd5b506065546103279073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101e7565b6101dd61035a366004612347565b610abf565b34801561036b57600080fd5b506103937f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016101e7565b3480156103b457600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff16610327565b3480156103df57600080fd5b506103277f000000000000000000000000000000000000000000000000000000000000000081565b34801561041357600080fd5b506101bb61042236600461237a565b610acd565b34801561043357600080fd5b506101bb610442366004612183565b610b57565b34801561045357600080fd5b506101bb6104623660046123ef565b610b69565b34801561047357600080fd5b506103277f000000000000000000000000000000000000000000000000000000000000000081565b3480156104a757600080fd5b506066546103279073ffffffffffffffffffffffffffffffffffffffff1681565b3480156104d457600080fd5b506101bb6104e3366004612432565b610d00565b3480156104f457600080fd5b506101bb61050336600461211e565b610ddf565b34801561051457600080fd5b506101dd61052336600461211e565b610df3565b34801561053457600080fd5b506101bb6105433660046120ef565b610e2a565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610582575073ffffffffffffffffffffffffffffffffffffffff8116155b610613576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61061b610ede565b50606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60008061067a609763ffffffff80861690610f5f16565b949350505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b1515806106bc575073ffffffffffffffffffffffffffffffffffffffff8116155b610748576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e6700000000000000000000000000000000000000000000000000606482015260840161060a565b610750610ede565b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60606107a46097610f78565b905090565b6107b1610ede565b63ffffffff91909116600090815260ca6020526040902055565b5050565b60006108168787873488888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a9250611033915050565b979650505050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146108e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f78436c69656e743a2073656e646572206e6f74206d61696c626f60448201527f7800000000000000000000000000000000000000000000000000000000000000606482015260840161060a565b60006108f1856110ac565b9050838114610982576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f456e726f6c6c656420726f7574657220646f6573206e6f74206d61746368207360448201527f656e646572000000000000000000000000000000000000000000000000000000606482015260840161060a565b61098e85858585611111565b5050505050565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906370a0823190602401602060405180830381865afa158015610a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4a9190612492565b92915050565b610a58610ede565b610a62600061119b565b565b610a6c610ede565b8060005b81811015610ab957610aa7848483818110610a8d57610a8d6124ab565b9050602002016020810190610aa2919061211e565b611212565b610ab2600182612509565b9050610a70565b50505050565b600061067a84848434611267565b610ad5610ede565b60005b81811015610b5257610b40838383818110610af557610af56124ab565b610b0b926020604090920201908101915061211e565b848484818110610b1d57610b1d6124ab565b9050604002016020013563ffffffff909116600090815260ca6020526040902055565b610b4b600182612509565b9050610ad8565b505050565b610b5f610ede565b6107cb82826112a0565b600054610100900460ff1615808015610b895750600054600160ff909116105b80610ba35750303b158015610ba3575060005460ff166001145b610c2f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161060a565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610c8d57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610c988484846112b6565b8015610ab957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150505050565b610d08610ede565b828114610d71576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e67746800000000000000000000000000000000000000000000000000604482015260640161060a565b8260005b81811015610dd757610dc5868683818110610d9257610d926124ab565b9050602002016020810190610da7919061211e565b858584818110610db957610db96124ab565b905060200201356112a0565b610dd0600182612509565b9050610d75565b505050505050565b610de7610ede565b610df081611212565b50565b604080516020810190915260008082526065549091610a4a9184919073ffffffffffffffffffffffffffffffffffffffff16611370565b610e32610ede565b73ffffffffffffffffffffffffffffffffffffffff8116610ed5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161060a565b610df08161119b565b60335473ffffffffffffffffffffffffffffffffffffffff163314610a62576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161060a565b600080610f6c8484611386565b915091505b9250929050565b60606000610f85836113c0565b9050805167ffffffffffffffff811115610fa157610fa161251c565b604051908082528060200260200182016040528015610fca578160200160208202803683370190505b50915060005b815181101561102c57818181518110610feb57610feb6124ab565b6020026020010151838281518110611005576110056124ab565b63ffffffff90921660209283029190910190910152806110248161254b565b915050610fd0565b5050919050565b60008061103f8661145b565b9050600061104e8888846114b3565b905061105d89878388886114e2565b9250878963ffffffff167fd229aacb94204188fe8042965fa6b269c62dc5818b21238779ab64bdd17efeec8960405161109891815260200190565b60405180910390a350509695505050505050565b600080806110c4609763ffffffff80871690610f5f16565b9150915081156110d5579392505050565b6110de84611595565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060a91906125f1565b600061111d83836115cc565b9050600061112b84846115eb565b905036600061113a86866115fb565b915091506111506111488590565b84848461160b565b838863ffffffff167fba20947a325f450d232530e5f5fce293e7963499d5309a07cee84a269f2f15a68560405161118991815260200190565b60405180910390a35050505050505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b611226609763ffffffff8084169061164c16565b61122f82611595565b906107cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060a91906125f1565b6000611297858585856112798a611658565b60655473ffffffffffffffffffffffffffffffffffffffff16611033565b95945050505050565b6107cb609763ffffffff80851690849061167a16565b600054610100900460ff1661134d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161060a565b611355611685565b61135e83610682565b61136782610548565b610b528161119b565b600061067a848461138087611658565b85611724565b60008181526002830160205260408120548190806113b5576113a885856117f8565b925060009150610f719050565b600192509050610f71565b606060006113cd83611804565b90508067ffffffffffffffff8111156113e8576113e861251c565b604051908082528060200260200182016040528015611411578160200160208202803683370190505b50915060005b8181101561102c57611429848261180f565b60001c83828151811061143e5761143e6124ab565b6020908102919091010152806114538161254b565b915050611417565b606061149f73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633308561181b565b505060408051602081019091526000815290565b60608383836040516020016114ca93929190612604565b60405160208183030381529060405290509392505050565b6000806114ee876110ac565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166310b83dc08789848989896040518763ffffffff1660e01b8152600401611552959493929190612631565b60206040518083038185885af1158015611570573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108169190612492565b60606115a68263ffffffff166118f7565b6040516020016115b69190612691565b6040516020818303038152906040529050919050565b60006115db60208284866126d6565b6115e491612700565b9392505050565b60006115db6040602084866126d6565b366000610f6c83604081876126d6565b610ab973ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001685856119b5565b60006115e48383611a0b565b63ffffffff8116600090815260ca6020526040902054606090610a4a90611a28565b610ab9838383611a46565b600054610100900460ff1661171c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161060a565b610a62611a63565b600080611730866110ac565b6040517f81d2ea9500000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906381d2ea95906117ad90899085908a908a908a90600401612631565b602060405180830381865afa1580156117ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ee9190612492565b9695505050505050565b60006115e48383611b03565b6000610a4a82611b1b565b60006115e48383611b25565b60405173ffffffffffffffffffffffffffffffffffffffff80851660248301528316604482015260648101829052610ab99085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152611b4f565b6060600061190483611c5e565b600101905060008167ffffffffffffffff8111156119245761192461251c565b6040519080825280601f01601f19166020018201604052801561194e576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461195857509392505050565b60405173ffffffffffffffffffffffffffffffffffffffff8316602482015260448101829052610b529084907fa9059cbb0000000000000000000000000000000000000000000000000000000090606401611875565b600081815260028301602052604081208190556115e48383611d40565b6060610a4a6000833360405180602001604052806000815250611d4c565b6000828152600284016020526040812082905561067a8484611d81565b600054610100900460ff16611afa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161060a565b610a623361119b565b600081815260018301602052604081205415156115e4565b6000610a4a825490565b6000826000018281548110611b3c57611b3c6124ab565b9060005260206000200154905092915050565b6000611bb1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611d8d9092919063ffffffff16565b9050805160001480611bd2575080806020019051810190611bd2919061273c565b610b52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161060a565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611ca7577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310611cd3576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611cf157662386f26fc10000830492506010015b6305f5e1008310611d09576305f5e100830492506008015b6127108310611d1d57612710830492506004015b60648310611d2f576064830492506002015b600a8310610a4a5760010192915050565b60006115e48383611d9c565b6060600185858585604051602001611d6895949392919061275e565b6040516020818303038152906040529050949350505050565b60006115e48383611e8f565b606061067a8484600085611ede565b60008181526001830160205260408120548015611e85576000611dc06001836127e3565b8554909150600090611dd4906001906127e3565b9050818114611e39576000866000018281548110611df457611df46124ab565b9060005260206000200154905080876000018481548110611e1757611e176124ab565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611e4a57611e4a6127f6565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610a4a565b6000915050610a4a565b6000818152600183016020526040812054611ed657508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610a4a565b506000610a4a565b606082471015611f70576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161060a565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611f999190612825565b60006040518083038185875af1925050503d8060008114611fd6576040519150601f19603f3d011682016040523d82523d6000602084013e611fdb565b606091505b5091509150610816878383876060831561207d5782516000036120765773ffffffffffffffffffffffffffffffffffffffff85163b612076576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161060a565b508161067a565b61067a83838151156120925781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060a91906125f1565b803573ffffffffffffffffffffffffffffffffffffffff811681146120ea57600080fd5b919050565b60006020828403121561210157600080fd5b6115e4826120c6565b803563ffffffff811681146120ea57600080fd5b60006020828403121561213057600080fd5b6115e48261210a565b6020808252825182820181905260009190848201906040850190845b8181101561217757835163ffffffff1683529284019291840191600101612155565b50909695505050505050565b6000806040838503121561219657600080fd5b61219f8361210a565b946020939093013593505050565b60008083601f8401126121bf57600080fd5b50813567ffffffffffffffff8111156121d757600080fd5b602083019150836020828501011115610f7157600080fd5b60008060008060008060a0878903121561220857600080fd5b6122118761210a565b95506020870135945060408701359350606087013567ffffffffffffffff81111561223b57600080fd5b61224789828a016121ad565b909450925061225a9050608088016120c6565b90509295509295509295565b6000806000806060858703121561227c57600080fd5b6122858561210a565b935060208501359250604085013567ffffffffffffffff8111156122a857600080fd5b6122b4878288016121ad565b95989497509550505050565b60008083601f8401126122d257600080fd5b50813567ffffffffffffffff8111156122ea57600080fd5b6020830191508360208260051b8501011115610f7157600080fd5b6000806020838503121561231857600080fd5b823567ffffffffffffffff81111561232f57600080fd5b61233b858286016122c0565b90969095509350505050565b60008060006060848603121561235c57600080fd5b6123658461210a565b95602085013595506040909401359392505050565b6000806020838503121561238d57600080fd5b823567ffffffffffffffff808211156123a557600080fd5b818501915085601f8301126123b957600080fd5b8135818111156123c857600080fd5b8660208260061b85010111156123dd57600080fd5b60209290920196919550909350505050565b60008060006060848603121561240457600080fd5b61240d846120c6565b925061241b602085016120c6565b9150612429604085016120c6565b90509250925092565b6000806000806040858703121561244857600080fd5b843567ffffffffffffffff8082111561246057600080fd5b61246c888389016122c0565b9096509450602087013591508082111561248557600080fd5b506122b4878288016122c0565b6000602082840312156124a457600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610a4a57610a4a6124da565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361257c5761257c6124da565b5060010190565b60005b8381101561259e578181015183820152602001612586565b50506000910152565b600081518084526125bf816020860160208601612583565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006115e460208301846125a7565b83815282602082015260008251612622816040850160208701612583565b91909101604001949350505050565b63ffffffff8616815284602082015260a06040820152600061265660a08301866125a7565b828103606084015261266881866125a7565b91505073ffffffffffffffffffffffffffffffffffffffff831660808301529695505050505050565b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a20008152600082516126c981601f850160208701612583565b91909101601f0192915050565b600080858511156126e657600080fd5b838611156126f357600080fd5b5050820193919092039150565b80356020831015610a4a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b60006020828403121561274e57600080fd5b815180151581146115e457600080fd5b7fffff0000000000000000000000000000000000000000000000000000000000008660f01b1681528460028201528360228201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b166042820152600082516127d2816056850160208701612583565b919091016056019695505050505050565b81810381811115610a4a57610a4a6124da565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b60008251612837818460208701612583565b919091019291505056fea2646970667358221220639e8134e67e3eb0063674da4f67c12ce940045f092fc36d048d878f8fefb20264736f6c63430008130033";
537
+ const _bytecode = "0x60e06040523480156200001157600080fd5b5060405162002adc38038062002adc8339810160408190526200003491620001a4565b80808080806001600160a01b0381163b620000955760405162461bcd60e51b815260206004820152601e60248201527f4d61696c626f78436c69656e743a20696e76616c6964206d61696c626f780000604482015260640160405180910390fd5b6001600160a01b03821660808190526040805163234d8e3d60e21b81529051638d3638f4916004808201926020929091908290030181865afa158015620000e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001069190620001dc565b63ffffffff1660a0526200011a3362000135565b5050506001600160a01b0390931660c052506200020b915050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b03811681146200019f57600080fd5b919050565b60008060408385031215620001b857600080fd5b620001c38362000187565b9150620001d36020840162000187565b90509250929050565b600060208284031215620001ef57600080fd5b815163ffffffff811681146200020457600080fd5b9392505050565b60805160a05160c05161287762000265600039600081816103e5015281816109dd0152818161147701526116250152600061037101526000818161047901528181610839015281816114f2015261177001526128776000f3fe6080604052600436106101965760003560e01c806381b4e8b4116100e1578063c0c53b8b1161008a578063e9198bf911610064578063e9198bf9146104c8578063efae508a146104e8578063f2ed8c5314610508578063f2fde38b1461052857600080fd5b8063c0c53b8b14610447578063d5438eae14610467578063de523cf31461049b57600080fd5b8063996c6cc3116100bb578063996c6cc3146103d3578063b1bd643614610407578063b49c53a71461042757600080fd5b806381b4e8b41461034c5780638d3638f41461035f5780638da5cb5b146103a857600080fd5b806356d5d4751161014357806371a15b381161011d57806371a15b38146102ad578063775313a1146102cd5780637f5a7c7b146102fa57600080fd5b806356d5d4751461026557806370a0823114610278578063715018a61461029857600080fd5b8063440df4f411610174578063440df4f41461021057806349d462ef1461023257806351debffc1461025257600080fd5b80630e72cc061461019b5780632ead72f6146101bd5780633dfd3873146101f0575b600080fd5b3480156101a757600080fd5b506101bb6101b63660046120ef565b610548565b005b3480156101c957600080fd5b506101dd6101d836600461211e565b610663565b6040519081526020015b60405180910390f35b3480156101fc57600080fd5b506101bb61020b3660046120ef565b610682565b34801561021c57600080fd5b50610225610798565b6040516101e79190612139565b34801561023e57600080fd5b506101bb61024d366004612183565b6107a9565b6101dd6102603660046121ef565b6107cf565b6101bb610273366004612266565b610821565b34801561028457600080fd5b506101dd6102933660046120ef565b610995565b3480156102a457600080fd5b506101bb610a50565b3480156102b957600080fd5b506101bb6102c8366004612305565b610a64565b3480156102d957600080fd5b506101dd6102e836600461211e565b60ca6020526000908152604090205481565b34801561030657600080fd5b506065546103279073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101e7565b6101dd61035a366004612347565b610abf565b34801561036b57600080fd5b506103937f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016101e7565b3480156103b457600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff16610327565b3480156103df57600080fd5b506103277f000000000000000000000000000000000000000000000000000000000000000081565b34801561041357600080fd5b506101bb61042236600461237a565b610acd565b34801561043357600080fd5b506101bb610442366004612183565b610b57565b34801561045357600080fd5b506101bb6104623660046123ef565b610b69565b34801561047357600080fd5b506103277f000000000000000000000000000000000000000000000000000000000000000081565b3480156104a757600080fd5b506066546103279073ffffffffffffffffffffffffffffffffffffffff1681565b3480156104d457600080fd5b506101bb6104e3366004612432565b610d00565b3480156104f457600080fd5b506101bb61050336600461211e565b610ddf565b34801561051457600080fd5b506101dd61052336600461211e565b610df3565b34801561053457600080fd5b506101bb6105433660046120ef565b610e2a565b8073ffffffffffffffffffffffffffffffffffffffff81163b151580610582575073ffffffffffffffffffffffffffffffffffffffff8116155b610613576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e670000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61061b610ede565b50606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60008061067a609763ffffffff80861690610f5f16565b949350505050565b8073ffffffffffffffffffffffffffffffffffffffff81163b1515806106bc575073ffffffffffffffffffffffffffffffffffffffff8116155b610748576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d61696c626f78436c69656e743a20696e76616c696420636f6e74726163742060448201527f73657474696e6700000000000000000000000000000000000000000000000000606482015260840161060a565b610750610ede565b50606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60606107a46097610f78565b905090565b6107b1610ede565b63ffffffff91909116600090815260ca6020526040902055565b5050565b60006108168787873488888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a9250611033915050565b979650505050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146108e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61696c626f78436c69656e743a2073656e646572206e6f74206d61696c626f60448201527f7800000000000000000000000000000000000000000000000000000000000000606482015260840161060a565b60006108f1856110ac565b9050838114610982576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f456e726f6c6c656420726f7574657220646f6573206e6f74206d61746368207360448201527f656e646572000000000000000000000000000000000000000000000000000000606482015260840161060a565b61098e85858585611111565b5050505050565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906370a0823190602401602060405180830381865afa158015610a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4a9190612492565b92915050565b610a58610ede565b610a62600061119b565b565b610a6c610ede565b8060005b81811015610ab957610aa7848483818110610a8d57610a8d6124ab565b9050602002016020810190610aa2919061211e565b611212565b610ab2600182612509565b9050610a70565b50505050565b600061067a84848434611267565b610ad5610ede565b60005b81811015610b5257610b40838383818110610af557610af56124ab565b610b0b926020604090920201908101915061211e565b848484818110610b1d57610b1d6124ab565b9050604002016020013563ffffffff909116600090815260ca6020526040902055565b610b4b600182612509565b9050610ad8565b505050565b610b5f610ede565b6107cb82826112a0565b600054610100900460ff1615808015610b895750600054600160ff909116105b80610ba35750303b158015610ba3575060005460ff166001145b610c2f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161060a565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610c8d57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610c988484846112b6565b8015610ab957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150505050565b610d08610ede565b828114610d71576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f216c656e67746800000000000000000000000000000000000000000000000000604482015260640161060a565b8260005b81811015610dd757610dc5868683818110610d9257610d926124ab565b9050602002016020810190610da7919061211e565b858584818110610db957610db96124ab565b905060200201356112a0565b610dd0600182612509565b9050610d75565b505050505050565b610de7610ede565b610df081611212565b50565b604080516020810190915260008082526065549091610a4a9184919073ffffffffffffffffffffffffffffffffffffffff16611370565b610e32610ede565b73ffffffffffffffffffffffffffffffffffffffff8116610ed5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161060a565b610df08161119b565b60335473ffffffffffffffffffffffffffffffffffffffff163314610a62576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161060a565b600080610f6c8484611386565b915091505b9250929050565b60606000610f85836113c0565b9050805167ffffffffffffffff811115610fa157610fa161251c565b604051908082528060200260200182016040528015610fca578160200160208202803683370190505b50915060005b815181101561102c57818181518110610feb57610feb6124ab565b6020026020010151838281518110611005576110056124ab565b63ffffffff90921660209283029190910190910152806110248161254b565b915050610fd0565b5050919050565b60008061103f8661145b565b9050600061104e8888846114b3565b905061105d89878388886114e2565b9250878963ffffffff167fd229aacb94204188fe8042965fa6b269c62dc5818b21238779ab64bdd17efeec8960405161109891815260200190565b60405180910390a350509695505050505050565b600080806110c4609763ffffffff80871690610f5f16565b9150915081156110d5579392505050565b6110de84611595565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060a91906125f1565b600061111d83836115cc565b9050600061112b84846115eb565b905036600061113a86866115fb565b915091506111506111488590565b84848461160b565b838863ffffffff167fba20947a325f450d232530e5f5fce293e7963499d5309a07cee84a269f2f15a68560405161118991815260200190565b60405180910390a35050505050505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b611226609763ffffffff8084169061164c16565b61122f82611595565b906107cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060a91906125f1565b6000611297858585856112798a611658565b60655473ffffffffffffffffffffffffffffffffffffffff16611033565b95945050505050565b6107cb609763ffffffff80851690849061167a16565b600054610100900460ff1661134d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161060a565b611355611685565b61135e83610682565b61136782610548565b610b528161119b565b600061067a848461138087611658565b85611724565b60008181526002830160205260408120548190806113b5576113a885856117f8565b925060009150610f719050565b600192509050610f71565b606060006113cd83611804565b90508067ffffffffffffffff8111156113e8576113e861251c565b604051908082528060200260200182016040528015611411578160200160208202803683370190505b50915060005b8181101561102c57611429848261180f565b60001c83828151811061143e5761143e6124ab565b6020908102919091010152806114538161254b565b915050611417565b606061149f73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633308561181b565b505060408051602081019091526000815290565b60608383836040516020016114ca93929190612604565b60405160208183030381529060405290509392505050565b6000806114ee876110ac565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166310b83dc08789848989896040518763ffffffff1660e01b8152600401611552959493929190612631565b60206040518083038185885af1158015611570573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108169190612492565b60606115a68263ffffffff166118f7565b6040516020016115b69190612691565b6040516020818303038152906040529050919050565b60006115db60208284866126d6565b6115e491612700565b9392505050565b60006115db6040602084866126d6565b366000610f6c83604081876126d6565b610ab973ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001685856119b5565b60006115e48383611a0b565b63ffffffff8116600090815260ca6020526040902054606090610a4a90611a28565b610ab9838383611a46565b600054610100900460ff1661171c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161060a565b610a62611a63565b600080611730866110ac565b6040517f81d2ea9500000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906381d2ea95906117ad90899085908a908a908a90600401612631565b602060405180830381865afa1580156117ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ee9190612492565b9695505050505050565b60006115e48383611b03565b6000610a4a82611b1b565b60006115e48383611b25565b60405173ffffffffffffffffffffffffffffffffffffffff80851660248301528316604482015260648101829052610ab99085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152611b4f565b6060600061190483611c5e565b600101905060008167ffffffffffffffff8111156119245761192461251c565b6040519080825280601f01601f19166020018201604052801561194e576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461195857509392505050565b60405173ffffffffffffffffffffffffffffffffffffffff8316602482015260448101829052610b529084907fa9059cbb0000000000000000000000000000000000000000000000000000000090606401611875565b600081815260028301602052604081208190556115e48383611d40565b6060610a4a6000833360405180602001604052806000815250611d4c565b6000828152600284016020526040812082905561067a8484611d81565b600054610100900460ff16611afa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161060a565b610a623361119b565b600081815260018301602052604081205415156115e4565b6000610a4a825490565b6000826000018281548110611b3c57611b3c6124ab565b9060005260206000200154905092915050565b6000611bb1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611d8d9092919063ffffffff16565b9050805160001480611bd2575080806020019051810190611bd2919061273c565b610b52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161060a565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611ca7577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310611cd3576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611cf157662386f26fc10000830492506010015b6305f5e1008310611d09576305f5e100830492506008015b6127108310611d1d57612710830492506004015b60648310611d2f576064830492506002015b600a8310610a4a5760010192915050565b60006115e48383611d9c565b6060600185858585604051602001611d6895949392919061275e565b6040516020818303038152906040529050949350505050565b60006115e48383611e8f565b606061067a8484600085611ede565b60008181526001830160205260408120548015611e85576000611dc06001836127e3565b8554909150600090611dd4906001906127e3565b9050818114611e39576000866000018281548110611df457611df46124ab565b9060005260206000200154905080876000018481548110611e1757611e176124ab565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611e4a57611e4a6127f6565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610a4a565b6000915050610a4a565b6000818152600183016020526040812054611ed657508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610a4a565b506000610a4a565b606082471015611f70576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161060a565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611f999190612825565b60006040518083038185875af1925050503d8060008114611fd6576040519150601f19603f3d011682016040523d82523d6000602084013e611fdb565b606091505b5091509150610816878383876060831561207d5782516000036120765773ffffffffffffffffffffffffffffffffffffffff85163b612076576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161060a565b508161067a565b61067a83838151156120925781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060a91906125f1565b803573ffffffffffffffffffffffffffffffffffffffff811681146120ea57600080fd5b919050565b60006020828403121561210157600080fd5b6115e4826120c6565b803563ffffffff811681146120ea57600080fd5b60006020828403121561213057600080fd5b6115e48261210a565b6020808252825182820181905260009190848201906040850190845b8181101561217757835163ffffffff1683529284019291840191600101612155565b50909695505050505050565b6000806040838503121561219657600080fd5b61219f8361210a565b946020939093013593505050565b60008083601f8401126121bf57600080fd5b50813567ffffffffffffffff8111156121d757600080fd5b602083019150836020828501011115610f7157600080fd5b60008060008060008060a0878903121561220857600080fd5b6122118761210a565b95506020870135945060408701359350606087013567ffffffffffffffff81111561223b57600080fd5b61224789828a016121ad565b909450925061225a9050608088016120c6565b90509295509295509295565b6000806000806060858703121561227c57600080fd5b6122858561210a565b935060208501359250604085013567ffffffffffffffff8111156122a857600080fd5b6122b4878288016121ad565b95989497509550505050565b60008083601f8401126122d257600080fd5b50813567ffffffffffffffff8111156122ea57600080fd5b6020830191508360208260051b8501011115610f7157600080fd5b6000806020838503121561231857600080fd5b823567ffffffffffffffff81111561232f57600080fd5b61233b858286016122c0565b90969095509350505050565b60008060006060848603121561235c57600080fd5b6123658461210a565b95602085013595506040909401359392505050565b6000806020838503121561238d57600080fd5b823567ffffffffffffffff808211156123a557600080fd5b818501915085601f8301126123b957600080fd5b8135818111156123c857600080fd5b8660208260061b85010111156123dd57600080fd5b60209290920196919550909350505050565b60008060006060848603121561240457600080fd5b61240d846120c6565b925061241b602085016120c6565b9150612429604085016120c6565b90509250925092565b6000806000806040858703121561244857600080fd5b843567ffffffffffffffff8082111561246057600080fd5b61246c888389016122c0565b9096509450602087013591508082111561248557600080fd5b506122b4878288016122c0565b6000602082840312156124a457600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610a4a57610a4a6124da565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361257c5761257c6124da565b5060010190565b60005b8381101561259e578181015183820152602001612586565b50506000910152565b600081518084526125bf816020860160208601612583565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006115e460208301846125a7565b83815282602082015260008251612622816040850160208701612583565b91909101604001949350505050565b63ffffffff8616815284602082015260a06040820152600061265660a08301866125a7565b828103606084015261266881866125a7565b91505073ffffffffffffffffffffffffffffffffffffffff831660808301529695505050505050565b7f4e6f20726f7574657220656e726f6c6c656420666f7220646f6d61696e3a20008152600082516126c981601f850160208701612583565b91909101601f0192915050565b600080858511156126e657600080fd5b838611156126f357600080fd5b5050820193919092039150565b80356020831015610a4a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b60006020828403121561274e57600080fd5b815180151581146115e457600080fd5b7fffff0000000000000000000000000000000000000000000000000000000000008660f01b1681528460028201528360228201527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008360601b166042820152600082516127d2816056850160208701612583565b919091016056019695505050505050565b81810381811115610a4a57610a4a6124da565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b60008251612837818460208701612583565b919091019291505056fea264697066735822122017cea011a115b83c966be1010c8ef1ea48daeaec74ec217a3c8e1eb9b310ed6364736f6c63430008130033";
538
538
  const isSuperArgs = (xs) => xs.length > 1;
539
539
  export class HypERC20Collateral__factory extends ContractFactory {
540
540
  constructor(...args) {