@arbitrum/nitro-contracts 3.0.0-alpha.1 → 3.0.0-beta.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (270) hide show
  1. package/LICENSE.md +1 -1
  2. package/README.md +3 -3
  3. package/build/contracts/@openzeppelin/contracts/access/Ownable.sol/Ownable.dbg.json +1 -1
  4. package/build/contracts/@openzeppelin/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable.dbg.json +1 -1
  5. package/build/contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.dbg.json +1 -1
  6. package/build/contracts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol/ERC1967Upgrade.dbg.json +1 -1
  7. package/build/contracts/@openzeppelin/contracts/proxy/Proxy.sol/Proxy.dbg.json +1 -1
  8. package/build/contracts/@openzeppelin/contracts/proxy/beacon/IBeacon.sol/IBeacon.dbg.json +1 -1
  9. package/build/contracts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.dbg.json +1 -1
  10. package/build/contracts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol/ProxyAdmin.dbg.json +1 -1
  11. package/build/contracts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.dbg.json +1 -1
  12. package/build/contracts/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol/UUPSUpgradeable.dbg.json +1 -1
  13. package/build/contracts/@openzeppelin/contracts/security/ReentrancyGuard.sol/ReentrancyGuard.dbg.json +1 -1
  14. package/build/contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.dbg.json +1 -1
  15. package/build/contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.dbg.json +1 -1
  16. package/build/contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.dbg.json +1 -1
  17. package/build/contracts/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol/IERC20Permit.dbg.json +1 -1
  18. package/build/contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol/SafeERC20.dbg.json +1 -1
  19. package/build/contracts/@openzeppelin/contracts/utils/Address.sol/Address.dbg.json +1 -1
  20. package/build/contracts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json +1 -1
  21. package/build/contracts/@openzeppelin/contracts/utils/Create2.sol/Create2.dbg.json +1 -1
  22. package/build/contracts/@openzeppelin/contracts/utils/StorageSlot.sol/StorageSlot.dbg.json +1 -1
  23. package/build/contracts/@openzeppelin/contracts/utils/Strings.sol/Strings.dbg.json +1 -1
  24. package/build/contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol/ECDSA.dbg.json +4 -0
  25. package/build/contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol/ECDSA.json +10 -0
  26. package/build/contracts/@openzeppelin/contracts-upgradeable/access/AccessControlEnumerableUpgradeable.sol/AccessControlEnumerableUpgradeable.dbg.json +4 -0
  27. package/build/contracts/@openzeppelin/contracts-upgradeable/access/AccessControlEnumerableUpgradeable.sol/AccessControlEnumerableUpgradeable.json +271 -0
  28. package/build/contracts/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol/AccessControlUpgradeable.dbg.json +1 -1
  29. package/build/contracts/@openzeppelin/contracts-upgradeable/access/IAccessControlEnumerableUpgradeable.sol/IAccessControlEnumerableUpgradeable.dbg.json +4 -0
  30. package/build/contracts/@openzeppelin/contracts-upgradeable/access/IAccessControlEnumerableUpgradeable.sol/IAccessControlEnumerableUpgradeable.json +226 -0
  31. package/build/contracts/@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol/IAccessControlUpgradeable.dbg.json +1 -1
  32. package/build/contracts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.dbg.json +1 -1
  33. package/build/contracts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.dbg.json +1 -1
  34. package/build/contracts/@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol/PausableUpgradeable.dbg.json +1 -1
  35. package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol/ERC20Upgradeable.dbg.json +4 -0
  36. package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol/ERC20Upgradeable.json +294 -0
  37. package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol/IERC20Upgradeable.dbg.json +4 -0
  38. package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol/IERC20Upgradeable.json +194 -0
  39. package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20BurnableUpgradeable.sol/ERC20BurnableUpgradeable.dbg.json +4 -0
  40. package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20BurnableUpgradeable.sol/ERC20BurnableUpgradeable.json +325 -0
  41. package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable.sol/IERC20MetadataUpgradeable.dbg.json +4 -0
  42. package/build/contracts/@openzeppelin/contracts-upgradeable/token/ERC20/extensions/IERC20MetadataUpgradeable.sol/IERC20MetadataUpgradeable.json +233 -0
  43. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.dbg.json +1 -1
  44. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.dbg.json +1 -1
  45. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/Create2Upgradeable.sol/Create2Upgradeable.dbg.json +1 -1
  46. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol/StorageSlotUpgradeable.dbg.json +1 -1
  47. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol/StringsUpgradeable.dbg.json +1 -1
  48. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/cryptography/ECDSAUpgradeable.sol/ECDSAUpgradeable.dbg.json +4 -0
  49. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/cryptography/ECDSAUpgradeable.sol/ECDSAUpgradeable.json +10 -0
  50. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/cryptography/draft-EIP712Upgradeable.sol/EIP712Upgradeable.dbg.json +4 -0
  51. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/cryptography/draft-EIP712Upgradeable.sol/EIP712Upgradeable.json +24 -0
  52. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol/ERC165Upgradeable.dbg.json +1 -1
  53. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol/IERC165Upgradeable.dbg.json +1 -1
  54. package/build/contracts/@openzeppelin/contracts-upgradeable/utils/structs/EnumerableSetUpgradeable.sol/EnumerableSetUpgradeable.dbg.json +1 -1
  55. package/build/contracts/src/assertionStakingPool/AbsBoldStakingPool.sol/AbsBoldStakingPool.dbg.json +1 -1
  56. package/build/contracts/src/assertionStakingPool/AssertionStakingPool.sol/AssertionStakingPool.dbg.json +1 -1
  57. package/build/contracts/src/assertionStakingPool/AssertionStakingPool.sol/AssertionStakingPool.json +2 -2
  58. package/build/contracts/src/assertionStakingPool/AssertionStakingPoolCreator.sol/AssertionStakingPoolCreator.dbg.json +1 -1
  59. package/build/contracts/src/assertionStakingPool/AssertionStakingPoolCreator.sol/AssertionStakingPoolCreator.json +2 -2
  60. package/build/contracts/src/assertionStakingPool/EdgeStakingPool.sol/EdgeStakingPool.dbg.json +1 -1
  61. package/build/contracts/src/assertionStakingPool/EdgeStakingPool.sol/EdgeStakingPool.json +2 -2
  62. package/build/contracts/src/assertionStakingPool/EdgeStakingPoolCreator.sol/EdgeStakingPoolCreator.dbg.json +1 -1
  63. package/build/contracts/src/assertionStakingPool/EdgeStakingPoolCreator.sol/EdgeStakingPoolCreator.json +2 -2
  64. package/build/contracts/src/assertionStakingPool/StakingPoolCreatorUtils.sol/StakingPoolCreatorUtils.dbg.json +1 -1
  65. package/build/contracts/src/assertionStakingPool/interfaces/IAbsBoldStakingPool.sol/IAbsBoldStakingPool.dbg.json +1 -1
  66. package/build/contracts/src/assertionStakingPool/interfaces/IAssertionStakingPool.sol/IAssertionStakingPool.dbg.json +1 -1
  67. package/build/contracts/src/assertionStakingPool/interfaces/IAssertionStakingPoolCreator.sol/IAssertionStakingPoolCreator.dbg.json +1 -1
  68. package/build/contracts/src/assertionStakingPool/interfaces/IEdgeStakingPool.sol/IEdgeStakingPool.dbg.json +1 -1
  69. package/build/contracts/src/assertionStakingPool/interfaces/IEdgeStakingPoolCreator.sol/IEdgeStakingPoolCreator.dbg.json +1 -1
  70. package/build/contracts/src/bridge/AbsBridge.sol/AbsBridge.dbg.json +1 -1
  71. package/build/contracts/src/bridge/AbsInbox.sol/AbsInbox.dbg.json +1 -1
  72. package/build/contracts/src/bridge/AbsOutbox.sol/AbsOutbox.dbg.json +1 -1
  73. package/build/contracts/src/bridge/Bridge.sol/Bridge.dbg.json +1 -1
  74. package/build/contracts/src/bridge/Bridge.sol/Bridge.json +2 -2
  75. package/build/contracts/src/bridge/DelayBuffer.sol/DelayBuffer.dbg.json +1 -1
  76. package/build/contracts/src/bridge/ERC20Bridge.sol/ERC20Bridge.dbg.json +1 -1
  77. package/build/contracts/src/bridge/ERC20Bridge.sol/ERC20Bridge.json +2 -2
  78. package/build/contracts/src/bridge/ERC20Inbox.sol/ERC20Inbox.dbg.json +1 -1
  79. package/build/contracts/src/bridge/ERC20Outbox.sol/ERC20Outbox.dbg.json +1 -1
  80. package/build/contracts/src/bridge/GasRefunder.sol/GasRefunder.dbg.json +1 -1
  81. package/build/contracts/src/bridge/IBridge.sol/IBridge.dbg.json +1 -1
  82. package/build/contracts/src/bridge/IDelayedMessageProvider.sol/IDelayedMessageProvider.dbg.json +1 -1
  83. package/build/contracts/src/bridge/IERC20Bridge.sol/IERC20Bridge.dbg.json +1 -1
  84. package/build/contracts/src/bridge/IERC20Inbox.sol/IERC20Inbox.dbg.json +1 -1
  85. package/build/contracts/src/bridge/IEthBridge.sol/IEthBridge.dbg.json +1 -1
  86. package/build/contracts/src/bridge/IInbox.sol/IInbox.dbg.json +1 -1
  87. package/build/contracts/src/bridge/IInboxBase.sol/IInboxBase.dbg.json +1 -1
  88. package/build/contracts/src/bridge/IOutbox.sol/IOutbox.dbg.json +1 -1
  89. package/build/contracts/src/bridge/IOwnable.sol/IOwnable.dbg.json +1 -1
  90. package/build/contracts/src/bridge/ISequencerInbox.sol/ISequencerInbox.dbg.json +1 -1
  91. package/build/contracts/src/bridge/Inbox.sol/Inbox.dbg.json +1 -1
  92. package/build/contracts/src/bridge/Messages.sol/Messages.dbg.json +1 -1
  93. package/build/contracts/src/bridge/Outbox.sol/Outbox.dbg.json +1 -1
  94. package/build/contracts/src/bridge/SequencerInbox.sol/SequencerInbox.dbg.json +1 -1
  95. package/build/contracts/src/bridge/SequencerInbox.sol/SequencerInbox.json +2 -2
  96. package/build/contracts/src/chain/CacheManager.sol/CacheManager.dbg.json +1 -1
  97. package/build/contracts/src/challengeV2/EdgeChallengeManager.sol/EdgeChallengeManager.dbg.json +1 -1
  98. package/build/contracts/src/challengeV2/EdgeChallengeManager.sol/EdgeChallengeManager.json +2 -2
  99. package/build/contracts/src/challengeV2/IAssertionChain.sol/IAssertionChain.dbg.json +1 -1
  100. package/build/contracts/src/challengeV2/IEdgeChallengeManager.sol/IEdgeChallengeManager.dbg.json +1 -1
  101. package/build/contracts/src/challengeV2/IEdgeChallengeManager.sol/IEdgeChallengeManager.json +32 -0
  102. package/build/contracts/src/challengeV2/libraries/ArrayUtilsLib.sol/ArrayUtilsLib.dbg.json +1 -1
  103. package/build/contracts/src/challengeV2/libraries/ChallengeEdgeLib.sol/ChallengeEdgeLib.dbg.json +1 -1
  104. package/build/contracts/src/challengeV2/libraries/EdgeChallengeManagerLib.sol/EdgeChallengeManagerLib.dbg.json +1 -1
  105. package/build/contracts/src/challengeV2/libraries/MerkleTreeAccumulatorLib.sol/MerkleTreeAccumulatorLib.dbg.json +1 -1
  106. package/build/contracts/src/challengeV2/libraries/UintUtilsLib.sol/UintUtilsLib.dbg.json +1 -1
  107. package/build/contracts/src/express-lane-auction/Balance.sol/BalanceLib.dbg.json +4 -0
  108. package/build/contracts/src/express-lane-auction/Balance.sol/BalanceLib.json +10 -0
  109. package/build/contracts/src/express-lane-auction/Burner.sol/Burner.dbg.json +4 -0
  110. package/build/contracts/src/express-lane-auction/Burner.sol/Burner.json +47 -0
  111. package/build/contracts/src/express-lane-auction/ELCRound.sol/LatestELCRoundsLib.dbg.json +4 -0
  112. package/build/contracts/src/express-lane-auction/ELCRound.sol/LatestELCRoundsLib.json +10 -0
  113. package/build/contracts/src/express-lane-auction/ExpressLaneAuction.sol/ExpressLaneAuction.dbg.json +4 -0
  114. package/build/contracts/src/express-lane-auction/ExpressLaneAuction.sol/ExpressLaneAuction.json +1601 -0
  115. package/build/contracts/src/express-lane-auction/IExpressLaneAuction.sol/IExpressLaneAuction.dbg.json +4 -0
  116. package/build/contracts/src/express-lane-auction/IExpressLaneAuction.sol/IExpressLaneAuction.json +1296 -0
  117. package/build/contracts/src/express-lane-auction/RoundTimingInfo.sol/RoundTimingInfoLib.dbg.json +4 -0
  118. package/build/contracts/src/express-lane-auction/RoundTimingInfo.sol/RoundTimingInfoLib.json +10 -0
  119. package/build/contracts/src/libraries/AddressAliasHelper.sol/AddressAliasHelper.dbg.json +1 -1
  120. package/build/contracts/src/libraries/AdminFallbackProxy.sol/AdminFallbackProxy.dbg.json +1 -1
  121. package/build/contracts/src/libraries/AdminFallbackProxy.sol/DoubleLogicERC1967Upgrade.dbg.json +1 -1
  122. package/build/contracts/src/libraries/ArbitrumChecker.sol/ArbitrumChecker.dbg.json +1 -1
  123. package/build/contracts/src/libraries/CallerChecker.sol/CallerChecker.dbg.json +1 -1
  124. package/build/contracts/src/libraries/CryptographyPrimitives.sol/CryptographyPrimitives.dbg.json +1 -1
  125. package/build/contracts/src/libraries/DecimalsConverterHelper.sol/DecimalsConverterHelper.dbg.json +1 -1
  126. package/build/contracts/src/libraries/DelegateCallAware.sol/DelegateCallAware.dbg.json +1 -1
  127. package/build/contracts/src/libraries/DoubleLogicUUPSUpgradeable.sol/DoubleLogicUUPSUpgradeable.dbg.json +1 -1
  128. package/build/contracts/src/libraries/GasRefundEnabled.sol/GasRefundEnabled.dbg.json +1 -1
  129. package/build/contracts/src/libraries/IGasRefunder.sol/IGasRefunder.dbg.json +1 -1
  130. package/build/contracts/src/libraries/IReader4844.sol/IReader4844.dbg.json +1 -1
  131. package/build/contracts/src/libraries/MerkleLib.sol/MerkleLib.dbg.json +1 -1
  132. package/build/contracts/src/libraries/UUPSNotUpgradeable.sol/UUPSNotUpgradeable.dbg.json +1 -1
  133. package/build/contracts/src/mocks/Benchmarks.sol/Benchmarks.dbg.json +1 -1
  134. package/build/contracts/src/mocks/BridgeStub.sol/BridgeStub.dbg.json +1 -1
  135. package/build/contracts/src/mocks/BridgeUnproxied.sol/BridgeUnproxied.dbg.json +1 -1
  136. package/build/contracts/src/mocks/BridgeUnproxied.sol/BridgeUnproxied.json +2 -2
  137. package/build/contracts/src/mocks/CreateTest.sol/CreateTest.dbg.json +1 -1
  138. package/build/contracts/src/mocks/InboxStub.sol/InboxStub.dbg.json +1 -1
  139. package/build/contracts/src/mocks/MerkleTreeAccess.sol/MerkleTreeAccess.dbg.json +1 -1
  140. package/build/contracts/src/mocks/MockRollupEventInbox.sol/MockRollupEventInbox.dbg.json +1 -1
  141. package/build/contracts/src/mocks/MultiCallTest.sol/MultiCallTest.dbg.json +1 -1
  142. package/build/contracts/src/mocks/PendingBlkTimeAndNrAdvanceCheck.sol/PendingBlkTimeAndNrAdvanceCheck.dbg.json +1 -1
  143. package/build/contracts/src/mocks/Program.sol/ProgramTest.dbg.json +1 -1
  144. package/build/contracts/src/mocks/ProxyAdminForBinding.sol/ProxyAdminForBinding.dbg.json +1 -1
  145. package/build/contracts/src/mocks/SdkStorage.sol/SdkStorage.dbg.json +1 -1
  146. package/build/contracts/src/mocks/SequencerInboxBlobMock.sol/SequencerInboxBlobMock.dbg.json +1 -1
  147. package/build/contracts/src/mocks/SequencerInboxBlobMock.sol/SequencerInboxBlobMock.json +2 -2
  148. package/build/contracts/src/mocks/SequencerInboxStub.sol/SequencerInboxStub.dbg.json +1 -1
  149. package/build/contracts/src/mocks/SequencerInboxStub.sol/SequencerInboxStub.json +2 -2
  150. package/build/contracts/src/mocks/Simple.sol/Simple.dbg.json +1 -1
  151. package/build/contracts/src/mocks/SimpleCacheManager.sol/SimpleCacheManager.dbg.json +1 -1
  152. package/build/contracts/src/mocks/SimpleOneStepProofEntry.sol/SimpleOneStepProofEntry.dbg.json +1 -1
  153. package/build/contracts/src/mocks/SimpleOneStepProofEntry.sol/SimpleOneStepProofEntry.json +2 -2
  154. package/build/contracts/src/mocks/SimpleProxy.sol/SimpleProxy.dbg.json +1 -1
  155. package/build/contracts/src/mocks/TestWETH9.sol/IWETH9.dbg.json +1 -1
  156. package/build/contracts/src/mocks/TestWETH9.sol/TestWETH9.dbg.json +1 -1
  157. package/build/contracts/src/mocks/UpgradeExecutorMock.sol/UpgradeExecutorMock.dbg.json +1 -1
  158. package/build/contracts/src/node-interface/NodeInterface.sol/NodeInterface.dbg.json +1 -1
  159. package/build/contracts/src/node-interface/NodeInterfaceDebug.sol/NodeInterfaceDebug.dbg.json +1 -1
  160. package/build/contracts/src/osp/HashProofHelper.sol/HashProofHelper.dbg.json +1 -1
  161. package/build/contracts/src/osp/IOneStepProofEntry.sol/IOneStepProofEntry.dbg.json +1 -1
  162. package/build/contracts/src/osp/IOneStepProofEntry.sol/OneStepProofEntryLib.dbg.json +1 -1
  163. package/build/contracts/src/osp/IOneStepProver.sol/IOneStepProver.dbg.json +1 -1
  164. package/build/contracts/src/osp/OneStepProofEntry.sol/OneStepProofEntry.dbg.json +1 -1
  165. package/build/contracts/src/osp/OneStepProver0.sol/OneStepProver0.dbg.json +1 -1
  166. package/build/contracts/src/osp/OneStepProverHostIo.sol/OneStepProverHostIo.dbg.json +1 -1
  167. package/build/contracts/src/osp/OneStepProverMath.sol/OneStepProverMath.dbg.json +1 -1
  168. package/build/contracts/src/osp/OneStepProverMemory.sol/OneStepProverMemory.dbg.json +1 -1
  169. package/build/contracts/src/precompiles/ArbAddressTable.sol/ArbAddressTable.dbg.json +1 -1
  170. package/build/contracts/src/precompiles/ArbAggregator.sol/ArbAggregator.dbg.json +1 -1
  171. package/build/contracts/src/precompiles/ArbBLS.sol/ArbBLS.dbg.json +1 -1
  172. package/build/contracts/src/precompiles/ArbDebug.sol/ArbDebug.dbg.json +1 -1
  173. package/build/contracts/src/precompiles/ArbFunctionTable.sol/ArbFunctionTable.dbg.json +1 -1
  174. package/build/contracts/src/precompiles/ArbGasInfo.sol/ArbGasInfo.dbg.json +1 -1
  175. package/build/contracts/src/precompiles/ArbInfo.sol/ArbInfo.dbg.json +1 -1
  176. package/build/contracts/src/precompiles/ArbOwner.sol/ArbOwner.dbg.json +1 -1
  177. package/build/contracts/src/precompiles/ArbOwnerPublic.sol/ArbOwnerPublic.dbg.json +1 -1
  178. package/build/contracts/src/precompiles/ArbRetryableTx.sol/ArbRetryableTx.dbg.json +1 -1
  179. package/build/contracts/src/precompiles/ArbStatistics.sol/ArbStatistics.dbg.json +1 -1
  180. package/build/contracts/src/precompiles/ArbSys.sol/ArbSys.dbg.json +1 -1
  181. package/build/contracts/src/precompiles/ArbWasm.sol/ArbWasm.dbg.json +1 -1
  182. package/build/contracts/src/precompiles/ArbWasmCache.sol/ArbWasmCache.dbg.json +1 -1
  183. package/build/contracts/src/precompiles/ArbosActs.sol/ArbosActs.dbg.json +1 -1
  184. package/build/contracts/src/precompiles/ArbosTest.sol/ArbosTest.dbg.json +1 -1
  185. package/build/contracts/src/rollup/AbsRollupEventInbox.sol/AbsRollupEventInbox.dbg.json +1 -1
  186. package/build/contracts/src/rollup/Assertion.sol/AssertionNodeLib.dbg.json +1 -1
  187. package/build/contracts/src/rollup/AssertionState.sol/AssertionStateLib.dbg.json +1 -1
  188. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/BOLDUpgradeAction.dbg.json +1 -1
  189. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/BOLDUpgradeAction.json +84 -32
  190. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/ConstantArrayStorage.dbg.json +1 -1
  191. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/ConstantArrayStorage.json +2 -2
  192. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/IOldRollup.dbg.json +1 -1
  193. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/IOldRollup.json +45 -0
  194. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/IOldRollupAdmin.dbg.json +1 -1
  195. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/ISeqInboxPostUpgradeInit.dbg.json +1 -1
  196. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/StateHashPreImageLookup.dbg.json +1 -1
  197. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/StateHashPreImageLookup.json +2 -2
  198. package/build/contracts/src/rollup/BridgeCreator.sol/BridgeCreator.dbg.json +1 -1
  199. package/build/contracts/src/rollup/BridgeCreator.sol/BridgeCreator.json +2 -2
  200. package/build/contracts/src/rollup/DeployHelper.sol/DeployHelper.dbg.json +1 -1
  201. package/build/contracts/src/rollup/ERC20RollupEventInbox.sol/ERC20RollupEventInbox.dbg.json +1 -1
  202. package/build/contracts/src/rollup/FactoryDeployerHelper.sol/FactoryDeployerHelper.dbg.json +1 -1
  203. package/build/contracts/src/rollup/FactoryDeployerHelper.sol/IDeployHelper.dbg.json +1 -1
  204. package/build/contracts/src/rollup/FactoryDeployerHelper.sol/IERC20.dbg.json +1 -1
  205. package/build/contracts/src/rollup/FactoryDeployerHelper.sol/IERC20Bridge.dbg.json +1 -1
  206. package/build/contracts/src/rollup/FactoryDeployerHelper.sol/IInboxBase.dbg.json +1 -1
  207. package/build/contracts/src/rollup/IRollupAdmin.sol/IRollupAdmin.dbg.json +1 -1
  208. package/build/contracts/src/rollup/IRollupAdmin.sol/IRollupAdmin.json +10 -0
  209. package/build/contracts/src/rollup/IRollupCore.sol/IRollupCore.dbg.json +1 -1
  210. package/build/contracts/src/rollup/IRollupEventInbox.sol/IRollupEventInbox.dbg.json +1 -1
  211. package/build/contracts/src/rollup/IRollupLogic.sol/IRollupUser.dbg.json +1 -1
  212. package/build/contracts/src/rollup/RollupAdminLogic.sol/RollupAdminLogic.dbg.json +1 -1
  213. package/build/contracts/src/rollup/RollupAdminLogic.sol/RollupAdminLogic.json +12 -2
  214. package/build/contracts/src/rollup/RollupCore.sol/RollupCore.dbg.json +1 -1
  215. package/build/contracts/src/rollup/RollupCreator.sol/RollupCreator.dbg.json +1 -1
  216. package/build/contracts/src/rollup/RollupCreator.sol/RollupCreator.json +12 -2
  217. package/build/contracts/src/rollup/RollupEventInbox.sol/RollupEventInbox.dbg.json +1 -1
  218. package/build/contracts/src/rollup/RollupLib.sol/RollupLib.dbg.json +1 -1
  219. package/build/contracts/src/rollup/RollupLib.sol/RollupLib.json +2 -2
  220. package/build/contracts/src/rollup/RollupProxy.sol/RollupProxy.dbg.json +1 -1
  221. package/build/contracts/src/rollup/RollupProxy.sol/RollupProxy.json +12 -2
  222. package/build/contracts/src/rollup/RollupUserLogic.sol/RollupUserLogic.dbg.json +1 -1
  223. package/build/contracts/src/rollup/RollupUserLogic.sol/RollupUserLogic.json +2 -2
  224. package/build/contracts/src/rollup/ValidatorWallet.sol/ValidatorWallet.dbg.json +1 -1
  225. package/build/contracts/src/rollup/ValidatorWalletCreator.sol/ValidatorWalletCreator.dbg.json +1 -1
  226. package/build/contracts/src/state/Deserialize.sol/Deserialize.dbg.json +1 -1
  227. package/build/contracts/src/state/GlobalState.sol/GlobalStateLib.dbg.json +1 -1
  228. package/build/contracts/src/state/Instructions.sol/Instructions.dbg.json +1 -1
  229. package/build/contracts/src/state/Machine.sol/MachineLib.dbg.json +1 -1
  230. package/build/contracts/src/state/MerkleProof.sol/MerkleProofLib.dbg.json +1 -1
  231. package/build/contracts/src/state/Module.sol/ModuleLib.dbg.json +1 -1
  232. package/build/contracts/src/state/ModuleMemory.sol/ModuleMemoryLib.dbg.json +1 -1
  233. package/build/contracts/src/state/ModuleMemoryCompact.sol/ModuleMemoryCompactLib.dbg.json +1 -1
  234. package/build/contracts/src/state/MultiStack.sol/MultiStackLib.dbg.json +1 -1
  235. package/build/contracts/src/state/PcArray.sol/PcArrayLib.dbg.json +1 -1
  236. package/build/contracts/src/state/StackFrame.sol/StackFrameLib.dbg.json +1 -1
  237. package/build/contracts/src/state/Value.sol/ValueLib.dbg.json +1 -1
  238. package/build/contracts/src/state/ValueArray.sol/ValueArrayLib.dbg.json +1 -1
  239. package/build/contracts/src/state/ValueStack.sol/ValueStackLib.dbg.json +1 -1
  240. package/build/contracts/src/test-helpers/BridgeTester.sol/BridgeTester.dbg.json +1 -1
  241. package/build/contracts/src/test-helpers/CryptographyPrimitivesTester.sol/CryptographyPrimitivesTester.dbg.json +1 -1
  242. package/build/contracts/src/test-helpers/EthVault.sol/EthVault.dbg.json +1 -1
  243. package/build/contracts/src/test-helpers/MessageTester.sol/MessageTester.dbg.json +1 -1
  244. package/build/contracts/src/test-helpers/OutboxWithoutOptTester.sol/OutboxWithoutOptTester.dbg.json +1 -1
  245. package/build/contracts/src/test-helpers/RollupMock.sol/RollupMock.dbg.json +1 -1
  246. package/build/contracts/src/test-helpers/TestToken.sol/TestToken.dbg.json +1 -1
  247. package/build/contracts/src/test-helpers/ValueArrayTester.sol/ValueArrayTester.dbg.json +1 -1
  248. package/package.json +2 -3
  249. package/src/assertionStakingPool/EdgeStakingPool.sol +3 -4
  250. package/src/assertionStakingPool/interfaces/IEdgeStakingPool.sol +1 -1
  251. package/src/bridge/AbsBridge.sol +2 -2
  252. package/src/bridge/ERC20Bridge.sol +6 -2
  253. package/src/challengeV2/IEdgeChallengeManager.sol +6 -0
  254. package/src/express-lane-auction/Balance.sol +137 -0
  255. package/src/express-lane-auction/Burner.sol +26 -0
  256. package/src/express-lane-auction/ELCRound.sol +70 -0
  257. package/src/express-lane-auction/Errors.sol +31 -0
  258. package/src/express-lane-auction/ExpressLaneAuction.sol +567 -0
  259. package/src/express-lane-auction/IExpressLaneAuction.sol +441 -0
  260. package/src/express-lane-auction/RoundTimingInfo.sol +118 -0
  261. package/src/mocks/SimpleOneStepProofEntry.sol +1 -1
  262. package/src/rollup/BOLDUpgradeAction.sol +53 -104
  263. package/src/rollup/BridgeCreator.sol +23 -5
  264. package/src/rollup/Config.sol +3 -1
  265. package/src/rollup/RollupAdminLogic.sol +4 -4
  266. package/src/rollup/RollupCore.sol +1 -1
  267. package/src/rollup/RollupLib.sol +1 -1
  268. package/src/rollup/RollupUserLogic.sol +1 -0
  269. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/RollupReader.dbg.json +0 -4
  270. package/build/contracts/src/rollup/BOLDUpgradeAction.sol/RollupReader.json +0 -385
@@ -0,0 +1,1601 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "ExpressLaneAuction",
4
+ "sourceName": "src/express-lane-auction/ExpressLaneAuction.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "AuctionNotClosed",
9
+ "type": "error"
10
+ },
11
+ {
12
+ "inputs": [],
13
+ "name": "BidsWrongOrder",
14
+ "type": "error"
15
+ },
16
+ {
17
+ "inputs": [
18
+ {
19
+ "internalType": "uint64",
20
+ "name": "fixedUntilRound",
21
+ "type": "uint64"
22
+ }
23
+ ],
24
+ "name": "FixedTransferor",
25
+ "type": "error"
26
+ },
27
+ {
28
+ "inputs": [
29
+ {
30
+ "internalType": "uint256",
31
+ "name": "amountRequested",
32
+ "type": "uint256"
33
+ },
34
+ {
35
+ "internalType": "uint256",
36
+ "name": "balance",
37
+ "type": "uint256"
38
+ }
39
+ ],
40
+ "name": "InsufficientBalance",
41
+ "type": "error"
42
+ },
43
+ {
44
+ "inputs": [
45
+ {
46
+ "internalType": "address",
47
+ "name": "account",
48
+ "type": "address"
49
+ },
50
+ {
51
+ "internalType": "uint256",
52
+ "name": "amountRequested",
53
+ "type": "uint256"
54
+ },
55
+ {
56
+ "internalType": "uint256",
57
+ "name": "balance",
58
+ "type": "uint256"
59
+ }
60
+ ],
61
+ "name": "InsufficientBalanceAcc",
62
+ "type": "error"
63
+ },
64
+ {
65
+ "inputs": [
66
+ {
67
+ "internalType": "uint64",
68
+ "name": "currentRound",
69
+ "type": "uint64"
70
+ },
71
+ {
72
+ "internalType": "uint64",
73
+ "name": "newRound",
74
+ "type": "uint64"
75
+ }
76
+ ],
77
+ "name": "InvalidNewRound",
78
+ "type": "error"
79
+ },
80
+ {
81
+ "inputs": [
82
+ {
83
+ "internalType": "uint64",
84
+ "name": "currentStart",
85
+ "type": "uint64"
86
+ },
87
+ {
88
+ "internalType": "uint64",
89
+ "name": "newStart",
90
+ "type": "uint64"
91
+ }
92
+ ],
93
+ "name": "InvalidNewStart",
94
+ "type": "error"
95
+ },
96
+ {
97
+ "inputs": [],
98
+ "name": "NegativeOffset",
99
+ "type": "error"
100
+ },
101
+ {
102
+ "inputs": [
103
+ {
104
+ "internalType": "int64",
105
+ "name": "roundStart",
106
+ "type": "int64"
107
+ }
108
+ ],
109
+ "name": "NegativeRoundStart",
110
+ "type": "error"
111
+ },
112
+ {
113
+ "inputs": [
114
+ {
115
+ "internalType": "uint64",
116
+ "name": "round",
117
+ "type": "uint64"
118
+ },
119
+ {
120
+ "internalType": "address",
121
+ "name": "controller",
122
+ "type": "address"
123
+ },
124
+ {
125
+ "internalType": "address",
126
+ "name": "sender",
127
+ "type": "address"
128
+ }
129
+ ],
130
+ "name": "NotExpressLaneController",
131
+ "type": "error"
132
+ },
133
+ {
134
+ "inputs": [
135
+ {
136
+ "internalType": "uint64",
137
+ "name": "round",
138
+ "type": "uint64"
139
+ },
140
+ {
141
+ "internalType": "address",
142
+ "name": "expectedTransferor",
143
+ "type": "address"
144
+ },
145
+ {
146
+ "internalType": "address",
147
+ "name": "msgSender",
148
+ "type": "address"
149
+ }
150
+ ],
151
+ "name": "NotTransferor",
152
+ "type": "error"
153
+ },
154
+ {
155
+ "inputs": [],
156
+ "name": "NothingToWithdraw",
157
+ "type": "error"
158
+ },
159
+ {
160
+ "inputs": [],
161
+ "name": "ReserveBlackout",
162
+ "type": "error"
163
+ },
164
+ {
165
+ "inputs": [
166
+ {
167
+ "internalType": "uint256",
168
+ "name": "bidAmount",
169
+ "type": "uint256"
170
+ },
171
+ {
172
+ "internalType": "uint256",
173
+ "name": "reservePrice",
174
+ "type": "uint256"
175
+ }
176
+ ],
177
+ "name": "ReservePriceNotMet",
178
+ "type": "error"
179
+ },
180
+ {
181
+ "inputs": [
182
+ {
183
+ "internalType": "uint256",
184
+ "name": "reservePrice",
185
+ "type": "uint256"
186
+ },
187
+ {
188
+ "internalType": "uint256",
189
+ "name": "minReservePrice",
190
+ "type": "uint256"
191
+ }
192
+ ],
193
+ "name": "ReservePriceTooLow",
194
+ "type": "error"
195
+ },
196
+ {
197
+ "inputs": [
198
+ {
199
+ "internalType": "uint64",
200
+ "name": "round",
201
+ "type": "uint64"
202
+ }
203
+ ],
204
+ "name": "RoundAlreadyResolved",
205
+ "type": "error"
206
+ },
207
+ {
208
+ "inputs": [],
209
+ "name": "RoundDurationTooShort",
210
+ "type": "error"
211
+ },
212
+ {
213
+ "inputs": [
214
+ {
215
+ "internalType": "uint64",
216
+ "name": "round",
217
+ "type": "uint64"
218
+ }
219
+ ],
220
+ "name": "RoundNotResolved",
221
+ "type": "error"
222
+ },
223
+ {
224
+ "inputs": [
225
+ {
226
+ "internalType": "uint64",
227
+ "name": "roundDurationSeconds",
228
+ "type": "uint64"
229
+ }
230
+ ],
231
+ "name": "RoundTooLong",
232
+ "type": "error"
233
+ },
234
+ {
235
+ "inputs": [
236
+ {
237
+ "internalType": "uint64",
238
+ "name": "round",
239
+ "type": "uint64"
240
+ },
241
+ {
242
+ "internalType": "uint64",
243
+ "name": "currentRound",
244
+ "type": "uint64"
245
+ }
246
+ ],
247
+ "name": "RoundTooOld",
248
+ "type": "error"
249
+ },
250
+ {
251
+ "inputs": [],
252
+ "name": "SameBidder",
253
+ "type": "error"
254
+ },
255
+ {
256
+ "inputs": [],
257
+ "name": "TieBidsWrongOrder",
258
+ "type": "error"
259
+ },
260
+ {
261
+ "inputs": [],
262
+ "name": "WithdrawalInProgress",
263
+ "type": "error"
264
+ },
265
+ {
266
+ "inputs": [],
267
+ "name": "WithdrawalMaxRound",
268
+ "type": "error"
269
+ },
270
+ {
271
+ "inputs": [],
272
+ "name": "ZeroAmount",
273
+ "type": "error"
274
+ },
275
+ {
276
+ "inputs": [],
277
+ "name": "ZeroAuctionClosingSeconds",
278
+ "type": "error"
279
+ },
280
+ {
281
+ "inputs": [],
282
+ "name": "ZeroBiddingToken",
283
+ "type": "error"
284
+ },
285
+ {
286
+ "anonymous": false,
287
+ "inputs": [
288
+ {
289
+ "indexed": true,
290
+ "internalType": "bool",
291
+ "name": "isMultiBidAuction",
292
+ "type": "bool"
293
+ },
294
+ {
295
+ "indexed": false,
296
+ "internalType": "uint64",
297
+ "name": "round",
298
+ "type": "uint64"
299
+ },
300
+ {
301
+ "indexed": true,
302
+ "internalType": "address",
303
+ "name": "firstPriceBidder",
304
+ "type": "address"
305
+ },
306
+ {
307
+ "indexed": true,
308
+ "internalType": "address",
309
+ "name": "firstPriceExpressLaneController",
310
+ "type": "address"
311
+ },
312
+ {
313
+ "indexed": false,
314
+ "internalType": "uint256",
315
+ "name": "firstPriceAmount",
316
+ "type": "uint256"
317
+ },
318
+ {
319
+ "indexed": false,
320
+ "internalType": "uint256",
321
+ "name": "price",
322
+ "type": "uint256"
323
+ },
324
+ {
325
+ "indexed": false,
326
+ "internalType": "uint64",
327
+ "name": "roundStartTimestamp",
328
+ "type": "uint64"
329
+ },
330
+ {
331
+ "indexed": false,
332
+ "internalType": "uint64",
333
+ "name": "roundEndTimestamp",
334
+ "type": "uint64"
335
+ }
336
+ ],
337
+ "name": "AuctionResolved",
338
+ "type": "event"
339
+ },
340
+ {
341
+ "anonymous": false,
342
+ "inputs": [
343
+ {
344
+ "indexed": true,
345
+ "internalType": "address",
346
+ "name": "account",
347
+ "type": "address"
348
+ },
349
+ {
350
+ "indexed": false,
351
+ "internalType": "uint256",
352
+ "name": "amount",
353
+ "type": "uint256"
354
+ }
355
+ ],
356
+ "name": "Deposit",
357
+ "type": "event"
358
+ },
359
+ {
360
+ "anonymous": false,
361
+ "inputs": [
362
+ {
363
+ "indexed": false,
364
+ "internalType": "uint8",
365
+ "name": "version",
366
+ "type": "uint8"
367
+ }
368
+ ],
369
+ "name": "Initialized",
370
+ "type": "event"
371
+ },
372
+ {
373
+ "anonymous": false,
374
+ "inputs": [
375
+ {
376
+ "indexed": true,
377
+ "internalType": "bytes32",
378
+ "name": "role",
379
+ "type": "bytes32"
380
+ },
381
+ {
382
+ "indexed": true,
383
+ "internalType": "bytes32",
384
+ "name": "previousAdminRole",
385
+ "type": "bytes32"
386
+ },
387
+ {
388
+ "indexed": true,
389
+ "internalType": "bytes32",
390
+ "name": "newAdminRole",
391
+ "type": "bytes32"
392
+ }
393
+ ],
394
+ "name": "RoleAdminChanged",
395
+ "type": "event"
396
+ },
397
+ {
398
+ "anonymous": false,
399
+ "inputs": [
400
+ {
401
+ "indexed": true,
402
+ "internalType": "bytes32",
403
+ "name": "role",
404
+ "type": "bytes32"
405
+ },
406
+ {
407
+ "indexed": true,
408
+ "internalType": "address",
409
+ "name": "account",
410
+ "type": "address"
411
+ },
412
+ {
413
+ "indexed": true,
414
+ "internalType": "address",
415
+ "name": "sender",
416
+ "type": "address"
417
+ }
418
+ ],
419
+ "name": "RoleGranted",
420
+ "type": "event"
421
+ },
422
+ {
423
+ "anonymous": false,
424
+ "inputs": [
425
+ {
426
+ "indexed": true,
427
+ "internalType": "bytes32",
428
+ "name": "role",
429
+ "type": "bytes32"
430
+ },
431
+ {
432
+ "indexed": true,
433
+ "internalType": "address",
434
+ "name": "account",
435
+ "type": "address"
436
+ },
437
+ {
438
+ "indexed": true,
439
+ "internalType": "address",
440
+ "name": "sender",
441
+ "type": "address"
442
+ }
443
+ ],
444
+ "name": "RoleRevoked",
445
+ "type": "event"
446
+ },
447
+ {
448
+ "anonymous": false,
449
+ "inputs": [
450
+ {
451
+ "indexed": false,
452
+ "internalType": "address",
453
+ "name": "oldBeneficiary",
454
+ "type": "address"
455
+ },
456
+ {
457
+ "indexed": false,
458
+ "internalType": "address",
459
+ "name": "newBeneficiary",
460
+ "type": "address"
461
+ }
462
+ ],
463
+ "name": "SetBeneficiary",
464
+ "type": "event"
465
+ },
466
+ {
467
+ "anonymous": false,
468
+ "inputs": [
469
+ {
470
+ "indexed": false,
471
+ "internalType": "uint64",
472
+ "name": "round",
473
+ "type": "uint64"
474
+ },
475
+ {
476
+ "indexed": true,
477
+ "internalType": "address",
478
+ "name": "previousExpressLaneController",
479
+ "type": "address"
480
+ },
481
+ {
482
+ "indexed": true,
483
+ "internalType": "address",
484
+ "name": "newExpressLaneController",
485
+ "type": "address"
486
+ },
487
+ {
488
+ "indexed": true,
489
+ "internalType": "address",
490
+ "name": "transferor",
491
+ "type": "address"
492
+ },
493
+ {
494
+ "indexed": false,
495
+ "internalType": "uint64",
496
+ "name": "startTimestamp",
497
+ "type": "uint64"
498
+ },
499
+ {
500
+ "indexed": false,
501
+ "internalType": "uint64",
502
+ "name": "endTimestamp",
503
+ "type": "uint64"
504
+ }
505
+ ],
506
+ "name": "SetExpressLaneController",
507
+ "type": "event"
508
+ },
509
+ {
510
+ "anonymous": false,
511
+ "inputs": [
512
+ {
513
+ "indexed": false,
514
+ "internalType": "uint256",
515
+ "name": "oldPrice",
516
+ "type": "uint256"
517
+ },
518
+ {
519
+ "indexed": false,
520
+ "internalType": "uint256",
521
+ "name": "newPrice",
522
+ "type": "uint256"
523
+ }
524
+ ],
525
+ "name": "SetMinReservePrice",
526
+ "type": "event"
527
+ },
528
+ {
529
+ "anonymous": false,
530
+ "inputs": [
531
+ {
532
+ "indexed": false,
533
+ "internalType": "uint256",
534
+ "name": "oldReservePrice",
535
+ "type": "uint256"
536
+ },
537
+ {
538
+ "indexed": false,
539
+ "internalType": "uint256",
540
+ "name": "newReservePrice",
541
+ "type": "uint256"
542
+ }
543
+ ],
544
+ "name": "SetReservePrice",
545
+ "type": "event"
546
+ },
547
+ {
548
+ "anonymous": false,
549
+ "inputs": [
550
+ {
551
+ "indexed": false,
552
+ "internalType": "uint64",
553
+ "name": "currentRound",
554
+ "type": "uint64"
555
+ },
556
+ {
557
+ "indexed": false,
558
+ "internalType": "int64",
559
+ "name": "offsetTimestamp",
560
+ "type": "int64"
561
+ },
562
+ {
563
+ "indexed": false,
564
+ "internalType": "uint64",
565
+ "name": "roundDurationSeconds",
566
+ "type": "uint64"
567
+ },
568
+ {
569
+ "indexed": false,
570
+ "internalType": "uint64",
571
+ "name": "auctionClosingSeconds",
572
+ "type": "uint64"
573
+ },
574
+ {
575
+ "indexed": false,
576
+ "internalType": "uint64",
577
+ "name": "reserveSubmissionSeconds",
578
+ "type": "uint64"
579
+ }
580
+ ],
581
+ "name": "SetRoundTimingInfo",
582
+ "type": "event"
583
+ },
584
+ {
585
+ "anonymous": false,
586
+ "inputs": [
587
+ {
588
+ "indexed": true,
589
+ "internalType": "address",
590
+ "name": "expressLaneController",
591
+ "type": "address"
592
+ },
593
+ {
594
+ "indexed": true,
595
+ "internalType": "address",
596
+ "name": "transferor",
597
+ "type": "address"
598
+ },
599
+ {
600
+ "indexed": false,
601
+ "internalType": "uint64",
602
+ "name": "fixedUntilRound",
603
+ "type": "uint64"
604
+ }
605
+ ],
606
+ "name": "SetTransferor",
607
+ "type": "event"
608
+ },
609
+ {
610
+ "anonymous": false,
611
+ "inputs": [
612
+ {
613
+ "indexed": true,
614
+ "internalType": "address",
615
+ "name": "account",
616
+ "type": "address"
617
+ },
618
+ {
619
+ "indexed": false,
620
+ "internalType": "uint256",
621
+ "name": "withdrawalAmount",
622
+ "type": "uint256"
623
+ }
624
+ ],
625
+ "name": "WithdrawalFinalized",
626
+ "type": "event"
627
+ },
628
+ {
629
+ "anonymous": false,
630
+ "inputs": [
631
+ {
632
+ "indexed": true,
633
+ "internalType": "address",
634
+ "name": "account",
635
+ "type": "address"
636
+ },
637
+ {
638
+ "indexed": false,
639
+ "internalType": "uint256",
640
+ "name": "withdrawalAmount",
641
+ "type": "uint256"
642
+ },
643
+ {
644
+ "indexed": false,
645
+ "internalType": "uint256",
646
+ "name": "roundWithdrawable",
647
+ "type": "uint256"
648
+ }
649
+ ],
650
+ "name": "WithdrawalInitiated",
651
+ "type": "event"
652
+ },
653
+ {
654
+ "inputs": [],
655
+ "name": "AUCTIONEER_ADMIN_ROLE",
656
+ "outputs": [
657
+ {
658
+ "internalType": "bytes32",
659
+ "name": "",
660
+ "type": "bytes32"
661
+ }
662
+ ],
663
+ "stateMutability": "view",
664
+ "type": "function"
665
+ },
666
+ {
667
+ "inputs": [],
668
+ "name": "AUCTIONEER_ROLE",
669
+ "outputs": [
670
+ {
671
+ "internalType": "bytes32",
672
+ "name": "",
673
+ "type": "bytes32"
674
+ }
675
+ ],
676
+ "stateMutability": "view",
677
+ "type": "function"
678
+ },
679
+ {
680
+ "inputs": [],
681
+ "name": "BENEFICIARY_SETTER_ROLE",
682
+ "outputs": [
683
+ {
684
+ "internalType": "bytes32",
685
+ "name": "",
686
+ "type": "bytes32"
687
+ }
688
+ ],
689
+ "stateMutability": "view",
690
+ "type": "function"
691
+ },
692
+ {
693
+ "inputs": [],
694
+ "name": "DEFAULT_ADMIN_ROLE",
695
+ "outputs": [
696
+ {
697
+ "internalType": "bytes32",
698
+ "name": "",
699
+ "type": "bytes32"
700
+ }
701
+ ],
702
+ "stateMutability": "view",
703
+ "type": "function"
704
+ },
705
+ {
706
+ "inputs": [],
707
+ "name": "MIN_RESERVE_SETTER_ROLE",
708
+ "outputs": [
709
+ {
710
+ "internalType": "bytes32",
711
+ "name": "",
712
+ "type": "bytes32"
713
+ }
714
+ ],
715
+ "stateMutability": "view",
716
+ "type": "function"
717
+ },
718
+ {
719
+ "inputs": [],
720
+ "name": "RESERVE_SETTER_ADMIN_ROLE",
721
+ "outputs": [
722
+ {
723
+ "internalType": "bytes32",
724
+ "name": "",
725
+ "type": "bytes32"
726
+ }
727
+ ],
728
+ "stateMutability": "view",
729
+ "type": "function"
730
+ },
731
+ {
732
+ "inputs": [],
733
+ "name": "RESERVE_SETTER_ROLE",
734
+ "outputs": [
735
+ {
736
+ "internalType": "bytes32",
737
+ "name": "",
738
+ "type": "bytes32"
739
+ }
740
+ ],
741
+ "stateMutability": "view",
742
+ "type": "function"
743
+ },
744
+ {
745
+ "inputs": [],
746
+ "name": "ROUND_TIMING_SETTER_ROLE",
747
+ "outputs": [
748
+ {
749
+ "internalType": "bytes32",
750
+ "name": "",
751
+ "type": "bytes32"
752
+ }
753
+ ],
754
+ "stateMutability": "view",
755
+ "type": "function"
756
+ },
757
+ {
758
+ "inputs": [
759
+ {
760
+ "internalType": "address",
761
+ "name": "account",
762
+ "type": "address"
763
+ }
764
+ ],
765
+ "name": "balanceOf",
766
+ "outputs": [
767
+ {
768
+ "internalType": "uint256",
769
+ "name": "",
770
+ "type": "uint256"
771
+ }
772
+ ],
773
+ "stateMutability": "view",
774
+ "type": "function"
775
+ },
776
+ {
777
+ "inputs": [
778
+ {
779
+ "internalType": "address",
780
+ "name": "account",
781
+ "type": "address"
782
+ },
783
+ {
784
+ "internalType": "uint64",
785
+ "name": "round",
786
+ "type": "uint64"
787
+ }
788
+ ],
789
+ "name": "balanceOfAtRound",
790
+ "outputs": [
791
+ {
792
+ "internalType": "uint256",
793
+ "name": "",
794
+ "type": "uint256"
795
+ }
796
+ ],
797
+ "stateMutability": "view",
798
+ "type": "function"
799
+ },
800
+ {
801
+ "inputs": [],
802
+ "name": "beneficiary",
803
+ "outputs": [
804
+ {
805
+ "internalType": "address",
806
+ "name": "",
807
+ "type": "address"
808
+ }
809
+ ],
810
+ "stateMutability": "view",
811
+ "type": "function"
812
+ },
813
+ {
814
+ "inputs": [],
815
+ "name": "beneficiaryBalance",
816
+ "outputs": [
817
+ {
818
+ "internalType": "uint256",
819
+ "name": "",
820
+ "type": "uint256"
821
+ }
822
+ ],
823
+ "stateMutability": "view",
824
+ "type": "function"
825
+ },
826
+ {
827
+ "inputs": [],
828
+ "name": "biddingToken",
829
+ "outputs": [
830
+ {
831
+ "internalType": "contract IERC20",
832
+ "name": "",
833
+ "type": "address"
834
+ }
835
+ ],
836
+ "stateMutability": "view",
837
+ "type": "function"
838
+ },
839
+ {
840
+ "inputs": [],
841
+ "name": "currentRound",
842
+ "outputs": [
843
+ {
844
+ "internalType": "uint64",
845
+ "name": "",
846
+ "type": "uint64"
847
+ }
848
+ ],
849
+ "stateMutability": "view",
850
+ "type": "function"
851
+ },
852
+ {
853
+ "inputs": [
854
+ {
855
+ "internalType": "uint256",
856
+ "name": "amount",
857
+ "type": "uint256"
858
+ }
859
+ ],
860
+ "name": "deposit",
861
+ "outputs": [],
862
+ "stateMutability": "nonpayable",
863
+ "type": "function"
864
+ },
865
+ {
866
+ "inputs": [],
867
+ "name": "domainSeparator",
868
+ "outputs": [
869
+ {
870
+ "internalType": "bytes32",
871
+ "name": "",
872
+ "type": "bytes32"
873
+ }
874
+ ],
875
+ "stateMutability": "view",
876
+ "type": "function"
877
+ },
878
+ {
879
+ "inputs": [],
880
+ "name": "finalizeWithdrawal",
881
+ "outputs": [],
882
+ "stateMutability": "nonpayable",
883
+ "type": "function"
884
+ },
885
+ {
886
+ "inputs": [],
887
+ "name": "flushBeneficiaryBalance",
888
+ "outputs": [],
889
+ "stateMutability": "nonpayable",
890
+ "type": "function"
891
+ },
892
+ {
893
+ "inputs": [
894
+ {
895
+ "internalType": "uint64",
896
+ "name": "round",
897
+ "type": "uint64"
898
+ },
899
+ {
900
+ "internalType": "address",
901
+ "name": "expressLaneController",
902
+ "type": "address"
903
+ },
904
+ {
905
+ "internalType": "uint256",
906
+ "name": "amount",
907
+ "type": "uint256"
908
+ }
909
+ ],
910
+ "name": "getBidHash",
911
+ "outputs": [
912
+ {
913
+ "internalType": "bytes32",
914
+ "name": "",
915
+ "type": "bytes32"
916
+ }
917
+ ],
918
+ "stateMutability": "view",
919
+ "type": "function"
920
+ },
921
+ {
922
+ "inputs": [
923
+ {
924
+ "internalType": "bytes32",
925
+ "name": "role",
926
+ "type": "bytes32"
927
+ }
928
+ ],
929
+ "name": "getRoleAdmin",
930
+ "outputs": [
931
+ {
932
+ "internalType": "bytes32",
933
+ "name": "",
934
+ "type": "bytes32"
935
+ }
936
+ ],
937
+ "stateMutability": "view",
938
+ "type": "function"
939
+ },
940
+ {
941
+ "inputs": [
942
+ {
943
+ "internalType": "bytes32",
944
+ "name": "role",
945
+ "type": "bytes32"
946
+ },
947
+ {
948
+ "internalType": "uint256",
949
+ "name": "index",
950
+ "type": "uint256"
951
+ }
952
+ ],
953
+ "name": "getRoleMember",
954
+ "outputs": [
955
+ {
956
+ "internalType": "address",
957
+ "name": "",
958
+ "type": "address"
959
+ }
960
+ ],
961
+ "stateMutability": "view",
962
+ "type": "function"
963
+ },
964
+ {
965
+ "inputs": [
966
+ {
967
+ "internalType": "bytes32",
968
+ "name": "role",
969
+ "type": "bytes32"
970
+ }
971
+ ],
972
+ "name": "getRoleMemberCount",
973
+ "outputs": [
974
+ {
975
+ "internalType": "uint256",
976
+ "name": "",
977
+ "type": "uint256"
978
+ }
979
+ ],
980
+ "stateMutability": "view",
981
+ "type": "function"
982
+ },
983
+ {
984
+ "inputs": [
985
+ {
986
+ "internalType": "bytes32",
987
+ "name": "role",
988
+ "type": "bytes32"
989
+ },
990
+ {
991
+ "internalType": "address",
992
+ "name": "account",
993
+ "type": "address"
994
+ }
995
+ ],
996
+ "name": "grantRole",
997
+ "outputs": [],
998
+ "stateMutability": "nonpayable",
999
+ "type": "function"
1000
+ },
1001
+ {
1002
+ "inputs": [
1003
+ {
1004
+ "internalType": "bytes32",
1005
+ "name": "role",
1006
+ "type": "bytes32"
1007
+ },
1008
+ {
1009
+ "internalType": "address",
1010
+ "name": "account",
1011
+ "type": "address"
1012
+ }
1013
+ ],
1014
+ "name": "hasRole",
1015
+ "outputs": [
1016
+ {
1017
+ "internalType": "bool",
1018
+ "name": "",
1019
+ "type": "bool"
1020
+ }
1021
+ ],
1022
+ "stateMutability": "view",
1023
+ "type": "function"
1024
+ },
1025
+ {
1026
+ "inputs": [
1027
+ {
1028
+ "components": [
1029
+ {
1030
+ "internalType": "address",
1031
+ "name": "_auctioneer",
1032
+ "type": "address"
1033
+ },
1034
+ {
1035
+ "internalType": "address",
1036
+ "name": "_biddingToken",
1037
+ "type": "address"
1038
+ },
1039
+ {
1040
+ "internalType": "address",
1041
+ "name": "_beneficiary",
1042
+ "type": "address"
1043
+ },
1044
+ {
1045
+ "components": [
1046
+ {
1047
+ "internalType": "int64",
1048
+ "name": "offsetTimestamp",
1049
+ "type": "int64"
1050
+ },
1051
+ {
1052
+ "internalType": "uint64",
1053
+ "name": "roundDurationSeconds",
1054
+ "type": "uint64"
1055
+ },
1056
+ {
1057
+ "internalType": "uint64",
1058
+ "name": "auctionClosingSeconds",
1059
+ "type": "uint64"
1060
+ },
1061
+ {
1062
+ "internalType": "uint64",
1063
+ "name": "reserveSubmissionSeconds",
1064
+ "type": "uint64"
1065
+ }
1066
+ ],
1067
+ "internalType": "struct RoundTimingInfo",
1068
+ "name": "_roundTimingInfo",
1069
+ "type": "tuple"
1070
+ },
1071
+ {
1072
+ "internalType": "uint256",
1073
+ "name": "_minReservePrice",
1074
+ "type": "uint256"
1075
+ },
1076
+ {
1077
+ "internalType": "address",
1078
+ "name": "_auctioneerAdmin",
1079
+ "type": "address"
1080
+ },
1081
+ {
1082
+ "internalType": "address",
1083
+ "name": "_minReservePriceSetter",
1084
+ "type": "address"
1085
+ },
1086
+ {
1087
+ "internalType": "address",
1088
+ "name": "_reservePriceSetter",
1089
+ "type": "address"
1090
+ },
1091
+ {
1092
+ "internalType": "address",
1093
+ "name": "_reservePriceSetterAdmin",
1094
+ "type": "address"
1095
+ },
1096
+ {
1097
+ "internalType": "address",
1098
+ "name": "_beneficiarySetter",
1099
+ "type": "address"
1100
+ },
1101
+ {
1102
+ "internalType": "address",
1103
+ "name": "_roundTimingSetter",
1104
+ "type": "address"
1105
+ },
1106
+ {
1107
+ "internalType": "address",
1108
+ "name": "_masterAdmin",
1109
+ "type": "address"
1110
+ }
1111
+ ],
1112
+ "internalType": "struct InitArgs",
1113
+ "name": "args",
1114
+ "type": "tuple"
1115
+ }
1116
+ ],
1117
+ "name": "initialize",
1118
+ "outputs": [],
1119
+ "stateMutability": "nonpayable",
1120
+ "type": "function"
1121
+ },
1122
+ {
1123
+ "inputs": [],
1124
+ "name": "initiateWithdrawal",
1125
+ "outputs": [],
1126
+ "stateMutability": "nonpayable",
1127
+ "type": "function"
1128
+ },
1129
+ {
1130
+ "inputs": [],
1131
+ "name": "isAuctionRoundClosed",
1132
+ "outputs": [
1133
+ {
1134
+ "internalType": "bool",
1135
+ "name": "",
1136
+ "type": "bool"
1137
+ }
1138
+ ],
1139
+ "stateMutability": "view",
1140
+ "type": "function"
1141
+ },
1142
+ {
1143
+ "inputs": [],
1144
+ "name": "isReserveBlackout",
1145
+ "outputs": [
1146
+ {
1147
+ "internalType": "bool",
1148
+ "name": "",
1149
+ "type": "bool"
1150
+ }
1151
+ ],
1152
+ "stateMutability": "view",
1153
+ "type": "function"
1154
+ },
1155
+ {
1156
+ "inputs": [],
1157
+ "name": "minReservePrice",
1158
+ "outputs": [
1159
+ {
1160
+ "internalType": "uint256",
1161
+ "name": "",
1162
+ "type": "uint256"
1163
+ }
1164
+ ],
1165
+ "stateMutability": "view",
1166
+ "type": "function"
1167
+ },
1168
+ {
1169
+ "inputs": [
1170
+ {
1171
+ "internalType": "bytes32",
1172
+ "name": "role",
1173
+ "type": "bytes32"
1174
+ },
1175
+ {
1176
+ "internalType": "address",
1177
+ "name": "account",
1178
+ "type": "address"
1179
+ }
1180
+ ],
1181
+ "name": "renounceRole",
1182
+ "outputs": [],
1183
+ "stateMutability": "nonpayable",
1184
+ "type": "function"
1185
+ },
1186
+ {
1187
+ "inputs": [],
1188
+ "name": "reservePrice",
1189
+ "outputs": [
1190
+ {
1191
+ "internalType": "uint256",
1192
+ "name": "",
1193
+ "type": "uint256"
1194
+ }
1195
+ ],
1196
+ "stateMutability": "view",
1197
+ "type": "function"
1198
+ },
1199
+ {
1200
+ "inputs": [
1201
+ {
1202
+ "components": [
1203
+ {
1204
+ "internalType": "address",
1205
+ "name": "expressLaneController",
1206
+ "type": "address"
1207
+ },
1208
+ {
1209
+ "internalType": "uint256",
1210
+ "name": "amount",
1211
+ "type": "uint256"
1212
+ },
1213
+ {
1214
+ "internalType": "bytes",
1215
+ "name": "signature",
1216
+ "type": "bytes"
1217
+ }
1218
+ ],
1219
+ "internalType": "struct Bid",
1220
+ "name": "firstPriceBid",
1221
+ "type": "tuple"
1222
+ },
1223
+ {
1224
+ "components": [
1225
+ {
1226
+ "internalType": "address",
1227
+ "name": "expressLaneController",
1228
+ "type": "address"
1229
+ },
1230
+ {
1231
+ "internalType": "uint256",
1232
+ "name": "amount",
1233
+ "type": "uint256"
1234
+ },
1235
+ {
1236
+ "internalType": "bytes",
1237
+ "name": "signature",
1238
+ "type": "bytes"
1239
+ }
1240
+ ],
1241
+ "internalType": "struct Bid",
1242
+ "name": "secondPriceBid",
1243
+ "type": "tuple"
1244
+ }
1245
+ ],
1246
+ "name": "resolveMultiBidAuction",
1247
+ "outputs": [],
1248
+ "stateMutability": "nonpayable",
1249
+ "type": "function"
1250
+ },
1251
+ {
1252
+ "inputs": [
1253
+ {
1254
+ "components": [
1255
+ {
1256
+ "internalType": "address",
1257
+ "name": "expressLaneController",
1258
+ "type": "address"
1259
+ },
1260
+ {
1261
+ "internalType": "uint256",
1262
+ "name": "amount",
1263
+ "type": "uint256"
1264
+ },
1265
+ {
1266
+ "internalType": "bytes",
1267
+ "name": "signature",
1268
+ "type": "bytes"
1269
+ }
1270
+ ],
1271
+ "internalType": "struct Bid",
1272
+ "name": "firstPriceBid",
1273
+ "type": "tuple"
1274
+ }
1275
+ ],
1276
+ "name": "resolveSingleBidAuction",
1277
+ "outputs": [],
1278
+ "stateMutability": "nonpayable",
1279
+ "type": "function"
1280
+ },
1281
+ {
1282
+ "inputs": [],
1283
+ "name": "resolvedRounds",
1284
+ "outputs": [
1285
+ {
1286
+ "components": [
1287
+ {
1288
+ "internalType": "address",
1289
+ "name": "expressLaneController",
1290
+ "type": "address"
1291
+ },
1292
+ {
1293
+ "internalType": "uint64",
1294
+ "name": "round",
1295
+ "type": "uint64"
1296
+ }
1297
+ ],
1298
+ "internalType": "struct ELCRound",
1299
+ "name": "",
1300
+ "type": "tuple"
1301
+ },
1302
+ {
1303
+ "components": [
1304
+ {
1305
+ "internalType": "address",
1306
+ "name": "expressLaneController",
1307
+ "type": "address"
1308
+ },
1309
+ {
1310
+ "internalType": "uint64",
1311
+ "name": "round",
1312
+ "type": "uint64"
1313
+ }
1314
+ ],
1315
+ "internalType": "struct ELCRound",
1316
+ "name": "",
1317
+ "type": "tuple"
1318
+ }
1319
+ ],
1320
+ "stateMutability": "view",
1321
+ "type": "function"
1322
+ },
1323
+ {
1324
+ "inputs": [
1325
+ {
1326
+ "internalType": "bytes32",
1327
+ "name": "role",
1328
+ "type": "bytes32"
1329
+ },
1330
+ {
1331
+ "internalType": "address",
1332
+ "name": "account",
1333
+ "type": "address"
1334
+ }
1335
+ ],
1336
+ "name": "revokeRole",
1337
+ "outputs": [],
1338
+ "stateMutability": "nonpayable",
1339
+ "type": "function"
1340
+ },
1341
+ {
1342
+ "inputs": [
1343
+ {
1344
+ "internalType": "uint64",
1345
+ "name": "round",
1346
+ "type": "uint64"
1347
+ }
1348
+ ],
1349
+ "name": "roundTimestamps",
1350
+ "outputs": [
1351
+ {
1352
+ "internalType": "uint64",
1353
+ "name": "",
1354
+ "type": "uint64"
1355
+ },
1356
+ {
1357
+ "internalType": "uint64",
1358
+ "name": "",
1359
+ "type": "uint64"
1360
+ }
1361
+ ],
1362
+ "stateMutability": "view",
1363
+ "type": "function"
1364
+ },
1365
+ {
1366
+ "inputs": [],
1367
+ "name": "roundTimingInfo",
1368
+ "outputs": [
1369
+ {
1370
+ "internalType": "int64",
1371
+ "name": "offsetTimestamp",
1372
+ "type": "int64"
1373
+ },
1374
+ {
1375
+ "internalType": "uint64",
1376
+ "name": "roundDurationSeconds",
1377
+ "type": "uint64"
1378
+ },
1379
+ {
1380
+ "internalType": "uint64",
1381
+ "name": "auctionClosingSeconds",
1382
+ "type": "uint64"
1383
+ },
1384
+ {
1385
+ "internalType": "uint64",
1386
+ "name": "reserveSubmissionSeconds",
1387
+ "type": "uint64"
1388
+ }
1389
+ ],
1390
+ "stateMutability": "view",
1391
+ "type": "function"
1392
+ },
1393
+ {
1394
+ "inputs": [
1395
+ {
1396
+ "internalType": "address",
1397
+ "name": "newBeneficiary",
1398
+ "type": "address"
1399
+ }
1400
+ ],
1401
+ "name": "setBeneficiary",
1402
+ "outputs": [],
1403
+ "stateMutability": "nonpayable",
1404
+ "type": "function"
1405
+ },
1406
+ {
1407
+ "inputs": [
1408
+ {
1409
+ "internalType": "uint256",
1410
+ "name": "newMinReservePrice",
1411
+ "type": "uint256"
1412
+ }
1413
+ ],
1414
+ "name": "setMinReservePrice",
1415
+ "outputs": [],
1416
+ "stateMutability": "nonpayable",
1417
+ "type": "function"
1418
+ },
1419
+ {
1420
+ "inputs": [
1421
+ {
1422
+ "internalType": "uint256",
1423
+ "name": "newReservePrice",
1424
+ "type": "uint256"
1425
+ }
1426
+ ],
1427
+ "name": "setReservePrice",
1428
+ "outputs": [],
1429
+ "stateMutability": "nonpayable",
1430
+ "type": "function"
1431
+ },
1432
+ {
1433
+ "inputs": [
1434
+ {
1435
+ "components": [
1436
+ {
1437
+ "internalType": "int64",
1438
+ "name": "offsetTimestamp",
1439
+ "type": "int64"
1440
+ },
1441
+ {
1442
+ "internalType": "uint64",
1443
+ "name": "roundDurationSeconds",
1444
+ "type": "uint64"
1445
+ },
1446
+ {
1447
+ "internalType": "uint64",
1448
+ "name": "auctionClosingSeconds",
1449
+ "type": "uint64"
1450
+ },
1451
+ {
1452
+ "internalType": "uint64",
1453
+ "name": "reserveSubmissionSeconds",
1454
+ "type": "uint64"
1455
+ }
1456
+ ],
1457
+ "internalType": "struct RoundTimingInfo",
1458
+ "name": "newRoundTimingInfo",
1459
+ "type": "tuple"
1460
+ }
1461
+ ],
1462
+ "name": "setRoundTimingInfo",
1463
+ "outputs": [],
1464
+ "stateMutability": "nonpayable",
1465
+ "type": "function"
1466
+ },
1467
+ {
1468
+ "inputs": [
1469
+ {
1470
+ "components": [
1471
+ {
1472
+ "internalType": "address",
1473
+ "name": "addr",
1474
+ "type": "address"
1475
+ },
1476
+ {
1477
+ "internalType": "uint64",
1478
+ "name": "fixedUntilRound",
1479
+ "type": "uint64"
1480
+ }
1481
+ ],
1482
+ "internalType": "struct Transferor",
1483
+ "name": "transferor",
1484
+ "type": "tuple"
1485
+ }
1486
+ ],
1487
+ "name": "setTransferor",
1488
+ "outputs": [],
1489
+ "stateMutability": "nonpayable",
1490
+ "type": "function"
1491
+ },
1492
+ {
1493
+ "inputs": [
1494
+ {
1495
+ "internalType": "bytes4",
1496
+ "name": "interfaceId",
1497
+ "type": "bytes4"
1498
+ }
1499
+ ],
1500
+ "name": "supportsInterface",
1501
+ "outputs": [
1502
+ {
1503
+ "internalType": "bool",
1504
+ "name": "",
1505
+ "type": "bool"
1506
+ }
1507
+ ],
1508
+ "stateMutability": "view",
1509
+ "type": "function"
1510
+ },
1511
+ {
1512
+ "inputs": [
1513
+ {
1514
+ "internalType": "uint64",
1515
+ "name": "round",
1516
+ "type": "uint64"
1517
+ },
1518
+ {
1519
+ "internalType": "address",
1520
+ "name": "newExpressLaneController",
1521
+ "type": "address"
1522
+ }
1523
+ ],
1524
+ "name": "transferExpressLaneController",
1525
+ "outputs": [],
1526
+ "stateMutability": "nonpayable",
1527
+ "type": "function"
1528
+ },
1529
+ {
1530
+ "inputs": [
1531
+ {
1532
+ "internalType": "address",
1533
+ "name": "",
1534
+ "type": "address"
1535
+ }
1536
+ ],
1537
+ "name": "transferorOf",
1538
+ "outputs": [
1539
+ {
1540
+ "internalType": "address",
1541
+ "name": "addr",
1542
+ "type": "address"
1543
+ },
1544
+ {
1545
+ "internalType": "uint64",
1546
+ "name": "fixedUntilRound",
1547
+ "type": "uint64"
1548
+ }
1549
+ ],
1550
+ "stateMutability": "view",
1551
+ "type": "function"
1552
+ },
1553
+ {
1554
+ "inputs": [
1555
+ {
1556
+ "internalType": "address",
1557
+ "name": "account",
1558
+ "type": "address"
1559
+ }
1560
+ ],
1561
+ "name": "withdrawableBalance",
1562
+ "outputs": [
1563
+ {
1564
+ "internalType": "uint256",
1565
+ "name": "",
1566
+ "type": "uint256"
1567
+ }
1568
+ ],
1569
+ "stateMutability": "view",
1570
+ "type": "function"
1571
+ },
1572
+ {
1573
+ "inputs": [
1574
+ {
1575
+ "internalType": "address",
1576
+ "name": "account",
1577
+ "type": "address"
1578
+ },
1579
+ {
1580
+ "internalType": "uint64",
1581
+ "name": "round",
1582
+ "type": "uint64"
1583
+ }
1584
+ ],
1585
+ "name": "withdrawableBalanceAtRound",
1586
+ "outputs": [
1587
+ {
1588
+ "internalType": "uint256",
1589
+ "name": "",
1590
+ "type": "uint256"
1591
+ }
1592
+ ],
1593
+ "stateMutability": "view",
1594
+ "type": "function"
1595
+ }
1596
+ ],
1597
+ "bytecode": "0x60a06040523060805234801561001457600080fd5b506080516147d7610030600039600061173901526147d76000f3fe608060405234801561001057600080fd5b50600436106103145760003560e01c80637b617f94116101a7578063c5b6aa2f116100ee578063e2fc6f6811610097578063e4d20c1d11610071578063e4d20c1d146107de578063f698da25146107f1578063fed87be8146107f957600080fd5b8063e2fc6f68146107a5578063e3f7bb55146107af578063e460d2c5146107d657600080fd5b8063cfe9232b116100c8578063cfe9232b14610761578063d547741f14610788578063db2e1eed1461079b57600080fd5b8063c5b6aa2f14610733578063ca15c8731461073b578063ce9c7c0d1461074e57600080fd5b80639a1fadd311610150578063b51d1d4f1161012a578063b51d1d4f14610705578063b6b55f251461070d578063bef0ec741461072057600080fd5b80639a1fadd3146106c3578063a217fddf146106d6578063b3ee252f146106de57600080fd5b80638a19c8bc116101815780638a19c8bc146106565780639010d07c1461067757806391d148541461068a57600080fd5b80637b617f94146105f157806383af0a1f146106255780638948cc4e1461062f57600080fd5b80632f2ff15d1161026b578063639d7566116102145780636dc4fc4e116101ee5780636dc4fc4e146105b85780636e8cace5146105cb57806370a08231146105de57600080fd5b8063639d7566146105375780636a514beb1461054b5780636ad72517146105b057600080fd5b806338af3eed1161024557806338af3eed146104e5578063447a709e146105115780635633c3371461052457600080fd5b80632f2ff15d14610498578063336a5b5e146104ab57806336568abe146104d257600080fd5b80630d253fbe116102cd5780631c31f710116102a75780631c31f7101461045a578063248a9ca31461046d5780632d668ce71461049057600080fd5b80630d253fbe146103f657806314d963161461040c5780631682e50b1461043357600080fd5b806301ffc9a7116102fe57806301ffc9a71461039f57806302b62938146103c257806304c584ad146103e357600080fd5b80627be2fe146103195780630152682d1461032e575b600080fd5b61032c610327366004613e9b565b61080c565b005b6101045461036590600781900b9067ffffffffffffffff600160401b8204811691600160801b8104821691600160c01b9091041684565b6040805160079590950b855267ffffffffffffffff9384166020860152918316918401919091521660608201526080015b60405180910390f35b6103b26103ad366004613ed4565b610ab2565b6040519015158152602001610396565b6103d56103d0366004613efe565b610af6565b604051908152602001610396565b6103d56103f1366004613f1b565b610b6f565b6103fe610bf0565b604051610396929190613f5c565b6103d57f3fb9f0655b78e8eabe9e0f51d65db56c7690d4329012c3faf1fbd6d43f65826181565b6103d57f6d8dad7188c7ed005c55bf77fbf589583d8668b0dad30a9b9dd016321a5c256f81565b61032c610468366004613efe565b610cb1565b6103d561047b366004613faa565b60009081526065602052604090206001015490565b6103b2610d54565b61032c6104a6366004613fc3565b610db0565b6103d57fc1b97c934675624ef2089089ac12ae8922988c11dc8a578dfbac10d9eecf476181565b61032c6104e0366004613fc3565b610dda565b610100546104f9906001600160a01b031681565b6040516001600160a01b039091168152602001610396565b61032c61051f366004614000565b610e66565b6103d5610532366004614064565b611145565b610101546104f9906001600160a01b031681565b610588610559366004613efe565b610106602052600090815260409020546001600160a01b03811690600160a01b900467ffffffffffffffff1682565b604080516001600160a01b03909316835267ffffffffffffffff909116602083015201610396565b61032c611275565b61032c6105c6366004614092565b6112c3565b6103d56105d9366004614064565b61142b565b6103d56105ec366004613efe565b611515565b6106046105ff3660046140cf565b61158e565b6040805167ffffffffffffffff938416815292909116602083015201610396565b6103d56101035481565b6103d57fb07567e7223e21f7dce4c0a89131ce9c32d0d3484085f3f331dea8caef56d14181565b61065e6115f1565b60405167ffffffffffffffff9091168152602001610396565b6104f96106853660046140ec565b611648565b6103b2610698366004613fc3565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b61032c6106d136600461410e565b611660565b6103d5600081565b6103d57f19e6f23df7275b48d1c33822c6ad041a743378552246ac819f578ae1d6709cf981565b61032c611c2b565b61032c61071b366004613faa565b611cf3565b61032c61072e366004614121565b611d5e565b61032c611ec4565b6103d5610749366004613faa565b611f81565b61032c61075c366004613faa565b611f98565b6103d57f1d693f62a755e2b3c6494da41af454605b9006057cb3c79b6adda1378f2a50a781565b61032c610796366004613fc3565b612070565b6103d56101025481565b6103d56101055481565b6103d57fa8131bb4589277d6866d942849029b416b39e61eb3969a32787130bbdd292a9681565b6103b2612095565b61032c6107ec366004613faa565b61210a565b6103d561218b565b61032c610807366004614133565b612195565b6040805160808101825261010454600781900b825267ffffffffffffffff600160401b820481166020840152600160801b8204811693830193909352600160c01b90049091166060820152600061086282612348565b90508067ffffffffffffffff168467ffffffffffffffff1610156108cb576040517f395f4fd600000000000000000000000000000000000000000000000000000000815267ffffffffffffffff8086166004830152821660248201526044015b60405180910390fd5b60006108d860fe8661237e565b80546001600160a01b039081166000818152610106602052604090205492935091168015610968576001600160a01b0381163314610963576040517f7621d94a00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff881660048201526001600160a01b03821660248201523360448201526064016108c2565b6109cb565b6001600160a01b03821633146109cb576040517f660af6d200000000000000000000000000000000000000000000000000000000815267ffffffffffffffff881660048201526001600160a01b03831660248201523360448201526064016108c2565b825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0387161783556000806109fe878a61241d565b90925090506001600160a01b038316610a175783610a19565b825b6001600160a01b0316886001600160a01b0316856001600160a01b03167fb59adc820ca642dad493a0a6e0bdf979dcae037dea114b70d5c66b1c0b791c4b8c4267ffffffffffffffff168767ffffffffffffffff1610610a795786610a7b565b425b6040805167ffffffffffffffff938416815291831660208301529187168183015290519081900360600190a4505050505050505050565b60006001600160e01b031982167f5a05180f000000000000000000000000000000000000000000000000000000001480610af05750610af0826124b5565b92915050565b6040805160808101825261010454600781900b825267ffffffffffffffff600160401b820481166020840152600160801b8204811693830193909352600160c01b90049091166060820152600090610af090610b5190612348565b6001600160a01b038416600090815260fd602052604090209061251c565b604080517f0358b2b705d5c5ef47651be44f418326852a390f3b4c933661a5f4f0d8fa1ee3602082015267ffffffffffffffff8516918101919091526001600160a01b038316606082015260808101829052600090610be69060a00160405160208183030381529060405280519060200120612546565b90505b9392505050565b6040805180820190915260008082526020820152604080518082019091526000808252602082015260fe60010154600160a01b900467ffffffffffffffff1660fe60000154600160a01b900467ffffffffffffffff1611610c545760ff60fe610c59565b60fe60ff5b60408051808201825292546001600160a01b03808216855267ffffffffffffffff600160a01b928390048116602080880191909152845180860190955294549182168452919004169181019190915290939092509050565b7fc1b97c934675624ef2089089ac12ae8922988c11dc8a578dfbac10d9eecf4761610cdb816125af565b61010054604080516001600160a01b03928316815291841660208301527f8a0149b2f3ddf2c9ee85738165131d82babbb938f749321d59f75750afa7f4e6910160405180910390a150610100805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6040805160808101825261010454600781900b825267ffffffffffffffff600160401b820481166020840152600160801b8204811693830193909352600160c01b90049091166060820152600090610dab906125b9565b905090565b600082815260656020526040902060010154610dcb816125af565b610dd58383612625565b505050565b6001600160a01b0381163314610e585760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084016108c2565b610e628282612647565b5050565b7f1d693f62a755e2b3c6494da41af454605b9006057cb3c79b6adda1378f2a50a7610e90816125af565b6040805160808101825261010454600781900b825267ffffffffffffffff600160401b820481166020840152600160801b8204811693830193909352600160c01b90049091166060820152610ee4816125b9565b610f1a576040517fb9adeefd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b826020013584602001351015610f5c576040517fa234cb1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6101025483602001351015610faf57610102546040517f56f9b75a0000000000000000000000000000000000000000000000000000000081526020850135600482015260248101919091526044016108c2565b6000610fba82612348565b90506000610fc9826001614171565b9050600080610fe0610fda89614202565b84612669565b91509150600080610ffa89610ff490614202565b86612669565b91509150816001600160a01b0316846001600160a01b031603611049576040517ff4a3e48500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b88602001358a602001351480156110db57506040516bffffffffffffffffffffffff19606084901b1660208201526034810182905260540160408051808303601f190181529082905280516020918201206bffffffffffffffffffffffff19606088901b169183019190915260348201859052906054016040516020818303038152906040528051906020012060001c105b15611112576040517f9185a0ae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008061111f898861241d565b9150915061113760018d888e602001358c8787612760565b505050505050505050505050565b6040805160808101825261010454600781900b825267ffffffffffffffff600160401b820481166020840152600160801b8204811693830193909352600160c01b9004909116606082015260009061119c90612348565b67ffffffffffffffff168267ffffffffffffffff161015611253576040805160808101825261010454600781900b825267ffffffffffffffff600160401b820481166020840152600160801b8204811693830193909352600160c01b90049091166060820152829061120d90612348565b6040517f395f4fd600000000000000000000000000000000000000000000000000000000815267ffffffffffffffff9283166004820152911660248201526044016108c2565b6001600160a01b038316600090815260fd60205260409020610be990836128b8565b61010554600081900361129b57604051631f2a200560e01b815260040160405180910390fd5b60006101055561010054610101546112c0916001600160a01b039182169116836128d0565b50565b7f1d693f62a755e2b3c6494da41af454605b9006057cb3c79b6adda1378f2a50a76112ed816125af565b6040805160808101825261010454600781900b825267ffffffffffffffff600160401b820481166020840152600160801b8204811693830193909352600160c01b90049091166060820152611341816125b9565b611377576040517fb9adeefd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61010254836020013510156113ca57610102546040517f56f9b75a0000000000000000000000000000000000000000000000000000000081526020850135600482015260248101919091526044016108c2565b60006113d582612348565b905060006113e4826001614171565b905060006113fa6113f487614202565b83612669565b50905060008061140a868561241d565b915091506114216000898561010254898787612760565b5050505050505050565b6040805160808101825261010454600781900b825267ffffffffffffffff600160401b820481166020840152600160801b8204811693830193909352600160c01b9004909116606082015260009061148290612348565b67ffffffffffffffff168267ffffffffffffffff1610156114f3576040805160808101825261010454600781900b825267ffffffffffffffff600160401b820481166020840152600160801b8204811693830193909352600160c01b90049091166060820152829061120d90612348565b6001600160a01b038316600090815260fd60205260409020610be9908361251c565b6040805160808101825261010454600781900b825267ffffffffffffffff600160401b820481166020840152600160801b8204811693830193909352600160c01b90049091166060820152600090610af09061157090612348565b6001600160a01b038416600090815260fd60205260409020906128b8565b6040805160808101825261010454600781900b825267ffffffffffffffff600160401b820481166020840152600160801b8204811693830193909352600160c01b9004909116606082015260009081906115e8908461241d565b91509150915091565b6040805160808101825261010454600781900b825267ffffffffffffffff600160401b820481166020840152600160801b8204811693830193909352600160c01b90049091166060820152600090610dab90612348565b6000828152609760205260408120610be99083612961565b600054610100900460ff16158080156116805750600054600160ff909116105b8061169a5750303b15801561169a575060005460ff166001145b61170c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016108c2565b6000805460ff19166001179055801561172f576000805461ff0019166101001790555b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036117cd5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016108c2565b6117d561296d565b6118496040518060400160405280601281526020017f457870726573734c616e6541756374696f6e00000000000000000000000000008152506040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506129ec565b600061185b6040840160208501613efe565b6001600160a01b03160361189b576040517f3fb3c7af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6118ab6040830160208401613efe565b610101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03929092169190911790556118e96060830160408401613efe565b610100805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03929092169190911790557f8a0149b2f3ddf2c9ee85738165131d82babbb938f749321d59f75750afa7f4e6600061194a6060850160408601613efe565b604080516001600160a01b0393841681529290911660208301520160405180910390a160e0820135610103819055604080516000815260208101929092527f5848068f11aa3ba9fe3fc33c5f9f2a3cd1aed67986b85b5e0cedc67dbe96f0f0910160405180910390a160e0820135610102819055604080516000815260208101929092527f9725e37e079c5bda6009a8f54d86265849f30acf61c630f9e1ac91e67de98794910160405180910390a16000611a0b60808401606085016142ca565b60070b1215611a46576040517f16f46dfe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611a5282606001612a73565b611a6e6000611a696101e085016101c08601613efe565b612625565b611aa47fb07567e7223e21f7dce4c0a89131ce9c32d0d3484085f3f331dea8caef56d141611a6961014085016101208601613efe565b611ada7fc1b97c934675624ef2089089ac12ae8922988c11dc8a578dfbac10d9eecf4761611a696101a085016101808601613efe565b611b437f1d693f62a755e2b3c6494da41af454605b9006057cb3c79b6adda1378f2a50a7611b0b6020850185613efe565b7f3fb9f0655b78e8eabe9e0f51d65db56c7690d4329012c3faf1fbd6d43f658261611b3e61012087016101008801613efe565b612c82565b611bac7f19e6f23df7275b48d1c33822c6ad041a743378552246ac819f578ae1d6709cf9611b7961016085016101408601613efe565b7fa8131bb4589277d6866d942849029b416b39e61eb3969a32787130bbdd292a96611b3e61018087016101608801613efe565b611be27f6d8dad7188c7ed005c55bf77fbf589583d8668b0dad30a9b9dd016321a5c256f611a696101c085016101a08601613efe565b8015610e62576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6040805160808101825261010454600781900b825267ffffffffffffffff600160401b820481166020840152600160801b8204811693830193909352600160c01b90049091166060820152600090611c8290612348565b611c8d906002614171565b33600090815260fd602052604090208054919250611cab9083612ca6565b6040805182815267ffffffffffffffff8416602082015233917f31f69201fab7912e3ec9850e3ab705964bf46d9d4276bdcbb6d05e965e5f5401910160405180910390a25050565b33600090815260fd60205260409020611d0c9082612d83565b61010154611d25906001600160a01b0316333084612df5565b60405181815233907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c906020015b60405180910390a250565b3360009081526101066020526040902080546001600160a01b031615801590611df157506040805160808101825261010454600781900b825267ffffffffffffffff600160401b820481166020840152600160801b8204811693830193909352600160c01b90049091166060820152611dd690612348565b815467ffffffffffffffff918216600160a01b909104909116115b15611e3d5780546040517f75d899f2000000000000000000000000000000000000000000000000000000008152600160a01b90910467ffffffffffffffff1660048201526024016108c2565b336000908152610106602052604090208290611e5982826142e7565b50611e6990506020830183613efe565b6001600160a01b0316337ff6d28df235d9fa45a42d45dbb7c4f4ac76edb51e528f09f25a0650d32b8b33c0611ea460408601602087016140cf565b60405167ffffffffffffffff909116815260200160405180910390a35050565b6040805160808101825261010454600781900b825267ffffffffffffffff600160401b820481166020840152600160801b8204811693830193909352600160c01b90049091166060820152600090611f3490611f1f90612348565b33600090815260fd6020526040902090612e46565b61010154909150611f4f906001600160a01b031633836128d0565b60405181815233907f9e5c4f9f4e46b8629d3dda85f43a69194f50254404a72dc62b9e932d9c94eda890602001611d53565b6000818152609760205260408120610af090612ee8565b7f19e6f23df7275b48d1c33822c6ad041a743378552246ac819f578ae1d6709cf9611fc2816125af565b6000611fce60fe612ef2565b5080546040805160808101825261010454600781900b825267ffffffffffffffff600160401b820481166020840152600160801b8204811693830193909352600160c01b9004821660608201529293506120309291600160a01b900416612f36565b15612067576040517f4f00697800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dd583612fef565b60008281526065602052604090206001015461208b816125af565b610dd58383612647565b6000806120a260fe612ef2565b5080546040805160808101825261010454600781900b825267ffffffffffffffff600160401b820481166020840152600160801b8204811693830193909352600160c01b9004821660608201529293506121049291600160a01b900416612f36565b91505090565b7fb07567e7223e21f7dce4c0a89131ce9c32d0d3484085f3f331dea8caef56d141612134816125af565b6101035460408051918252602082018490527f5848068f11aa3ba9fe3fc33c5f9f2a3cd1aed67986b85b5e0cedc67dbe96f0f0910160405180910390a161010382905561010254821115610e6257610e6282612fef565b6000610dab61307e565b7f6d8dad7188c7ed005c55bf77fbf589583d8668b0dad30a9b9dd016321a5c256f6121bf816125af565b6040805160808101825261010454600781900b825267ffffffffffffffff600160401b820481166020840152600160801b8204811693830193909352600160c01b90049091166060820152600061221582612348565b9050600061223061222b36879003870187614363565b612348565b90508067ffffffffffffffff168267ffffffffffffffff1614612293576040517f68c18ca900000000000000000000000000000000000000000000000000000000815267ffffffffffffffff8084166004830152821660248201526044016108c2565b60006122aa6122a3846001614171565b859061241d565b50905060006122d26122bd846001614171565b6122cc368a90038a018a614363565b9061241d565b5090508067ffffffffffffffff168267ffffffffffffffff1614612336576040517fa0e269d800000000000000000000000000000000000000000000000000000000815267ffffffffffffffff8084166004830152821660248201526044016108c2565b61233f87612a73565b50505050505050565b8051600090600790810b4290910b121561236457506000919050565b60208201518251612374906130f9565b610af091906143fe565b600067ffffffffffffffff821683820154600160a01b900467ffffffffffffffff16036123b1578260005b019050610af0565b67ffffffffffffffff82168360010154600160a01b900467ffffffffffffffff16036123df578260016123a9565b6040517ffbb052d800000000000000000000000000000000000000000000000000000000815267ffffffffffffffff831660048201526024016108c2565b60008060008385602001516124329190614425565b855161243e9190614451565b905060008160070b1215612484576040517ff160ad79000000000000000000000000000000000000000000000000000000008152600782900b60048201526024016108c2565b6020850151819060009060019061249b9084614171565b6124a59190614480565b91945090925050505b9250929050565b60006001600160e01b031982167f7965db0b000000000000000000000000000000000000000000000000000000001480610af057507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b0319831614610af0565b600182015460009067ffffffffffffffff9081169083161015612540576000610be9565b50505490565b6000610af061255361307e565b836040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6112c08133613105565b8051600090600790810b4290910b12156125d557506000919050565b60006125e483600001516130f9565b905060008360200151826125f891906144a1565b90508360400151846020015161260e9190614480565b67ffffffffffffffff908116911610159392505050565b61262f8282613185565b6000828152609760205260409020610dd59082613227565b612651828261323c565b6000828152609760205260409020610dd590826132bf565b60008060006126818486600001518760200151610b6f565b9050600061269c8660400151836132d490919063ffffffff16565b905060006126ab600187614480565b6020808901516001600160a01b038516600090815260fd9092526040909120919250906126d890836128b8565b1015612755576020808801516001600160a01b038416600090815260fd909252604090912083919061270a90846128b8565b6040517f36b24c140000000000000000000000000000000000000000000000000000000081526001600160a01b039093166004840152602483019190915260448201526064016108c2565b509590945092505050565b600061276d846001614171565b90506127898161278060208a018a613efe565b60fe91906132f8565b6001600160a01b038616600090815260fd602052604090206127ac9086866133e8565b8461010560008282546127bf91906144c8565b90915550600090506127d46020890189613efe565b6040805167ffffffffffffffff8581168252878116602083015286168183015290516001600160a01b0392909216916000917fb59adc820ca642dad493a0a6e0bdf979dcae037dea114b70d5c66b1c0b791c4b919081900360600190a461283e6020880188613efe565b6040805167ffffffffffffffff848116825260208b8101359083015281830189905286811660608301528516608082015290516001600160a01b03928316928916918b1515917f7f5bdabbd27a8fc572781b177055488d7c6729a2bade4f57da9d200f31c15d479181900360a00190a45050505050505050565b60006128c4838361251c565b8354610be991906144db565b6040516001600160a01b038316602482015260448101829052610dd59084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b031990931692909217909152613462565b6000610be98383613547565b600054610100900460ff166129ea5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108c2565b565b600054610100900460ff16612a695760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108c2565b610e628282613571565b612a8360608201604083016140cf565b67ffffffffffffffff16600003612ac6576040517f047bad5200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b62015180612ada60408301602084016140cf565b67ffffffffffffffff161115612b3957612afa60408201602083016140cf565b6040517fc34a76cf00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff90911660048201526024016108c2565b612b4960408201602083016140cf565b67ffffffffffffffff16612b6360608301604084016140cf565b612b7360808401606085016140cf565b612b7d9190614171565b67ffffffffffffffff161115612bbf576040517f326de36000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80610104612bcd82826144ee565b507f982cfb73783b8c64455c76cdeb1351467c4f1e6b3615fec07df232c1b46ffd479050612c0361222b36849003840184614363565b612c1060208401846142ca565b612c2060408501602086016140cf565b612c3060608601604087016140cf565b612c4060808701606088016140cf565b6040805167ffffffffffffffff968716815260079590950b6020860152928516848401529084166060840152909216608082015290519081900360a00190a150565b612c8c8484612625565b612c968282612625565b612ca08483613608565b50505050565b8154600003612cc857604051631f2a200560e01b815260040160405180910390fd5b67fffffffffffffffe1967ffffffffffffffff821601612d14576040517f3d89ddde00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600182015467ffffffffffffffff90811614612d5c576040517f04eb6b3f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600191909101805467ffffffffffffffff191667ffffffffffffffff909216919091179055565b80600003612da457604051631f2a200560e01b815260040160405180910390fd5b600182015467ffffffffffffffff90811614612dd85760018201805467ffffffffffffffff191667ffffffffffffffff1790555b80826000016000828254612dec91906144c8565b90915550505050565b6040516001600160a01b0380851660248301528316604482015260648101829052612ca09085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401612915565b600067fffffffffffffffe1967ffffffffffffffff831601612e94576040517f3d89ddde00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612ea0848461251c565b905080600003612edc576040517fd0d04f6000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008455905092915050565b6000610af0825490565b60008080838101905060008460010154825467ffffffffffffffff600160a01b92839004811692909104161015612f2c5750506001808401905b9094909350915050565b8151600090600790810b4290910b1215612f5257506000610af0565b6000612f5d84612348565b9050612f6a816001614171565b67ffffffffffffffff168367ffffffffffffffff1610612f8e576000915050610af0565b6000612f9d85600001516130f9565b90506000856020015182612fb191906144a1565b9050856060015186604001518760200151612fcc9190614480565b612fd69190614480565b67ffffffffffffffff9081169116101595945050505050565b6101035481101561303b57610103546040517fda4f272e0000000000000000000000000000000000000000000000000000000081526108c2918391600401918252602082015260400190565b6101025460408051918252602082018390527f9725e37e079c5bda6009a8f54d86265849f30acf61c630f9e1ac91e67de98794910160405180910390a161010255565b6000610dab7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6130ad60c95490565b60ca546040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b6000610af082426145e4565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e6257613143816001600160a01b03166014613653565b61314e836020613653565b60405160200161315f929190614637565b60408051601f198184030181529082905262461bcd60e51b82526108c2916004016146b8565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e625760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556131e33390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610be9836001600160a01b03841661387c565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1615610e625760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610be9836001600160a01b0384166138cb565b60008060006132e385856139c5565b915091506132f081613a07565b509392505050565b60008061330485612ef2565b8154919350915067ffffffffffffffff808616600160a01b9092041610613363576040517f451f873400000000000000000000000000000000000000000000000000000000815267ffffffffffffffff851660048201526024016108c2565b604080518082019091526001600160a01b038416815267ffffffffffffffff8516602082015260018218908660ff8316600281106133a3576133a3614145565b82519101805460209093015167ffffffffffffffff16600160a01b026001600160e01b03199093166001600160a01b0390921691909117919091179055505050505050565b60006133f484836128b8565b905080158061340257508281105b15613443576040517fcf47918100000000000000000000000000000000000000000000000000000000815260048101849052602481018290526044016108c2565b8284600001600082825461345791906144db565b909155505050505050565b60006134b7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613bf39092919063ffffffff16565b805190915015610dd557808060200190518101906134d591906146eb565b610dd55760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016108c2565b600082600001828154811061355e5761355e614145565b9060005260206000200154905092915050565b600054610100900460ff166135ee5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108c2565b81516020928301208151919092012060c99190915560ca55565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b6060600061366283600261470d565b61366d9060026144c8565b67ffffffffffffffff81111561368557613685614192565b6040519080825280601f01601f1916602001820160405280156136af576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106136e6576136e6614145565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061374957613749614145565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600061378584600261470d565b6137909060016144c8565b90505b600181111561382d577f303132333435363738396162636465660000000000000000000000000000000085600f16601081106137d1576137d1614145565b1a60f81b8282815181106137e7576137e7614145565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361382681614724565b9050613793565b508315610be95760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016108c2565b60008181526001830160205260408120546138c357508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610af0565b506000610af0565b600081815260018301602052604081205480156139b45760006138ef6001836144db565b8554909150600090613903906001906144db565b905081811461396857600086600001828154811061392357613923614145565b906000526020600020015490508087600001848154811061394657613946614145565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061397957613979614759565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610af0565b6000915050610af0565b5092915050565b60008082516041036139fb5760208301516040840151606085015160001a6139ef87828585613c02565b945094505050506124ae565b506000905060026124ae565b6000816004811115613a1b57613a1b61476f565b03613a235750565b6001816004811115613a3757613a3761476f565b03613a845760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016108c2565b6002816004811115613a9857613a9861476f565b03613ae55760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016108c2565b6003816004811115613af957613af961476f565b03613b6c5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f756500000000000000000000000000000000000000000000000000000000000060648201526084016108c2565b6004816004811115613b8057613b8061476f565b036112c05760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c60448201527f756500000000000000000000000000000000000000000000000000000000000060648201526084016108c2565b6060610be68484600085613cef565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115613c395750600090506003613ce6565b8460ff16601b14158015613c5157508460ff16601c14155b15613c625750600090506004613ce6565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015613cb6573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116613cdf57600060019250925050613ce6565b9150600090505b94509492505050565b606082471015613d675760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016108c2565b6001600160a01b0385163b613dbe5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016108c2565b600080866001600160a01b03168587604051613dda9190614785565b60006040518083038185875af1925050503d8060008114613e17576040519150601f19603f3d011682016040523d82523d6000602084013e613e1c565b606091505b5091509150613e2c828286613e37565b979650505050505050565b60608315613e46575081610be9565b825115613e565782518084602001fd5b8160405162461bcd60e51b81526004016108c291906146b8565b67ffffffffffffffff811681146112c057600080fd5b6001600160a01b03811681146112c057600080fd5b60008060408385031215613eae57600080fd5b8235613eb981613e70565b91506020830135613ec981613e86565b809150509250929050565b600060208284031215613ee657600080fd5b81356001600160e01b031981168114610be957600080fd5b600060208284031215613f1057600080fd5b8135610be981613e86565b600080600060608486031215613f3057600080fd5b8335613f3b81613e70565b92506020840135613f4b81613e86565b929592945050506040919091013590565b82516001600160a01b0316815260208084015167ffffffffffffffff16908201526080810182516001600160a01b03166040830152602083015167ffffffffffffffff166060830152610be9565b600060208284031215613fbc57600080fd5b5035919050565b60008060408385031215613fd657600080fd5b823591506020830135613ec981613e86565b600060608284031215613ffa57600080fd5b50919050565b6000806040838503121561401357600080fd5b823567ffffffffffffffff8082111561402b57600080fd5b61403786838701613fe8565b9350602085013591508082111561404d57600080fd5b5061405a85828601613fe8565b9150509250929050565b6000806040838503121561407757600080fd5b823561408281613e86565b91506020830135613ec981613e70565b6000602082840312156140a457600080fd5b813567ffffffffffffffff8111156140bb57600080fd5b6140c784828501613fe8565b949350505050565b6000602082840312156140e157600080fd5b8135610be981613e70565b600080604083850312156140ff57600080fd5b50508035926020909101359150565b60006101e08284031215613ffa57600080fd5b600060408284031215613ffa57600080fd5b600060808284031215613ffa57600080fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b67ffffffffffffffff8181168382160190808211156139be576139be61415b565b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff811182821017156141cb576141cb614192565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156141fa576141fa614192565b604052919050565b60006060823603121561421457600080fd5b61421c6141a8565b823561422781613e86565b815260208381013581830152604084013567ffffffffffffffff8082111561424e57600080fd5b9085019036601f83011261426157600080fd5b81358181111561427357614273614192565b61428584601f19601f840116016141d1565b9150808252368482850101111561429b57600080fd5b808484018584013760009082019093019290925250604082015292915050565b8060070b81146112c057600080fd5b6000602082840312156142dc57600080fd5b8135610be9816142bb565b81356142f281613e86565b6001600160a01b038116905081548173ffffffffffffffffffffffffffffffffffffffff198216178355602084013561432a81613e70565b7bffffffffffffffff00000000000000000000000000000000000000008160a01b16836001600160e01b03198416171784555050505050565b60006080828403121561437557600080fd5b6040516080810181811067ffffffffffffffff8211171561439857614398614192565b60405282356143a6816142bb565b815260208301356143b681613e70565b602082015260408301356143c981613e70565b604082015260608301356143dc81613e70565b60608201529392505050565b634e487b7160e01b600052601260045260246000fd5b600067ffffffffffffffff80841680614419576144196143e8565b92169190910492915050565b67ffffffffffffffff8181168382160280821691908281146144495761444961415b565b505092915050565b600781810b9083900b01677fffffffffffffff8113677fffffffffffffff1982121715610af057610af061415b565b67ffffffffffffffff8281168282160390808211156139be576139be61415b565b600067ffffffffffffffff808416806144bc576144bc6143e8565b92169190910692915050565b80820180821115610af057610af061415b565b81810381811115610af057610af061415b565b81356144f9816142bb565b815467ffffffffffffffff82811667ffffffffffffffff198316178455602085013561452481613e70565b6fffffffffffffffff0000000000000000604091821b16919093167fffffffffffffffffffffffffffffffff000000000000000000000000000000008316811782178555928501359061457682613e70565b77ffffffffffffffff000000000000000000000000000000008260801b1691507fffffffffffffffff0000000000000000000000000000000000000000000000008285828616178317178655606087013593506145d284613e70565b93171760c09190911b90911617905550565b600782810b9082900b03677fffffffffffffff198112677fffffffffffffff82131715610af057610af061415b565b60005b8381101561462e578181015183820152602001614616565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161466f816017850160208801614613565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516146ac816028840160208801614613565b01602801949350505050565b60208152600082518060208401526146d7816040850160208701614613565b601f01601f19169190910160400192915050565b6000602082840312156146fd57600080fd5b81518015158114610be957600080fd5b8082028115828204841417610af057610af061415b565b6000816147335761473361415b565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052602160045260246000fd5b60008251614797818460208701614613565b919091019291505056fea2646970667358221220d28e36b250079b8bbd5de3a12e920ff46340db4c2ca3fd06c26dc1cd2796c9f264736f6c63430008110033",
1598
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106103145760003560e01c80637b617f94116101a7578063c5b6aa2f116100ee578063e2fc6f6811610097578063e4d20c1d11610071578063e4d20c1d146107de578063f698da25146107f1578063fed87be8146107f957600080fd5b8063e2fc6f68146107a5578063e3f7bb55146107af578063e460d2c5146107d657600080fd5b8063cfe9232b116100c8578063cfe9232b14610761578063d547741f14610788578063db2e1eed1461079b57600080fd5b8063c5b6aa2f14610733578063ca15c8731461073b578063ce9c7c0d1461074e57600080fd5b80639a1fadd311610150578063b51d1d4f1161012a578063b51d1d4f14610705578063b6b55f251461070d578063bef0ec741461072057600080fd5b80639a1fadd3146106c3578063a217fddf146106d6578063b3ee252f146106de57600080fd5b80638a19c8bc116101815780638a19c8bc146106565780639010d07c1461067757806391d148541461068a57600080fd5b80637b617f94146105f157806383af0a1f146106255780638948cc4e1461062f57600080fd5b80632f2ff15d1161026b578063639d7566116102145780636dc4fc4e116101ee5780636dc4fc4e146105b85780636e8cace5146105cb57806370a08231146105de57600080fd5b8063639d7566146105375780636a514beb1461054b5780636ad72517146105b057600080fd5b806338af3eed1161024557806338af3eed146104e5578063447a709e146105115780635633c3371461052457600080fd5b80632f2ff15d14610498578063336a5b5e146104ab57806336568abe146104d257600080fd5b80630d253fbe116102cd5780631c31f710116102a75780631c31f7101461045a578063248a9ca31461046d5780632d668ce71461049057600080fd5b80630d253fbe146103f657806314d963161461040c5780631682e50b1461043357600080fd5b806301ffc9a7116102fe57806301ffc9a71461039f57806302b62938146103c257806304c584ad146103e357600080fd5b80627be2fe146103195780630152682d1461032e575b600080fd5b61032c610327366004613e9b565b61080c565b005b6101045461036590600781900b9067ffffffffffffffff600160401b8204811691600160801b8104821691600160c01b9091041684565b6040805160079590950b855267ffffffffffffffff9384166020860152918316918401919091521660608201526080015b60405180910390f35b6103b26103ad366004613ed4565b610ab2565b6040519015158152602001610396565b6103d56103d0366004613efe565b610af6565b604051908152602001610396565b6103d56103f1366004613f1b565b610b6f565b6103fe610bf0565b604051610396929190613f5c565b6103d57f3fb9f0655b78e8eabe9e0f51d65db56c7690d4329012c3faf1fbd6d43f65826181565b6103d57f6d8dad7188c7ed005c55bf77fbf589583d8668b0dad30a9b9dd016321a5c256f81565b61032c610468366004613efe565b610cb1565b6103d561047b366004613faa565b60009081526065602052604090206001015490565b6103b2610d54565b61032c6104a6366004613fc3565b610db0565b6103d57fc1b97c934675624ef2089089ac12ae8922988c11dc8a578dfbac10d9eecf476181565b61032c6104e0366004613fc3565b610dda565b610100546104f9906001600160a01b031681565b6040516001600160a01b039091168152602001610396565b61032c61051f366004614000565b610e66565b6103d5610532366004614064565b611145565b610101546104f9906001600160a01b031681565b610588610559366004613efe565b610106602052600090815260409020546001600160a01b03811690600160a01b900467ffffffffffffffff1682565b604080516001600160a01b03909316835267ffffffffffffffff909116602083015201610396565b61032c611275565b61032c6105c6366004614092565b6112c3565b6103d56105d9366004614064565b61142b565b6103d56105ec366004613efe565b611515565b6106046105ff3660046140cf565b61158e565b6040805167ffffffffffffffff938416815292909116602083015201610396565b6103d56101035481565b6103d57fb07567e7223e21f7dce4c0a89131ce9c32d0d3484085f3f331dea8caef56d14181565b61065e6115f1565b60405167ffffffffffffffff9091168152602001610396565b6104f96106853660046140ec565b611648565b6103b2610698366004613fc3565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b61032c6106d136600461410e565b611660565b6103d5600081565b6103d57f19e6f23df7275b48d1c33822c6ad041a743378552246ac819f578ae1d6709cf981565b61032c611c2b565b61032c61071b366004613faa565b611cf3565b61032c61072e366004614121565b611d5e565b61032c611ec4565b6103d5610749366004613faa565b611f81565b61032c61075c366004613faa565b611f98565b6103d57f1d693f62a755e2b3c6494da41af454605b9006057cb3c79b6adda1378f2a50a781565b61032c610796366004613fc3565b612070565b6103d56101025481565b6103d56101055481565b6103d57fa8131bb4589277d6866d942849029b416b39e61eb3969a32787130bbdd292a9681565b6103b2612095565b61032c6107ec366004613faa565b61210a565b6103d561218b565b61032c610807366004614133565b612195565b6040805160808101825261010454600781900b825267ffffffffffffffff600160401b820481166020840152600160801b8204811693830193909352600160c01b90049091166060820152600061086282612348565b90508067ffffffffffffffff168467ffffffffffffffff1610156108cb576040517f395f4fd600000000000000000000000000000000000000000000000000000000815267ffffffffffffffff8086166004830152821660248201526044015b60405180910390fd5b60006108d860fe8661237e565b80546001600160a01b039081166000818152610106602052604090205492935091168015610968576001600160a01b0381163314610963576040517f7621d94a00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff881660048201526001600160a01b03821660248201523360448201526064016108c2565b6109cb565b6001600160a01b03821633146109cb576040517f660af6d200000000000000000000000000000000000000000000000000000000815267ffffffffffffffff881660048201526001600160a01b03831660248201523360448201526064016108c2565b825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0387161783556000806109fe878a61241d565b90925090506001600160a01b038316610a175783610a19565b825b6001600160a01b0316886001600160a01b0316856001600160a01b03167fb59adc820ca642dad493a0a6e0bdf979dcae037dea114b70d5c66b1c0b791c4b8c4267ffffffffffffffff168767ffffffffffffffff1610610a795786610a7b565b425b6040805167ffffffffffffffff938416815291831660208301529187168183015290519081900360600190a4505050505050505050565b60006001600160e01b031982167f5a05180f000000000000000000000000000000000000000000000000000000001480610af05750610af0826124b5565b92915050565b6040805160808101825261010454600781900b825267ffffffffffffffff600160401b820481166020840152600160801b8204811693830193909352600160c01b90049091166060820152600090610af090610b5190612348565b6001600160a01b038416600090815260fd602052604090209061251c565b604080517f0358b2b705d5c5ef47651be44f418326852a390f3b4c933661a5f4f0d8fa1ee3602082015267ffffffffffffffff8516918101919091526001600160a01b038316606082015260808101829052600090610be69060a00160405160208183030381529060405280519060200120612546565b90505b9392505050565b6040805180820190915260008082526020820152604080518082019091526000808252602082015260fe60010154600160a01b900467ffffffffffffffff1660fe60000154600160a01b900467ffffffffffffffff1611610c545760ff60fe610c59565b60fe60ff5b60408051808201825292546001600160a01b03808216855267ffffffffffffffff600160a01b928390048116602080880191909152845180860190955294549182168452919004169181019190915290939092509050565b7fc1b97c934675624ef2089089ac12ae8922988c11dc8a578dfbac10d9eecf4761610cdb816125af565b61010054604080516001600160a01b03928316815291841660208301527f8a0149b2f3ddf2c9ee85738165131d82babbb938f749321d59f75750afa7f4e6910160405180910390a150610100805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6040805160808101825261010454600781900b825267ffffffffffffffff600160401b820481166020840152600160801b8204811693830193909352600160c01b90049091166060820152600090610dab906125b9565b905090565b600082815260656020526040902060010154610dcb816125af565b610dd58383612625565b505050565b6001600160a01b0381163314610e585760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084016108c2565b610e628282612647565b5050565b7f1d693f62a755e2b3c6494da41af454605b9006057cb3c79b6adda1378f2a50a7610e90816125af565b6040805160808101825261010454600781900b825267ffffffffffffffff600160401b820481166020840152600160801b8204811693830193909352600160c01b90049091166060820152610ee4816125b9565b610f1a576040517fb9adeefd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b826020013584602001351015610f5c576040517fa234cb1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6101025483602001351015610faf57610102546040517f56f9b75a0000000000000000000000000000000000000000000000000000000081526020850135600482015260248101919091526044016108c2565b6000610fba82612348565b90506000610fc9826001614171565b9050600080610fe0610fda89614202565b84612669565b91509150600080610ffa89610ff490614202565b86612669565b91509150816001600160a01b0316846001600160a01b031603611049576040517ff4a3e48500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b88602001358a602001351480156110db57506040516bffffffffffffffffffffffff19606084901b1660208201526034810182905260540160408051808303601f190181529082905280516020918201206bffffffffffffffffffffffff19606088901b169183019190915260348201859052906054016040516020818303038152906040528051906020012060001c105b15611112576040517f9185a0ae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008061111f898861241d565b9150915061113760018d888e602001358c8787612760565b505050505050505050505050565b6040805160808101825261010454600781900b825267ffffffffffffffff600160401b820481166020840152600160801b8204811693830193909352600160c01b9004909116606082015260009061119c90612348565b67ffffffffffffffff168267ffffffffffffffff161015611253576040805160808101825261010454600781900b825267ffffffffffffffff600160401b820481166020840152600160801b8204811693830193909352600160c01b90049091166060820152829061120d90612348565b6040517f395f4fd600000000000000000000000000000000000000000000000000000000815267ffffffffffffffff9283166004820152911660248201526044016108c2565b6001600160a01b038316600090815260fd60205260409020610be990836128b8565b61010554600081900361129b57604051631f2a200560e01b815260040160405180910390fd5b60006101055561010054610101546112c0916001600160a01b039182169116836128d0565b50565b7f1d693f62a755e2b3c6494da41af454605b9006057cb3c79b6adda1378f2a50a76112ed816125af565b6040805160808101825261010454600781900b825267ffffffffffffffff600160401b820481166020840152600160801b8204811693830193909352600160c01b90049091166060820152611341816125b9565b611377576040517fb9adeefd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61010254836020013510156113ca57610102546040517f56f9b75a0000000000000000000000000000000000000000000000000000000081526020850135600482015260248101919091526044016108c2565b60006113d582612348565b905060006113e4826001614171565b905060006113fa6113f487614202565b83612669565b50905060008061140a868561241d565b915091506114216000898561010254898787612760565b5050505050505050565b6040805160808101825261010454600781900b825267ffffffffffffffff600160401b820481166020840152600160801b8204811693830193909352600160c01b9004909116606082015260009061148290612348565b67ffffffffffffffff168267ffffffffffffffff1610156114f3576040805160808101825261010454600781900b825267ffffffffffffffff600160401b820481166020840152600160801b8204811693830193909352600160c01b90049091166060820152829061120d90612348565b6001600160a01b038316600090815260fd60205260409020610be9908361251c565b6040805160808101825261010454600781900b825267ffffffffffffffff600160401b820481166020840152600160801b8204811693830193909352600160c01b90049091166060820152600090610af09061157090612348565b6001600160a01b038416600090815260fd60205260409020906128b8565b6040805160808101825261010454600781900b825267ffffffffffffffff600160401b820481166020840152600160801b8204811693830193909352600160c01b9004909116606082015260009081906115e8908461241d565b91509150915091565b6040805160808101825261010454600781900b825267ffffffffffffffff600160401b820481166020840152600160801b8204811693830193909352600160c01b90049091166060820152600090610dab90612348565b6000828152609760205260408120610be99083612961565b600054610100900460ff16158080156116805750600054600160ff909116105b8061169a5750303b15801561169a575060005460ff166001145b61170c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016108c2565b6000805460ff19166001179055801561172f576000805461ff0019166101001790555b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036117cd5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016108c2565b6117d561296d565b6118496040518060400160405280601281526020017f457870726573734c616e6541756374696f6e00000000000000000000000000008152506040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506129ec565b600061185b6040840160208501613efe565b6001600160a01b03160361189b576040517f3fb3c7af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6118ab6040830160208401613efe565b610101805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03929092169190911790556118e96060830160408401613efe565b610100805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03929092169190911790557f8a0149b2f3ddf2c9ee85738165131d82babbb938f749321d59f75750afa7f4e6600061194a6060850160408601613efe565b604080516001600160a01b0393841681529290911660208301520160405180910390a160e0820135610103819055604080516000815260208101929092527f5848068f11aa3ba9fe3fc33c5f9f2a3cd1aed67986b85b5e0cedc67dbe96f0f0910160405180910390a160e0820135610102819055604080516000815260208101929092527f9725e37e079c5bda6009a8f54d86265849f30acf61c630f9e1ac91e67de98794910160405180910390a16000611a0b60808401606085016142ca565b60070b1215611a46576040517f16f46dfe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611a5282606001612a73565b611a6e6000611a696101e085016101c08601613efe565b612625565b611aa47fb07567e7223e21f7dce4c0a89131ce9c32d0d3484085f3f331dea8caef56d141611a6961014085016101208601613efe565b611ada7fc1b97c934675624ef2089089ac12ae8922988c11dc8a578dfbac10d9eecf4761611a696101a085016101808601613efe565b611b437f1d693f62a755e2b3c6494da41af454605b9006057cb3c79b6adda1378f2a50a7611b0b6020850185613efe565b7f3fb9f0655b78e8eabe9e0f51d65db56c7690d4329012c3faf1fbd6d43f658261611b3e61012087016101008801613efe565b612c82565b611bac7f19e6f23df7275b48d1c33822c6ad041a743378552246ac819f578ae1d6709cf9611b7961016085016101408601613efe565b7fa8131bb4589277d6866d942849029b416b39e61eb3969a32787130bbdd292a96611b3e61018087016101608801613efe565b611be27f6d8dad7188c7ed005c55bf77fbf589583d8668b0dad30a9b9dd016321a5c256f611a696101c085016101a08601613efe565b8015610e62576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6040805160808101825261010454600781900b825267ffffffffffffffff600160401b820481166020840152600160801b8204811693830193909352600160c01b90049091166060820152600090611c8290612348565b611c8d906002614171565b33600090815260fd602052604090208054919250611cab9083612ca6565b6040805182815267ffffffffffffffff8416602082015233917f31f69201fab7912e3ec9850e3ab705964bf46d9d4276bdcbb6d05e965e5f5401910160405180910390a25050565b33600090815260fd60205260409020611d0c9082612d83565b61010154611d25906001600160a01b0316333084612df5565b60405181815233907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c906020015b60405180910390a250565b3360009081526101066020526040902080546001600160a01b031615801590611df157506040805160808101825261010454600781900b825267ffffffffffffffff600160401b820481166020840152600160801b8204811693830193909352600160c01b90049091166060820152611dd690612348565b815467ffffffffffffffff918216600160a01b909104909116115b15611e3d5780546040517f75d899f2000000000000000000000000000000000000000000000000000000008152600160a01b90910467ffffffffffffffff1660048201526024016108c2565b336000908152610106602052604090208290611e5982826142e7565b50611e6990506020830183613efe565b6001600160a01b0316337ff6d28df235d9fa45a42d45dbb7c4f4ac76edb51e528f09f25a0650d32b8b33c0611ea460408601602087016140cf565b60405167ffffffffffffffff909116815260200160405180910390a35050565b6040805160808101825261010454600781900b825267ffffffffffffffff600160401b820481166020840152600160801b8204811693830193909352600160c01b90049091166060820152600090611f3490611f1f90612348565b33600090815260fd6020526040902090612e46565b61010154909150611f4f906001600160a01b031633836128d0565b60405181815233907f9e5c4f9f4e46b8629d3dda85f43a69194f50254404a72dc62b9e932d9c94eda890602001611d53565b6000818152609760205260408120610af090612ee8565b7f19e6f23df7275b48d1c33822c6ad041a743378552246ac819f578ae1d6709cf9611fc2816125af565b6000611fce60fe612ef2565b5080546040805160808101825261010454600781900b825267ffffffffffffffff600160401b820481166020840152600160801b8204811693830193909352600160c01b9004821660608201529293506120309291600160a01b900416612f36565b15612067576040517f4f00697800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610dd583612fef565b60008281526065602052604090206001015461208b816125af565b610dd58383612647565b6000806120a260fe612ef2565b5080546040805160808101825261010454600781900b825267ffffffffffffffff600160401b820481166020840152600160801b8204811693830193909352600160c01b9004821660608201529293506121049291600160a01b900416612f36565b91505090565b7fb07567e7223e21f7dce4c0a89131ce9c32d0d3484085f3f331dea8caef56d141612134816125af565b6101035460408051918252602082018490527f5848068f11aa3ba9fe3fc33c5f9f2a3cd1aed67986b85b5e0cedc67dbe96f0f0910160405180910390a161010382905561010254821115610e6257610e6282612fef565b6000610dab61307e565b7f6d8dad7188c7ed005c55bf77fbf589583d8668b0dad30a9b9dd016321a5c256f6121bf816125af565b6040805160808101825261010454600781900b825267ffffffffffffffff600160401b820481166020840152600160801b8204811693830193909352600160c01b90049091166060820152600061221582612348565b9050600061223061222b36879003870187614363565b612348565b90508067ffffffffffffffff168267ffffffffffffffff1614612293576040517f68c18ca900000000000000000000000000000000000000000000000000000000815267ffffffffffffffff8084166004830152821660248201526044016108c2565b60006122aa6122a3846001614171565b859061241d565b50905060006122d26122bd846001614171565b6122cc368a90038a018a614363565b9061241d565b5090508067ffffffffffffffff168267ffffffffffffffff1614612336576040517fa0e269d800000000000000000000000000000000000000000000000000000000815267ffffffffffffffff8084166004830152821660248201526044016108c2565b61233f87612a73565b50505050505050565b8051600090600790810b4290910b121561236457506000919050565b60208201518251612374906130f9565b610af091906143fe565b600067ffffffffffffffff821683820154600160a01b900467ffffffffffffffff16036123b1578260005b019050610af0565b67ffffffffffffffff82168360010154600160a01b900467ffffffffffffffff16036123df578260016123a9565b6040517ffbb052d800000000000000000000000000000000000000000000000000000000815267ffffffffffffffff831660048201526024016108c2565b60008060008385602001516124329190614425565b855161243e9190614451565b905060008160070b1215612484576040517ff160ad79000000000000000000000000000000000000000000000000000000008152600782900b60048201526024016108c2565b6020850151819060009060019061249b9084614171565b6124a59190614480565b91945090925050505b9250929050565b60006001600160e01b031982167f7965db0b000000000000000000000000000000000000000000000000000000001480610af057507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b0319831614610af0565b600182015460009067ffffffffffffffff9081169083161015612540576000610be9565b50505490565b6000610af061255361307e565b836040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6112c08133613105565b8051600090600790810b4290910b12156125d557506000919050565b60006125e483600001516130f9565b905060008360200151826125f891906144a1565b90508360400151846020015161260e9190614480565b67ffffffffffffffff908116911610159392505050565b61262f8282613185565b6000828152609760205260409020610dd59082613227565b612651828261323c565b6000828152609760205260409020610dd590826132bf565b60008060006126818486600001518760200151610b6f565b9050600061269c8660400151836132d490919063ffffffff16565b905060006126ab600187614480565b6020808901516001600160a01b038516600090815260fd9092526040909120919250906126d890836128b8565b1015612755576020808801516001600160a01b038416600090815260fd909252604090912083919061270a90846128b8565b6040517f36b24c140000000000000000000000000000000000000000000000000000000081526001600160a01b039093166004840152602483019190915260448201526064016108c2565b509590945092505050565b600061276d846001614171565b90506127898161278060208a018a613efe565b60fe91906132f8565b6001600160a01b038616600090815260fd602052604090206127ac9086866133e8565b8461010560008282546127bf91906144c8565b90915550600090506127d46020890189613efe565b6040805167ffffffffffffffff8581168252878116602083015286168183015290516001600160a01b0392909216916000917fb59adc820ca642dad493a0a6e0bdf979dcae037dea114b70d5c66b1c0b791c4b919081900360600190a461283e6020880188613efe565b6040805167ffffffffffffffff848116825260208b8101359083015281830189905286811660608301528516608082015290516001600160a01b03928316928916918b1515917f7f5bdabbd27a8fc572781b177055488d7c6729a2bade4f57da9d200f31c15d479181900360a00190a45050505050505050565b60006128c4838361251c565b8354610be991906144db565b6040516001600160a01b038316602482015260448101829052610dd59084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b031990931692909217909152613462565b6000610be98383613547565b600054610100900460ff166129ea5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108c2565b565b600054610100900460ff16612a695760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108c2565b610e628282613571565b612a8360608201604083016140cf565b67ffffffffffffffff16600003612ac6576040517f047bad5200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b62015180612ada60408301602084016140cf565b67ffffffffffffffff161115612b3957612afa60408201602083016140cf565b6040517fc34a76cf00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff90911660048201526024016108c2565b612b4960408201602083016140cf565b67ffffffffffffffff16612b6360608301604084016140cf565b612b7360808401606085016140cf565b612b7d9190614171565b67ffffffffffffffff161115612bbf576040517f326de36000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80610104612bcd82826144ee565b507f982cfb73783b8c64455c76cdeb1351467c4f1e6b3615fec07df232c1b46ffd479050612c0361222b36849003840184614363565b612c1060208401846142ca565b612c2060408501602086016140cf565b612c3060608601604087016140cf565b612c4060808701606088016140cf565b6040805167ffffffffffffffff968716815260079590950b6020860152928516848401529084166060840152909216608082015290519081900360a00190a150565b612c8c8484612625565b612c968282612625565b612ca08483613608565b50505050565b8154600003612cc857604051631f2a200560e01b815260040160405180910390fd5b67fffffffffffffffe1967ffffffffffffffff821601612d14576040517f3d89ddde00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600182015467ffffffffffffffff90811614612d5c576040517f04eb6b3f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600191909101805467ffffffffffffffff191667ffffffffffffffff909216919091179055565b80600003612da457604051631f2a200560e01b815260040160405180910390fd5b600182015467ffffffffffffffff90811614612dd85760018201805467ffffffffffffffff191667ffffffffffffffff1790555b80826000016000828254612dec91906144c8565b90915550505050565b6040516001600160a01b0380851660248301528316604482015260648101829052612ca09085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401612915565b600067fffffffffffffffe1967ffffffffffffffff831601612e94576040517f3d89ddde00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612ea0848461251c565b905080600003612edc576040517fd0d04f6000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008455905092915050565b6000610af0825490565b60008080838101905060008460010154825467ffffffffffffffff600160a01b92839004811692909104161015612f2c5750506001808401905b9094909350915050565b8151600090600790810b4290910b1215612f5257506000610af0565b6000612f5d84612348565b9050612f6a816001614171565b67ffffffffffffffff168367ffffffffffffffff1610612f8e576000915050610af0565b6000612f9d85600001516130f9565b90506000856020015182612fb191906144a1565b9050856060015186604001518760200151612fcc9190614480565b612fd69190614480565b67ffffffffffffffff9081169116101595945050505050565b6101035481101561303b57610103546040517fda4f272e0000000000000000000000000000000000000000000000000000000081526108c2918391600401918252602082015260400190565b6101025460408051918252602082018390527f9725e37e079c5bda6009a8f54d86265849f30acf61c630f9e1ac91e67de98794910160405180910390a161010255565b6000610dab7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6130ad60c95490565b60ca546040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b6000610af082426145e4565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e6257613143816001600160a01b03166014613653565b61314e836020613653565b60405160200161315f929190614637565b60408051601f198184030181529082905262461bcd60e51b82526108c2916004016146b8565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e625760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556131e33390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610be9836001600160a01b03841661387c565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1615610e625760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610be9836001600160a01b0384166138cb565b60008060006132e385856139c5565b915091506132f081613a07565b509392505050565b60008061330485612ef2565b8154919350915067ffffffffffffffff808616600160a01b9092041610613363576040517f451f873400000000000000000000000000000000000000000000000000000000815267ffffffffffffffff851660048201526024016108c2565b604080518082019091526001600160a01b038416815267ffffffffffffffff8516602082015260018218908660ff8316600281106133a3576133a3614145565b82519101805460209093015167ffffffffffffffff16600160a01b026001600160e01b03199093166001600160a01b0390921691909117919091179055505050505050565b60006133f484836128b8565b905080158061340257508281105b15613443576040517fcf47918100000000000000000000000000000000000000000000000000000000815260048101849052602481018290526044016108c2565b8284600001600082825461345791906144db565b909155505050505050565b60006134b7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613bf39092919063ffffffff16565b805190915015610dd557808060200190518101906134d591906146eb565b610dd55760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016108c2565b600082600001828154811061355e5761355e614145565b9060005260206000200154905092915050565b600054610100900460ff166135ee5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108c2565b81516020928301208151919092012060c99190915560ca55565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b6060600061366283600261470d565b61366d9060026144c8565b67ffffffffffffffff81111561368557613685614192565b6040519080825280601f01601f1916602001820160405280156136af576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106136e6576136e6614145565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061374957613749614145565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600061378584600261470d565b6137909060016144c8565b90505b600181111561382d577f303132333435363738396162636465660000000000000000000000000000000085600f16601081106137d1576137d1614145565b1a60f81b8282815181106137e7576137e7614145565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361382681614724565b9050613793565b508315610be95760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016108c2565b60008181526001830160205260408120546138c357508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610af0565b506000610af0565b600081815260018301602052604081205480156139b45760006138ef6001836144db565b8554909150600090613903906001906144db565b905081811461396857600086600001828154811061392357613923614145565b906000526020600020015490508087600001848154811061394657613946614145565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061397957613979614759565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610af0565b6000915050610af0565b5092915050565b60008082516041036139fb5760208301516040840151606085015160001a6139ef87828585613c02565b945094505050506124ae565b506000905060026124ae565b6000816004811115613a1b57613a1b61476f565b03613a235750565b6001816004811115613a3757613a3761476f565b03613a845760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016108c2565b6002816004811115613a9857613a9861476f565b03613ae55760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016108c2565b6003816004811115613af957613af961476f565b03613b6c5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f756500000000000000000000000000000000000000000000000000000000000060648201526084016108c2565b6004816004811115613b8057613b8061476f565b036112c05760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c60448201527f756500000000000000000000000000000000000000000000000000000000000060648201526084016108c2565b6060610be68484600085613cef565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115613c395750600090506003613ce6565b8460ff16601b14158015613c5157508460ff16601c14155b15613c625750600090506004613ce6565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015613cb6573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116613cdf57600060019250925050613ce6565b9150600090505b94509492505050565b606082471015613d675760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016108c2565b6001600160a01b0385163b613dbe5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016108c2565b600080866001600160a01b03168587604051613dda9190614785565b60006040518083038185875af1925050503d8060008114613e17576040519150601f19603f3d011682016040523d82523d6000602084013e613e1c565b606091505b5091509150613e2c828286613e37565b979650505050505050565b60608315613e46575081610be9565b825115613e565782518084602001fd5b8160405162461bcd60e51b81526004016108c291906146b8565b67ffffffffffffffff811681146112c057600080fd5b6001600160a01b03811681146112c057600080fd5b60008060408385031215613eae57600080fd5b8235613eb981613e70565b91506020830135613ec981613e86565b809150509250929050565b600060208284031215613ee657600080fd5b81356001600160e01b031981168114610be957600080fd5b600060208284031215613f1057600080fd5b8135610be981613e86565b600080600060608486031215613f3057600080fd5b8335613f3b81613e70565b92506020840135613f4b81613e86565b929592945050506040919091013590565b82516001600160a01b0316815260208084015167ffffffffffffffff16908201526080810182516001600160a01b03166040830152602083015167ffffffffffffffff166060830152610be9565b600060208284031215613fbc57600080fd5b5035919050565b60008060408385031215613fd657600080fd5b823591506020830135613ec981613e86565b600060608284031215613ffa57600080fd5b50919050565b6000806040838503121561401357600080fd5b823567ffffffffffffffff8082111561402b57600080fd5b61403786838701613fe8565b9350602085013591508082111561404d57600080fd5b5061405a85828601613fe8565b9150509250929050565b6000806040838503121561407757600080fd5b823561408281613e86565b91506020830135613ec981613e70565b6000602082840312156140a457600080fd5b813567ffffffffffffffff8111156140bb57600080fd5b6140c784828501613fe8565b949350505050565b6000602082840312156140e157600080fd5b8135610be981613e70565b600080604083850312156140ff57600080fd5b50508035926020909101359150565b60006101e08284031215613ffa57600080fd5b600060408284031215613ffa57600080fd5b600060808284031215613ffa57600080fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b67ffffffffffffffff8181168382160190808211156139be576139be61415b565b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff811182821017156141cb576141cb614192565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156141fa576141fa614192565b604052919050565b60006060823603121561421457600080fd5b61421c6141a8565b823561422781613e86565b815260208381013581830152604084013567ffffffffffffffff8082111561424e57600080fd5b9085019036601f83011261426157600080fd5b81358181111561427357614273614192565b61428584601f19601f840116016141d1565b9150808252368482850101111561429b57600080fd5b808484018584013760009082019093019290925250604082015292915050565b8060070b81146112c057600080fd5b6000602082840312156142dc57600080fd5b8135610be9816142bb565b81356142f281613e86565b6001600160a01b038116905081548173ffffffffffffffffffffffffffffffffffffffff198216178355602084013561432a81613e70565b7bffffffffffffffff00000000000000000000000000000000000000008160a01b16836001600160e01b03198416171784555050505050565b60006080828403121561437557600080fd5b6040516080810181811067ffffffffffffffff8211171561439857614398614192565b60405282356143a6816142bb565b815260208301356143b681613e70565b602082015260408301356143c981613e70565b604082015260608301356143dc81613e70565b60608201529392505050565b634e487b7160e01b600052601260045260246000fd5b600067ffffffffffffffff80841680614419576144196143e8565b92169190910492915050565b67ffffffffffffffff8181168382160280821691908281146144495761444961415b565b505092915050565b600781810b9083900b01677fffffffffffffff8113677fffffffffffffff1982121715610af057610af061415b565b67ffffffffffffffff8281168282160390808211156139be576139be61415b565b600067ffffffffffffffff808416806144bc576144bc6143e8565b92169190910692915050565b80820180821115610af057610af061415b565b81810381811115610af057610af061415b565b81356144f9816142bb565b815467ffffffffffffffff82811667ffffffffffffffff198316178455602085013561452481613e70565b6fffffffffffffffff0000000000000000604091821b16919093167fffffffffffffffffffffffffffffffff000000000000000000000000000000008316811782178555928501359061457682613e70565b77ffffffffffffffff000000000000000000000000000000008260801b1691507fffffffffffffffff0000000000000000000000000000000000000000000000008285828616178317178655606087013593506145d284613e70565b93171760c09190911b90911617905550565b600782810b9082900b03677fffffffffffffff198112677fffffffffffffff82131715610af057610af061415b565b60005b8381101561462e578181015183820152602001614616565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161466f816017850160208801614613565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516146ac816028840160208801614613565b01602801949350505050565b60208152600082518060208401526146d7816040850160208701614613565b601f01601f19169190910160400192915050565b6000602082840312156146fd57600080fd5b81518015158114610be957600080fd5b8082028115828204841417610af057610af061415b565b6000816147335761473361415b565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052602160045260246000fd5b60008251614797818460208701614613565b919091019291505056fea2646970667358221220d28e36b250079b8bbd5de3a12e920ff46340db4c2ca3fd06c26dc1cd2796c9f264736f6c63430008110033",
1599
+ "linkReferences": {},
1600
+ "deployedLinkReferences": {}
1601
+ }