@wireio/stake 2.5.2 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/lib/stake.browser.js +28102 -730
  2. package/lib/stake.browser.js.map +1 -1
  3. package/lib/stake.d.ts +53 -11
  4. package/lib/stake.js +28126 -730
  5. package/lib/stake.js.map +1 -1
  6. package/lib/stake.m.js +28102 -730
  7. package/lib/stake.m.js.map +1 -1
  8. package/package.json +2 -2
  9. package/src/assets/ethereum/hoodi/common/Base58.sol/Base58.dbg.json +4 -0
  10. package/src/assets/ethereum/hoodi/common/Base58.sol/Base58.json +164 -0
  11. package/src/assets/ethereum/hoodi/common/OpenZepArtifacts.sol/__Dummy_OZ_UUPS__.dbg.json +4 -0
  12. package/src/assets/ethereum/hoodi/common/OpenZepArtifacts.sol/__Dummy_OZ_UUPS__.json +76 -0
  13. package/src/assets/ethereum/hoodi/common/RestrictedCallers.sol/RestrictedCallers.dbg.json +4 -0
  14. package/src/assets/ethereum/hoodi/common/RestrictedCallers.sol/RestrictedCallers.json +10 -0
  15. package/src/assets/ethereum/hoodi/common/iodata.sol/iodata.dbg.json +4 -0
  16. package/src/assets/ethereum/hoodi/common/iodata.sol/iodata.json +618 -0
  17. package/src/assets/ethereum/hoodi/common/iodata_util.sol/iodata_util.dbg.json +4 -0
  18. package/src/assets/ethereum/hoodi/common/iodata_util.sol/iodata_util.json +40 -0
  19. package/src/assets/ethereum/hoodi/common/sysio_data.sol/sysio_data.dbg.json +4 -0
  20. package/src/assets/ethereum/hoodi/common/sysio_data.sol/sysio_data.json +10 -0
  21. package/src/assets/ethereum/hoodi/common/sysio_errors.sol/sysio_errors.dbg.json +4 -0
  22. package/src/assets/ethereum/hoodi/common/sysio_errors.sol/sysio_errors.json +10 -0
  23. package/src/assets/ethereum/hoodi/common/sysio_merkle.sol/sysio_merkle.dbg.json +4 -0
  24. package/src/assets/ethereum/hoodi/common/sysio_merkle.sol/sysio_merkle.json +233 -0
  25. package/src/assets/ethereum/hoodi/common/sysio_name.sol/sysio_name.dbg.json +4 -0
  26. package/src/assets/ethereum/hoodi/common/sysio_name.sol/sysio_name.json +49 -0
  27. package/src/assets/ethereum/hoodi/common/sysio_pubkey.sol/sysio_pubkey.dbg.json +4 -0
  28. package/src/assets/ethereum/hoodi/common/sysio_pubkey.sol/sysio_pubkey.json +64 -0
  29. package/src/assets/ethereum/hoodi/common/sysio_read.sol/sysio_read.dbg.json +4 -0
  30. package/src/assets/ethereum/hoodi/common/sysio_read.sol/sysio_read.json +1458 -0
  31. package/src/assets/ethereum/hoodi/common/sysio_tester.sol/SysioTester.dbg.json +4 -0
  32. package/src/assets/ethereum/hoodi/common/sysio_tester.sol/SysioTester.json +1532 -0
  33. package/src/assets/ethereum/hoodi/common/sysio_verify.sol/sysio_verify.dbg.json +4 -0
  34. package/src/assets/ethereum/hoodi/common/sysio_verify.sol/sysio_verify.json +1525 -0
  35. package/src/assets/ethereum/hoodi/common/sysio_write.sol/sysio_write.dbg.json +4 -0
  36. package/src/assets/ethereum/hoodi/common/sysio_write.sol/sysio_write.json +1076 -0
  37. package/src/assets/ethereum/hoodi/liqEth/BeaconState.sol/BeaconState.dbg.json +4 -0
  38. package/src/assets/ethereum/hoodi/liqEth/BeaconState.sol/BeaconState.json +807 -0
  39. package/src/assets/ethereum/hoodi/liqEth/DepositManager.sol/DepositManagerV2.dbg.json +4 -0
  40. package/src/assets/ethereum/hoodi/liqEth/DepositManager.sol/DepositManagerV2.json +1004 -0
  41. package/src/assets/ethereum/hoodi/liqEth/DepositManager.sol/IStakingModuleBondLocker.dbg.json +4 -0
  42. package/src/assets/ethereum/hoodi/liqEth/DepositManager.sol/IStakingModuleBondLocker.json +29 -0
  43. package/src/assets/ethereum/hoodi/liqEth/KeyBondManager.sol/KeyBondManager.dbg.json +4 -0
  44. package/src/assets/ethereum/hoodi/liqEth/KeyBondManager.sol/KeyBondManager.json +897 -0
  45. package/src/assets/ethereum/hoodi/liqEth/LiqEthAuthority.sol/LiqEthAuthority.dbg.json +4 -0
  46. package/src/assets/ethereum/hoodi/liqEth/LiqEthAuthority.sol/LiqEthAuthority.json +1289 -0
  47. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IDepositContract.dbg.json +4 -0
  48. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IDepositContract.json +39 -0
  49. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IDepositManager.dbg.json +4 -0
  50. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IDepositManager.json +64 -0
  51. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IKeyBondManager.dbg.json +4 -0
  52. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IKeyBondManager.json +189 -0
  53. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/ILiqEthUpgradeable.dbg.json +4 -0
  54. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/ILiqEthUpgradeable.json +29 -0
  55. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IRewardsERC20.dbg.json +4 -0
  56. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IRewardsERC20.json +319 -0
  57. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IRewardsERC20Pausable.dbg.json +4 -0
  58. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IRewardsERC20Pausable.json +333 -0
  59. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IStakingModule.dbg.json +4 -0
  60. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IStakingModule.json +279 -0
  61. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.dbg.json +4 -0
  62. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.json +129 -0
  63. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IWithdrawalRecord.dbg.json +4 -0
  64. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/IWithdrawalRecord.json +66 -0
  65. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/LiqEthCommon.dbg.json +4 -0
  66. package/src/assets/ethereum/hoodi/liqEth/LiqEthCommon.sol/LiqEthCommon.json +10 -0
  67. package/src/assets/ethereum/hoodi/liqEth/LiqEthDeepFreeze.sol/LiqEthDeepFreeze.dbg.json +4 -0
  68. package/src/assets/ethereum/hoodi/liqEth/LiqEthDeepFreeze.sol/LiqEthDeepFreeze.json +236 -0
  69. package/src/assets/ethereum/hoodi/liqEth/LiqEthManaged.sol/LiqEthManaged.dbg.json +4 -0
  70. package/src/assets/ethereum/hoodi/liqEth/LiqEthManaged.sol/LiqEthManaged.json +229 -0
  71. package/src/assets/ethereum/hoodi/liqEth/RewardsERC20.sol/RewardsERC20UpgradeableV2.dbg.json +4 -0
  72. package/src/assets/ethereum/hoodi/liqEth/RewardsERC20.sol/RewardsERC20UpgradeableV2.json +957 -0
  73. package/src/assets/ethereum/hoodi/liqEth/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeableV2.dbg.json +4 -0
  74. package/src/assets/ethereum/hoodi/liqEth/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeableV2.json +1020 -0
  75. package/src/assets/ethereum/hoodi/liqEth/StakingLib.sol/StakingLib.dbg.json +4 -0
  76. package/src/assets/ethereum/hoodi/liqEth/StakingLib.sol/StakingLib.json +89 -0
  77. package/src/assets/ethereum/hoodi/liqEth/Yield.sol/YieldOracle.dbg.json +4 -0
  78. package/src/assets/ethereum/hoodi/liqEth/Yield.sol/YieldOracle.json +1376 -0
  79. package/src/assets/ethereum/hoodi/liqEth/liqEth.sol/LiqEthTokenV2.dbg.json +4 -0
  80. package/src/assets/ethereum/hoodi/liqEth/liqEth.sol/LiqEthTokenV2.json +1323 -0
  81. package/src/assets/ethereum/hoodi/liqEth/stakingModule.sol/StakingModuleV2.dbg.json +4 -0
  82. package/src/assets/ethereum/hoodi/liqEth/stakingModule.sol/StakingModuleV2.json +1896 -0
  83. package/src/assets/ethereum/hoodi/liqEth/v1/DepositManager.sol/DepositManager.dbg.json +4 -0
  84. package/src/assets/ethereum/hoodi/liqEth/v1/DepositManager.sol/DepositManager.json +978 -0
  85. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IAccounting.dbg.json +4 -0
  86. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IAccounting.json +176 -0
  87. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IDepositContract.dbg.json +4 -0
  88. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IDepositContract.json +39 -0
  89. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IDepositManager.dbg.json +4 -0
  90. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IDepositManager.json +64 -0
  91. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/ILiqEthUpgradeable.dbg.json +4 -0
  92. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/ILiqEthUpgradeable.json +29 -0
  93. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IRewardsERC20.dbg.json +4 -0
  94. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IRewardsERC20.json +249 -0
  95. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IRewardsERC20Pausable.dbg.json +4 -0
  96. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IRewardsERC20Pausable.json +263 -0
  97. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IStakingModule.dbg.json +4 -0
  98. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IStakingModule.json +344 -0
  99. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IValidatorBalanceVerifier.dbg.json +4 -0
  100. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IValidatorBalanceVerifier.json +129 -0
  101. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IWithdrawalRecord.dbg.json +4 -0
  102. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/IWithdrawalRecord.json +66 -0
  103. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/LiqEthCommon.dbg.json +4 -0
  104. package/src/assets/ethereum/hoodi/liqEth/v1/LiqEthCommon.sol/LiqEthCommon.json +10 -0
  105. package/src/assets/ethereum/hoodi/liqEth/v1/RewardsERC20.sol/RewardsERC20Upgradeable.dbg.json +4 -0
  106. package/src/assets/ethereum/hoodi/liqEth/v1/RewardsERC20.sol/RewardsERC20Upgradeable.json +874 -0
  107. package/src/assets/ethereum/hoodi/liqEth/v1/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeable.dbg.json +4 -0
  108. package/src/assets/ethereum/hoodi/liqEth/v1/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeable.json +937 -0
  109. package/src/assets/ethereum/hoodi/liqEth/v1/accounting.sol/Accounting.dbg.json +4 -0
  110. package/src/assets/ethereum/hoodi/liqEth/v1/accounting.sol/Accounting.json +542 -0
  111. package/src/assets/ethereum/hoodi/liqEth/v1/liqEth.sol/LiqEthToken.dbg.json +4 -0
  112. package/src/assets/ethereum/hoodi/liqEth/v1/liqEth.sol/LiqEthToken.json +1233 -0
  113. package/src/assets/ethereum/hoodi/liqEth/v1/stakingModule.sol/StakingModule.dbg.json +4 -0
  114. package/src/assets/ethereum/hoodi/liqEth/v1/stakingModule.sol/StakingModule.json +1772 -0
  115. package/src/assets/ethereum/hoodi/liqEth/withdrawalQueue.sol/WithdrawalQueue.dbg.json +4 -0
  116. package/src/assets/ethereum/hoodi/liqEth/withdrawalQueue.sol/WithdrawalQueue.json +973 -0
  117. package/src/assets/ethereum/hoodi/liqEth/withdrawalVault.sol/Uint64BE.dbg.json +4 -0
  118. package/src/assets/ethereum/hoodi/liqEth/withdrawalVault.sol/Uint64BE.json +10 -0
  119. package/src/assets/ethereum/hoodi/liqEth/withdrawalVault.sol/WithdrawalVault.dbg.json +4 -0
  120. package/src/assets/ethereum/hoodi/liqEth/withdrawalVault.sol/WithdrawalVault.json +441 -0
  121. package/src/assets/ethereum/hoodi/outpost/BAR.sol/BARV2.dbg.json +4 -0
  122. package/src/assets/ethereum/hoodi/outpost/BAR.sol/BARV2.json +1915 -0
  123. package/src/assets/ethereum/hoodi/outpost/Depositor.sol/DepositorV2.dbg.json +4 -0
  124. package/src/assets/ethereum/hoodi/outpost/Depositor.sol/DepositorV2.json +1845 -0
  125. package/src/assets/ethereum/hoodi/outpost/EthUsdPriceConsumer.sol/AggregatorV3Interface.dbg.json +4 -0
  126. package/src/assets/ethereum/hoodi/outpost/EthUsdPriceConsumer.sol/AggregatorV3Interface.json +122 -0
  127. package/src/assets/ethereum/hoodi/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.dbg.json +4 -0
  128. package/src/assets/ethereum/hoodi/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.json +551 -0
  129. package/src/assets/ethereum/hoodi/outpost/OPP.sol/OPP.dbg.json +4 -0
  130. package/src/assets/ethereum/hoodi/outpost/OPP.sol/OPP.json +948 -0
  131. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPP.dbg.json +4 -0
  132. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPP.json +88 -0
  133. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPEndpoint.dbg.json +4 -0
  134. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPEndpoint.json +29 -0
  135. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPInbound.dbg.json +4 -0
  136. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPInbound.json +194 -0
  137. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPReceiver.dbg.json +4 -0
  138. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPReceiver.json +29 -0
  139. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPSender.dbg.json +4 -0
  140. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/IOPPSender.json +36 -0
  141. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/OPPCommon.dbg.json +4 -0
  142. package/src/assets/ethereum/hoodi/outpost/OPPCommon.sol/OPPCommon.json +199 -0
  143. package/src/assets/ethereum/hoodi/outpost/OPPEndpoint.sol/OPPEndpoint.dbg.json +4 -0
  144. package/src/assets/ethereum/hoodi/outpost/OPPEndpoint.sol/OPPEndpoint.json +273 -0
  145. package/src/assets/ethereum/hoodi/outpost/OPPEndpointManaged.sol/OPPEndpointManaged.dbg.json +4 -0
  146. package/src/assets/ethereum/hoodi/outpost/OPPEndpointManaged.sol/OPPEndpointManaged.json +394 -0
  147. package/src/assets/ethereum/hoodi/outpost/OPPEndpointOwnable.sol/OPPEndpointOwnable.dbg.json +4 -0
  148. package/src/assets/ethereum/hoodi/outpost/OPPEndpointOwnable.sol/OPPEndpointOwnable.json +378 -0
  149. package/src/assets/ethereum/hoodi/outpost/OPPErrors.sol/OPPErrors.dbg.json +4 -0
  150. package/src/assets/ethereum/hoodi/outpost/OPPErrors.sol/OPPErrors.json +224 -0
  151. package/src/assets/ethereum/hoodi/outpost/OPPInbound.sol/OPPInbound.dbg.json +4 -0
  152. package/src/assets/ethereum/hoodi/outpost/OPPInbound.sol/OPPInbound.json +1010 -0
  153. package/src/assets/ethereum/hoodi/outpost/OPPReceiver.sol/OPPReceiver.dbg.json +4 -0
  154. package/src/assets/ethereum/hoodi/outpost/OPPReceiver.sol/OPPReceiver.json +291 -0
  155. package/src/assets/ethereum/hoodi/outpost/OPPSender.sol/OPPSender.dbg.json +4 -0
  156. package/src/assets/ethereum/hoodi/outpost/OPPSender.sol/OPPSender.json +298 -0
  157. package/src/assets/ethereum/hoodi/outpost/OutpostErrors.sol/OutpostErrors.dbg.json +4 -0
  158. package/src/assets/ethereum/hoodi/outpost/OutpostErrors.sol/OutpostErrors.json +488 -0
  159. package/src/assets/ethereum/hoodi/outpost/OutpostManaged.sol/OutpostManaged.dbg.json +4 -0
  160. package/src/assets/ethereum/hoodi/outpost/OutpostManaged.sol/OutpostManaged.json +229 -0
  161. package/src/assets/ethereum/hoodi/outpost/OutpostManager.sol/OutpostManagerV2.dbg.json +4 -0
  162. package/src/assets/ethereum/hoodi/outpost/OutpostManager.sol/OutpostManagerV2.json +737 -0
  163. package/src/assets/ethereum/hoodi/outpost/OutpostManagerAuthority.sol/OutpostManagerAuthority.dbg.json +4 -0
  164. package/src/assets/ethereum/hoodi/outpost/OutpostManagerAuthority.sol/OutpostManagerAuthority.json +1432 -0
  165. package/src/assets/ethereum/hoodi/outpost/OutpostManagerCommon.sol/IOutpostManager.dbg.json +4 -0
  166. package/src/assets/ethereum/hoodi/outpost/OutpostManagerCommon.sol/IOutpostManager.json +130 -0
  167. package/src/assets/ethereum/hoodi/outpost/OutpostManagerCommon.sol/IOutpostUpgradeable.dbg.json +4 -0
  168. package/src/assets/ethereum/hoodi/outpost/OutpostManagerCommon.sol/IOutpostUpgradeable.json +29 -0
  169. package/src/assets/ethereum/hoodi/outpost/OutpostManagerCommon.sol/OutpostManagerCommon.dbg.json +4 -0
  170. package/src/assets/ethereum/hoodi/outpost/OutpostManagerCommon.sol/OutpostManagerCommon.json +141 -0
  171. package/src/assets/ethereum/hoodi/outpost/OutpostOwnable.sol/OutpostOwnable.dbg.json +4 -0
  172. package/src/assets/ethereum/hoodi/outpost/OutpostOwnable.sol/OutpostOwnable.json +213 -0
  173. package/src/assets/ethereum/hoodi/outpost/Pool.sol/PoolV2.dbg.json +4 -0
  174. package/src/assets/ethereum/hoodi/outpost/Pool.sol/PoolV2.json +943 -0
  175. package/src/assets/ethereum/hoodi/outpost/Pretoken.sol/PretokenV2.dbg.json +4 -0
  176. package/src/assets/ethereum/hoodi/outpost/Pretoken.sol/PretokenV2.json +1703 -0
  177. package/src/assets/ethereum/hoodi/outpost/ReceiptNFT.sol/ReceiptNFT.dbg.json +4 -0
  178. package/src/assets/ethereum/hoodi/outpost/ReceiptNFT.sol/ReceiptNFT.json +2015 -0
  179. package/src/assets/ethereum/hoodi/outpost/interfaces/IPretoken.sol/IPretoken.dbg.json +4 -0
  180. package/src/assets/ethereum/hoodi/outpost/interfaces/IPretoken.sol/IPretoken.json +29 -0
  181. package/src/assets/ethereum/hoodi/outpost/interfaces/IWarrant.sol/IWarrant.dbg.json +4 -0
  182. package/src/assets/ethereum/hoodi/outpost/interfaces/IWarrant.sol/IWarrant.json +29 -0
  183. package/src/assets/ethereum/hoodi/outpost/token/ERC721EthEquivalentVotesUpgradeable.sol/ERC721EthEquivalentVotesUpgradeable.dbg.json +4 -0
  184. package/src/assets/ethereum/hoodi/outpost/token/ERC721EthEquivalentVotesUpgradeable.sol/ERC721EthEquivalentVotesUpgradeable.json +858 -0
  185. package/src/assets/ethereum/hoodi/outpost/token/IERC721EthEquivalent.sol/IERC721EthEquivalent.dbg.json +4 -0
  186. package/src/assets/ethereum/hoodi/outpost/token/IERC721EthEquivalent.sol/IERC721EthEquivalent.json +30 -0
  187. package/src/assets/ethereum/hoodi/outpost/v1/BAR.sol/BAR.dbg.json +4 -0
  188. package/src/assets/ethereum/hoodi/outpost/v1/BAR.sol/BAR.json +1871 -0
  189. package/src/assets/ethereum/hoodi/outpost/v1/Depositor.sol/Depositor.dbg.json +4 -0
  190. package/src/assets/ethereum/hoodi/outpost/v1/Depositor.sol/Depositor.json +1653 -0
  191. package/src/assets/ethereum/hoodi/outpost/v1/OutpostManager.sol/OutpostManager.dbg.json +4 -0
  192. package/src/assets/ethereum/hoodi/outpost/v1/OutpostManager.sol/OutpostManager.json +730 -0
  193. package/src/assets/ethereum/hoodi/outpost/v1/Pool.sol/Pool.dbg.json +4 -0
  194. package/src/assets/ethereum/hoodi/outpost/v1/Pool.sol/Pool.json +936 -0
  195. package/src/assets/ethereum/hoodi/outpost/v1/Pretoken.sol/Pretoken.dbg.json +4 -0
  196. package/src/assets/ethereum/hoodi/outpost/v1/Pretoken.sol/Pretoken.json +1665 -0
  197. package/src/assets/ethereum/hoodi/token/ERC1155Token.sol/ERC1155Token.dbg.json +4 -0
  198. package/src/assets/ethereum/hoodi/token/ERC1155Token.sol/ERC1155Token.json +472 -0
  199. package/src/assets/ethereum/hoodi/token/ERC20Token.sol/ERC20Token.dbg.json +4 -0
  200. package/src/assets/ethereum/hoodi/token/ERC20Token.sol/ERC20Token.json +330 -0
  201. package/src/assets/ethereum/hoodi/token/ERC721Token.sol/ERC721Token.dbg.json +4 -0
  202. package/src/assets/ethereum/hoodi/token/ERC721Token.sol/ERC721Token.json +449 -0
  203. package/src/networks/ethereum/clients/stake.client.ts +81 -7
  204. package/src/networks/ethereum/contract.ts +189 -81
  205. package/src/networks/ethereum/ethereum.ts +47 -6
  206. package/src/networks/ethereum/types.ts +10 -0
  207. package/src/networks/solana/constants.ts +3 -3
  208. package/src/networks/solana/solana.ts +92 -7
  209. package/src/networks/solana/types.ts +2 -2
  210. package/src/types.ts +10 -1
@@ -0,0 +1,2015 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "ReceiptNFT",
4
+ "sourceName": "contracts/outpost/ReceiptNFT.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "authority",
11
+ "type": "address"
12
+ }
13
+ ],
14
+ "name": "AccessManagedInvalidAuthority",
15
+ "type": "error"
16
+ },
17
+ {
18
+ "inputs": [
19
+ {
20
+ "internalType": "address",
21
+ "name": "caller",
22
+ "type": "address"
23
+ },
24
+ {
25
+ "internalType": "uint32",
26
+ "name": "delay",
27
+ "type": "uint32"
28
+ }
29
+ ],
30
+ "name": "AccessManagedRequiredDelay",
31
+ "type": "error"
32
+ },
33
+ {
34
+ "inputs": [
35
+ {
36
+ "internalType": "address",
37
+ "name": "caller",
38
+ "type": "address"
39
+ }
40
+ ],
41
+ "name": "AccessManagedUnauthorized",
42
+ "type": "error"
43
+ },
44
+ {
45
+ "inputs": [
46
+ {
47
+ "internalType": "address",
48
+ "name": "target",
49
+ "type": "address"
50
+ }
51
+ ],
52
+ "name": "AddressEmptyCode",
53
+ "type": "error"
54
+ },
55
+ {
56
+ "inputs": [],
57
+ "name": "CheckpointUnorderedInsertion",
58
+ "type": "error"
59
+ },
60
+ {
61
+ "inputs": [],
62
+ "name": "ECDSAInvalidSignature",
63
+ "type": "error"
64
+ },
65
+ {
66
+ "inputs": [
67
+ {
68
+ "internalType": "uint256",
69
+ "name": "length",
70
+ "type": "uint256"
71
+ }
72
+ ],
73
+ "name": "ECDSAInvalidSignatureLength",
74
+ "type": "error"
75
+ },
76
+ {
77
+ "inputs": [
78
+ {
79
+ "internalType": "bytes32",
80
+ "name": "s",
81
+ "type": "bytes32"
82
+ }
83
+ ],
84
+ "name": "ECDSAInvalidSignatureS",
85
+ "type": "error"
86
+ },
87
+ {
88
+ "inputs": [
89
+ {
90
+ "internalType": "address",
91
+ "name": "implementation",
92
+ "type": "address"
93
+ }
94
+ ],
95
+ "name": "ERC1967InvalidImplementation",
96
+ "type": "error"
97
+ },
98
+ {
99
+ "inputs": [],
100
+ "name": "ERC1967NonPayable",
101
+ "type": "error"
102
+ },
103
+ {
104
+ "inputs": [
105
+ {
106
+ "internalType": "uint256",
107
+ "name": "timepoint",
108
+ "type": "uint256"
109
+ },
110
+ {
111
+ "internalType": "uint48",
112
+ "name": "clock",
113
+ "type": "uint48"
114
+ }
115
+ ],
116
+ "name": "ERC5805FutureLookup",
117
+ "type": "error"
118
+ },
119
+ {
120
+ "inputs": [],
121
+ "name": "ERC6372InconsistentClock",
122
+ "type": "error"
123
+ },
124
+ {
125
+ "inputs": [
126
+ {
127
+ "internalType": "address",
128
+ "name": "sender",
129
+ "type": "address"
130
+ },
131
+ {
132
+ "internalType": "uint256",
133
+ "name": "tokenId",
134
+ "type": "uint256"
135
+ },
136
+ {
137
+ "internalType": "address",
138
+ "name": "owner",
139
+ "type": "address"
140
+ }
141
+ ],
142
+ "name": "ERC721IncorrectOwner",
143
+ "type": "error"
144
+ },
145
+ {
146
+ "inputs": [
147
+ {
148
+ "internalType": "address",
149
+ "name": "operator",
150
+ "type": "address"
151
+ },
152
+ {
153
+ "internalType": "uint256",
154
+ "name": "tokenId",
155
+ "type": "uint256"
156
+ }
157
+ ],
158
+ "name": "ERC721InsufficientApproval",
159
+ "type": "error"
160
+ },
161
+ {
162
+ "inputs": [
163
+ {
164
+ "internalType": "address",
165
+ "name": "approver",
166
+ "type": "address"
167
+ }
168
+ ],
169
+ "name": "ERC721InvalidApprover",
170
+ "type": "error"
171
+ },
172
+ {
173
+ "inputs": [
174
+ {
175
+ "internalType": "address",
176
+ "name": "operator",
177
+ "type": "address"
178
+ }
179
+ ],
180
+ "name": "ERC721InvalidOperator",
181
+ "type": "error"
182
+ },
183
+ {
184
+ "inputs": [
185
+ {
186
+ "internalType": "address",
187
+ "name": "owner",
188
+ "type": "address"
189
+ }
190
+ ],
191
+ "name": "ERC721InvalidOwner",
192
+ "type": "error"
193
+ },
194
+ {
195
+ "inputs": [
196
+ {
197
+ "internalType": "address",
198
+ "name": "receiver",
199
+ "type": "address"
200
+ }
201
+ ],
202
+ "name": "ERC721InvalidReceiver",
203
+ "type": "error"
204
+ },
205
+ {
206
+ "inputs": [
207
+ {
208
+ "internalType": "address",
209
+ "name": "sender",
210
+ "type": "address"
211
+ }
212
+ ],
213
+ "name": "ERC721InvalidSender",
214
+ "type": "error"
215
+ },
216
+ {
217
+ "inputs": [
218
+ {
219
+ "internalType": "uint256",
220
+ "name": "tokenId",
221
+ "type": "uint256"
222
+ }
223
+ ],
224
+ "name": "ERC721NonexistentToken",
225
+ "type": "error"
226
+ },
227
+ {
228
+ "inputs": [],
229
+ "name": "EnforcedPause",
230
+ "type": "error"
231
+ },
232
+ {
233
+ "inputs": [],
234
+ "name": "ExpectedPause",
235
+ "type": "error"
236
+ },
237
+ {
238
+ "inputs": [],
239
+ "name": "FailedCall",
240
+ "type": "error"
241
+ },
242
+ {
243
+ "inputs": [
244
+ {
245
+ "internalType": "address",
246
+ "name": "account",
247
+ "type": "address"
248
+ },
249
+ {
250
+ "internalType": "uint256",
251
+ "name": "currentNonce",
252
+ "type": "uint256"
253
+ }
254
+ ],
255
+ "name": "InvalidAccountNonce",
256
+ "type": "error"
257
+ },
258
+ {
259
+ "inputs": [],
260
+ "name": "InvalidInitialization",
261
+ "type": "error"
262
+ },
263
+ {
264
+ "inputs": [],
265
+ "name": "NotInitializing",
266
+ "type": "error"
267
+ },
268
+ {
269
+ "inputs": [
270
+ {
271
+ "internalType": "uint8",
272
+ "name": "bits",
273
+ "type": "uint8"
274
+ },
275
+ {
276
+ "internalType": "uint256",
277
+ "name": "value",
278
+ "type": "uint256"
279
+ }
280
+ ],
281
+ "name": "SafeCastOverflowedUintDowncast",
282
+ "type": "error"
283
+ },
284
+ {
285
+ "inputs": [],
286
+ "name": "UUPSUnauthorizedCallContext",
287
+ "type": "error"
288
+ },
289
+ {
290
+ "inputs": [
291
+ {
292
+ "internalType": "bytes32",
293
+ "name": "slot",
294
+ "type": "bytes32"
295
+ }
296
+ ],
297
+ "name": "UUPSUnsupportedProxiableUUID",
298
+ "type": "error"
299
+ },
300
+ {
301
+ "inputs": [
302
+ {
303
+ "internalType": "uint256",
304
+ "name": "expiry",
305
+ "type": "uint256"
306
+ }
307
+ ],
308
+ "name": "VotesExpiredSignature",
309
+ "type": "error"
310
+ },
311
+ {
312
+ "inputs": [
313
+ {
314
+ "internalType": "address",
315
+ "name": "actor",
316
+ "type": "address"
317
+ }
318
+ ],
319
+ "name": "WIRE_ActorAlreadyBonded",
320
+ "type": "error"
321
+ },
322
+ {
323
+ "inputs": [
324
+ {
325
+ "internalType": "address",
326
+ "name": "actor",
327
+ "type": "address"
328
+ }
329
+ ],
330
+ "name": "WIRE_ActorNotBonded",
331
+ "type": "error"
332
+ },
333
+ {
334
+ "inputs": [
335
+ {
336
+ "internalType": "uint32",
337
+ "name": "tokenType",
338
+ "type": "uint32"
339
+ },
340
+ {
341
+ "internalType": "bytes32",
342
+ "name": "bondLevelId",
343
+ "type": "bytes32"
344
+ }
345
+ ],
346
+ "name": "WIRE_BadBondLevel",
347
+ "type": "error"
348
+ },
349
+ {
350
+ "inputs": [
351
+ {
352
+ "internalType": "string",
353
+ "name": "name",
354
+ "type": "string"
355
+ },
356
+ {
357
+ "internalType": "address",
358
+ "name": "provided",
359
+ "type": "address"
360
+ }
361
+ ],
362
+ "name": "WIRE_BadContractAddress",
363
+ "type": "error"
364
+ },
365
+ {
366
+ "inputs": [
367
+ {
368
+ "internalType": "uint256",
369
+ "name": "bps",
370
+ "type": "uint256"
371
+ },
372
+ {
373
+ "internalType": "uint256",
374
+ "name": "maxBps",
375
+ "type": "uint256"
376
+ }
377
+ ],
378
+ "name": "WIRE_BasisPointsTooHigh",
379
+ "type": "error"
380
+ },
381
+ {
382
+ "inputs": [
383
+ {
384
+ "internalType": "address",
385
+ "name": "actor",
386
+ "type": "address"
387
+ },
388
+ {
389
+ "internalType": "uint256",
390
+ "name": "cooldownEnd",
391
+ "type": "uint256"
392
+ }
393
+ ],
394
+ "name": "WIRE_BondInCooldown",
395
+ "type": "error"
396
+ },
397
+ {
398
+ "inputs": [
399
+ {
400
+ "internalType": "address",
401
+ "name": "actor",
402
+ "type": "address"
403
+ },
404
+ {
405
+ "internalType": "uint256",
406
+ "name": "warmupEnd",
407
+ "type": "uint256"
408
+ }
409
+ ],
410
+ "name": "WIRE_BondInWarmup",
411
+ "type": "error"
412
+ },
413
+ {
414
+ "inputs": [
415
+ {
416
+ "internalType": "uint256",
417
+ "name": "required",
418
+ "type": "uint256"
419
+ },
420
+ {
421
+ "internalType": "uint256",
422
+ "name": "provided",
423
+ "type": "uint256"
424
+ }
425
+ ],
426
+ "name": "WIRE_BondInsufficientEth",
427
+ "type": "error"
428
+ },
429
+ {
430
+ "inputs": [
431
+ {
432
+ "internalType": "uint256",
433
+ "name": "required",
434
+ "type": "uint256"
435
+ },
436
+ {
437
+ "internalType": "uint256",
438
+ "name": "provided",
439
+ "type": "uint256"
440
+ }
441
+ ],
442
+ "name": "WIRE_BondInsufficientEthEquivalent",
443
+ "type": "error"
444
+ },
445
+ {
446
+ "inputs": [
447
+ {
448
+ "internalType": "uint256",
449
+ "name": "value",
450
+ "type": "uint256"
451
+ },
452
+ {
453
+ "internalType": "uint256",
454
+ "name": "minValue",
455
+ "type": "uint256"
456
+ }
457
+ ],
458
+ "name": "WIRE_BondLevelCooldownTooShort",
459
+ "type": "error"
460
+ },
461
+ {
462
+ "inputs": [
463
+ {
464
+ "internalType": "uint32",
465
+ "name": "tokenType",
466
+ "type": "uint32"
467
+ },
468
+ {
469
+ "internalType": "bytes32",
470
+ "name": "bondLevelId",
471
+ "type": "bytes32"
472
+ }
473
+ ],
474
+ "name": "WIRE_BondLevelExists",
475
+ "type": "error"
476
+ },
477
+ {
478
+ "inputs": [
479
+ {
480
+ "internalType": "uint32",
481
+ "name": "tokenType",
482
+ "type": "uint32"
483
+ },
484
+ {
485
+ "internalType": "bytes32",
486
+ "name": "bondLevelId",
487
+ "type": "bytes32"
488
+ }
489
+ ],
490
+ "name": "WIRE_BondLevelHasNoRoles",
491
+ "type": "error"
492
+ },
493
+ {
494
+ "inputs": [
495
+ {
496
+ "internalType": "uint32",
497
+ "name": "tokenType",
498
+ "type": "uint32"
499
+ },
500
+ {
501
+ "internalType": "bytes32",
502
+ "name": "bondLevelId",
503
+ "type": "bytes32"
504
+ }
505
+ ],
506
+ "name": "WIRE_BondLevelNoAmount",
507
+ "type": "error"
508
+ },
509
+ {
510
+ "inputs": [
511
+ {
512
+ "internalType": "uint32",
513
+ "name": "tokenType",
514
+ "type": "uint32"
515
+ },
516
+ {
517
+ "internalType": "bytes32",
518
+ "name": "bondLevelId",
519
+ "type": "bytes32"
520
+ }
521
+ ],
522
+ "name": "WIRE_BondLevelNoEthEquivalent",
523
+ "type": "error"
524
+ },
525
+ {
526
+ "inputs": [
527
+ {
528
+ "internalType": "uint32",
529
+ "name": "tokenType",
530
+ "type": "uint32"
531
+ },
532
+ {
533
+ "internalType": "bytes32",
534
+ "name": "bondLevelId",
535
+ "type": "bytes32"
536
+ }
537
+ ],
538
+ "name": "WIRE_BondLevelNoTokenContract",
539
+ "type": "error"
540
+ },
541
+ {
542
+ "inputs": [
543
+ {
544
+ "internalType": "uint32",
545
+ "name": "tokenType",
546
+ "type": "uint32"
547
+ },
548
+ {
549
+ "internalType": "bytes32",
550
+ "name": "bondLevelId",
551
+ "type": "bytes32"
552
+ }
553
+ ],
554
+ "name": "WIRE_BondLevelNoTokenId",
555
+ "type": "error"
556
+ },
557
+ {
558
+ "inputs": [
559
+ {
560
+ "internalType": "uint256",
561
+ "name": "value",
562
+ "type": "uint256"
563
+ },
564
+ {
565
+ "internalType": "uint256",
566
+ "name": "minValue",
567
+ "type": "uint256"
568
+ }
569
+ ],
570
+ "name": "WIRE_BondLevelWarmupTooShort",
571
+ "type": "error"
572
+ },
573
+ {
574
+ "inputs": [
575
+ {
576
+ "internalType": "address",
577
+ "name": "actor",
578
+ "type": "address"
579
+ }
580
+ ],
581
+ "name": "WIRE_BondNotUnbonding",
582
+ "type": "error"
583
+ },
584
+ {
585
+ "inputs": [
586
+ {
587
+ "internalType": "uint32",
588
+ "name": "tokenType",
589
+ "type": "uint32"
590
+ },
591
+ {
592
+ "internalType": "bytes32",
593
+ "name": "bondLevelId",
594
+ "type": "bytes32"
595
+ },
596
+ {
597
+ "internalType": "uint256",
598
+ "name": "requiredTokenId",
599
+ "type": "uint256"
600
+ },
601
+ {
602
+ "internalType": "uint256",
603
+ "name": "providedTokenId",
604
+ "type": "uint256"
605
+ }
606
+ ],
607
+ "name": "WIRE_BondTokenIdMismatch",
608
+ "type": "error"
609
+ },
610
+ {
611
+ "inputs": [
612
+ {
613
+ "internalType": "address",
614
+ "name": "to",
615
+ "type": "address"
616
+ },
617
+ {
618
+ "internalType": "uint256",
619
+ "name": "amount",
620
+ "type": "uint256"
621
+ }
622
+ ],
623
+ "name": "WIRE_EthSendFailed",
624
+ "type": "error"
625
+ },
626
+ {
627
+ "inputs": [],
628
+ "name": "WIRE_GoLiveInProgress",
629
+ "type": "error"
630
+ },
631
+ {
632
+ "inputs": [
633
+ {
634
+ "internalType": "uint256",
635
+ "name": "required",
636
+ "type": "uint256"
637
+ },
638
+ {
639
+ "internalType": "uint256",
640
+ "name": "available",
641
+ "type": "uint256"
642
+ }
643
+ ],
644
+ "name": "WIRE_InsufficientEthBalance",
645
+ "type": "error"
646
+ },
647
+ {
648
+ "inputs": [],
649
+ "name": "WIRE_InvalidPrice",
650
+ "type": "error"
651
+ },
652
+ {
653
+ "inputs": [
654
+ {
655
+ "internalType": "address",
656
+ "name": "from",
657
+ "type": "address"
658
+ },
659
+ {
660
+ "internalType": "address",
661
+ "name": "to",
662
+ "type": "address"
663
+ },
664
+ {
665
+ "internalType": "uint256",
666
+ "name": "amount",
667
+ "type": "uint256"
668
+ }
669
+ ],
670
+ "name": "WIRE_LiqEthTransferFailed",
671
+ "type": "error"
672
+ },
673
+ {
674
+ "inputs": [],
675
+ "name": "WIRE_NoPricesRecorded",
676
+ "type": "error"
677
+ },
678
+ {
679
+ "inputs": [],
680
+ "name": "WIRE_NoYield",
681
+ "type": "error"
682
+ },
683
+ {
684
+ "inputs": [
685
+ {
686
+ "internalType": "address",
687
+ "name": "actor",
688
+ "type": "address"
689
+ },
690
+ {
691
+ "internalType": "address",
692
+ "name": "owner",
693
+ "type": "address"
694
+ },
695
+ {
696
+ "internalType": "address",
697
+ "name": "caller",
698
+ "type": "address"
699
+ }
700
+ ],
701
+ "name": "WIRE_NotBondOwner",
702
+ "type": "error"
703
+ },
704
+ {
705
+ "inputs": [
706
+ {
707
+ "internalType": "uint256",
708
+ "name": "receiptId",
709
+ "type": "uint256"
710
+ },
711
+ {
712
+ "internalType": "address",
713
+ "name": "owner",
714
+ "type": "address"
715
+ },
716
+ {
717
+ "internalType": "address",
718
+ "name": "caller",
719
+ "type": "address"
720
+ }
721
+ ],
722
+ "name": "WIRE_NotReceiptOwner",
723
+ "type": "error"
724
+ },
725
+ {
726
+ "inputs": [
727
+ {
728
+ "internalType": "uint256",
729
+ "name": "price",
730
+ "type": "uint256"
731
+ },
732
+ {
733
+ "internalType": "uint256",
734
+ "name": "minPrice",
735
+ "type": "uint256"
736
+ },
737
+ {
738
+ "internalType": "uint256",
739
+ "name": "maxPrice",
740
+ "type": "uint256"
741
+ }
742
+ ],
743
+ "name": "WIRE_PriceOutOfBounds",
744
+ "type": "error"
745
+ },
746
+ {
747
+ "inputs": [
748
+ {
749
+ "internalType": "uint256",
750
+ "name": "receiptId",
751
+ "type": "uint256"
752
+ }
753
+ ],
754
+ "name": "WIRE_ReceiptNotWithdrawable",
755
+ "type": "error"
756
+ },
757
+ {
758
+ "inputs": [],
759
+ "name": "WIRE_RefundingInProgress",
760
+ "type": "error"
761
+ },
762
+ {
763
+ "inputs": [],
764
+ "name": "WIRE_RefundingOnly",
765
+ "type": "error"
766
+ },
767
+ {
768
+ "inputs": [
769
+ {
770
+ "internalType": "string",
771
+ "name": "reason",
772
+ "type": "string"
773
+ }
774
+ ],
775
+ "name": "WIRE_UnexpectedError",
776
+ "type": "error"
777
+ },
778
+ {
779
+ "inputs": [],
780
+ "name": "WIRE_ZeroAmount",
781
+ "type": "error"
782
+ },
783
+ {
784
+ "inputs": [],
785
+ "name": "WIRE_ZeroShares",
786
+ "type": "error"
787
+ },
788
+ {
789
+ "anonymous": false,
790
+ "inputs": [
791
+ {
792
+ "indexed": true,
793
+ "internalType": "address",
794
+ "name": "owner",
795
+ "type": "address"
796
+ },
797
+ {
798
+ "indexed": true,
799
+ "internalType": "address",
800
+ "name": "approved",
801
+ "type": "address"
802
+ },
803
+ {
804
+ "indexed": true,
805
+ "internalType": "uint256",
806
+ "name": "tokenId",
807
+ "type": "uint256"
808
+ }
809
+ ],
810
+ "name": "Approval",
811
+ "type": "event"
812
+ },
813
+ {
814
+ "anonymous": false,
815
+ "inputs": [
816
+ {
817
+ "indexed": true,
818
+ "internalType": "address",
819
+ "name": "owner",
820
+ "type": "address"
821
+ },
822
+ {
823
+ "indexed": true,
824
+ "internalType": "address",
825
+ "name": "operator",
826
+ "type": "address"
827
+ },
828
+ {
829
+ "indexed": false,
830
+ "internalType": "bool",
831
+ "name": "approved",
832
+ "type": "bool"
833
+ }
834
+ ],
835
+ "name": "ApprovalForAll",
836
+ "type": "event"
837
+ },
838
+ {
839
+ "anonymous": false,
840
+ "inputs": [
841
+ {
842
+ "indexed": false,
843
+ "internalType": "address",
844
+ "name": "authority",
845
+ "type": "address"
846
+ }
847
+ ],
848
+ "name": "AuthorityUpdated",
849
+ "type": "event"
850
+ },
851
+ {
852
+ "anonymous": false,
853
+ "inputs": [
854
+ {
855
+ "indexed": true,
856
+ "internalType": "uint256",
857
+ "name": "tokenId",
858
+ "type": "uint256"
859
+ },
860
+ {
861
+ "indexed": true,
862
+ "internalType": "address",
863
+ "name": "by",
864
+ "type": "address"
865
+ }
866
+ ],
867
+ "name": "Burned",
868
+ "type": "event"
869
+ },
870
+ {
871
+ "anonymous": false,
872
+ "inputs": [
873
+ {
874
+ "indexed": true,
875
+ "internalType": "address",
876
+ "name": "delegator",
877
+ "type": "address"
878
+ },
879
+ {
880
+ "indexed": true,
881
+ "internalType": "address",
882
+ "name": "fromDelegate",
883
+ "type": "address"
884
+ },
885
+ {
886
+ "indexed": true,
887
+ "internalType": "address",
888
+ "name": "toDelegate",
889
+ "type": "address"
890
+ }
891
+ ],
892
+ "name": "DelegateChanged",
893
+ "type": "event"
894
+ },
895
+ {
896
+ "anonymous": false,
897
+ "inputs": [
898
+ {
899
+ "indexed": true,
900
+ "internalType": "address",
901
+ "name": "delegate",
902
+ "type": "address"
903
+ },
904
+ {
905
+ "indexed": false,
906
+ "internalType": "uint256",
907
+ "name": "previousVotes",
908
+ "type": "uint256"
909
+ },
910
+ {
911
+ "indexed": false,
912
+ "internalType": "uint256",
913
+ "name": "newVotes",
914
+ "type": "uint256"
915
+ }
916
+ ],
917
+ "name": "DelegateVotesChanged",
918
+ "type": "event"
919
+ },
920
+ {
921
+ "anonymous": false,
922
+ "inputs": [
923
+ {
924
+ "indexed": true,
925
+ "internalType": "address",
926
+ "name": "newDepositor",
927
+ "type": "address"
928
+ }
929
+ ],
930
+ "name": "DepositorUpdated",
931
+ "type": "event"
932
+ },
933
+ {
934
+ "anonymous": false,
935
+ "inputs": [],
936
+ "name": "EIP712DomainChanged",
937
+ "type": "event"
938
+ },
939
+ {
940
+ "anonymous": false,
941
+ "inputs": [
942
+ {
943
+ "indexed": false,
944
+ "internalType": "uint64",
945
+ "name": "version",
946
+ "type": "uint64"
947
+ }
948
+ ],
949
+ "name": "Initialized",
950
+ "type": "event"
951
+ },
952
+ {
953
+ "anonymous": false,
954
+ "inputs": [
955
+ {
956
+ "indexed": true,
957
+ "internalType": "uint256",
958
+ "name": "tokenId",
959
+ "type": "uint256"
960
+ },
961
+ {
962
+ "indexed": true,
963
+ "internalType": "address",
964
+ "name": "to",
965
+ "type": "address"
966
+ },
967
+ {
968
+ "components": [
969
+ {
970
+ "internalType": "address",
971
+ "name": "account",
972
+ "type": "address"
973
+ },
974
+ {
975
+ "internalType": "uint256",
976
+ "name": "principal",
977
+ "type": "uint256"
978
+ },
979
+ {
980
+ "internalType": "uint256",
981
+ "name": "shares",
982
+ "type": "uint256"
983
+ },
984
+ {
985
+ "internalType": "uint256",
986
+ "name": "indexAtMint",
987
+ "type": "uint256"
988
+ },
989
+ {
990
+ "internalType": "enum ReceiptNFT.Kind",
991
+ "name": "kind",
992
+ "type": "uint8"
993
+ },
994
+ {
995
+ "internalType": "uint64",
996
+ "name": "timestamp",
997
+ "type": "uint64"
998
+ }
999
+ ],
1000
+ "indexed": false,
1001
+ "internalType": "struct ReceiptNFT.Receipt",
1002
+ "name": "data",
1003
+ "type": "tuple"
1004
+ }
1005
+ ],
1006
+ "name": "Minted",
1007
+ "type": "event"
1008
+ },
1009
+ {
1010
+ "anonymous": false,
1011
+ "inputs": [
1012
+ {
1013
+ "indexed": false,
1014
+ "internalType": "address",
1015
+ "name": "account",
1016
+ "type": "address"
1017
+ }
1018
+ ],
1019
+ "name": "Paused",
1020
+ "type": "event"
1021
+ },
1022
+ {
1023
+ "anonymous": false,
1024
+ "inputs": [
1025
+ {
1026
+ "indexed": true,
1027
+ "internalType": "address",
1028
+ "name": "from",
1029
+ "type": "address"
1030
+ },
1031
+ {
1032
+ "indexed": true,
1033
+ "internalType": "address",
1034
+ "name": "to",
1035
+ "type": "address"
1036
+ },
1037
+ {
1038
+ "indexed": true,
1039
+ "internalType": "uint256",
1040
+ "name": "tokenId",
1041
+ "type": "uint256"
1042
+ }
1043
+ ],
1044
+ "name": "Transfer",
1045
+ "type": "event"
1046
+ },
1047
+ {
1048
+ "anonymous": false,
1049
+ "inputs": [
1050
+ {
1051
+ "indexed": false,
1052
+ "internalType": "address",
1053
+ "name": "account",
1054
+ "type": "address"
1055
+ }
1056
+ ],
1057
+ "name": "Unpaused",
1058
+ "type": "event"
1059
+ },
1060
+ {
1061
+ "anonymous": false,
1062
+ "inputs": [
1063
+ {
1064
+ "indexed": true,
1065
+ "internalType": "address",
1066
+ "name": "implementation",
1067
+ "type": "address"
1068
+ }
1069
+ ],
1070
+ "name": "Upgraded",
1071
+ "type": "event"
1072
+ },
1073
+ {
1074
+ "inputs": [],
1075
+ "name": "CLOCK_MODE",
1076
+ "outputs": [
1077
+ {
1078
+ "internalType": "string",
1079
+ "name": "",
1080
+ "type": "string"
1081
+ }
1082
+ ],
1083
+ "stateMutability": "pure",
1084
+ "type": "function"
1085
+ },
1086
+ {
1087
+ "inputs": [],
1088
+ "name": "CONFIGURATION_ROLE",
1089
+ "outputs": [
1090
+ {
1091
+ "internalType": "uint64",
1092
+ "name": "",
1093
+ "type": "uint64"
1094
+ }
1095
+ ],
1096
+ "stateMutability": "view",
1097
+ "type": "function"
1098
+ },
1099
+ {
1100
+ "inputs": [],
1101
+ "name": "OPP_FINALIZER_ROLE",
1102
+ "outputs": [
1103
+ {
1104
+ "internalType": "uint64",
1105
+ "name": "",
1106
+ "type": "uint64"
1107
+ }
1108
+ ],
1109
+ "stateMutability": "view",
1110
+ "type": "function"
1111
+ },
1112
+ {
1113
+ "inputs": [],
1114
+ "name": "OPP_INBOUND_ROLE",
1115
+ "outputs": [
1116
+ {
1117
+ "internalType": "uint64",
1118
+ "name": "",
1119
+ "type": "uint64"
1120
+ }
1121
+ ],
1122
+ "stateMutability": "view",
1123
+ "type": "function"
1124
+ },
1125
+ {
1126
+ "inputs": [],
1127
+ "name": "OPP_RECEIVER_TYPE",
1128
+ "outputs": [
1129
+ {
1130
+ "internalType": "uint64",
1131
+ "name": "",
1132
+ "type": "uint64"
1133
+ }
1134
+ ],
1135
+ "stateMutability": "view",
1136
+ "type": "function"
1137
+ },
1138
+ {
1139
+ "inputs": [],
1140
+ "name": "OPP_SENDER_ROLE",
1141
+ "outputs": [
1142
+ {
1143
+ "internalType": "uint64",
1144
+ "name": "",
1145
+ "type": "uint64"
1146
+ }
1147
+ ],
1148
+ "stateMutability": "view",
1149
+ "type": "function"
1150
+ },
1151
+ {
1152
+ "inputs": [],
1153
+ "name": "OPP_SENDER_TYPE",
1154
+ "outputs": [
1155
+ {
1156
+ "internalType": "uint64",
1157
+ "name": "",
1158
+ "type": "uint64"
1159
+ }
1160
+ ],
1161
+ "stateMutability": "view",
1162
+ "type": "function"
1163
+ },
1164
+ {
1165
+ "inputs": [],
1166
+ "name": "OPP_TESTER_ROLE",
1167
+ "outputs": [
1168
+ {
1169
+ "internalType": "uint64",
1170
+ "name": "",
1171
+ "type": "uint64"
1172
+ }
1173
+ ],
1174
+ "stateMutability": "view",
1175
+ "type": "function"
1176
+ },
1177
+ {
1178
+ "inputs": [],
1179
+ "name": "RECEIPT_BURNER_ROLE",
1180
+ "outputs": [
1181
+ {
1182
+ "internalType": "uint64",
1183
+ "name": "",
1184
+ "type": "uint64"
1185
+ }
1186
+ ],
1187
+ "stateMutability": "view",
1188
+ "type": "function"
1189
+ },
1190
+ {
1191
+ "inputs": [],
1192
+ "name": "RECEIPT_MINTER_ROLE",
1193
+ "outputs": [
1194
+ {
1195
+ "internalType": "uint64",
1196
+ "name": "",
1197
+ "type": "uint64"
1198
+ }
1199
+ ],
1200
+ "stateMutability": "view",
1201
+ "type": "function"
1202
+ },
1203
+ {
1204
+ "inputs": [],
1205
+ "name": "RECEIPT_TRANSFER_ROLE",
1206
+ "outputs": [
1207
+ {
1208
+ "internalType": "uint64",
1209
+ "name": "",
1210
+ "type": "uint64"
1211
+ }
1212
+ ],
1213
+ "stateMutability": "view",
1214
+ "type": "function"
1215
+ },
1216
+ {
1217
+ "inputs": [],
1218
+ "name": "UPGRADE_INTERFACE_VERSION",
1219
+ "outputs": [
1220
+ {
1221
+ "internalType": "string",
1222
+ "name": "",
1223
+ "type": "string"
1224
+ }
1225
+ ],
1226
+ "stateMutability": "view",
1227
+ "type": "function"
1228
+ },
1229
+ {
1230
+ "inputs": [
1231
+ {
1232
+ "internalType": "address",
1233
+ "name": "approver",
1234
+ "type": "address"
1235
+ },
1236
+ {
1237
+ "internalType": "uint256",
1238
+ "name": "",
1239
+ "type": "uint256"
1240
+ }
1241
+ ],
1242
+ "name": "approve",
1243
+ "outputs": [],
1244
+ "stateMutability": "pure",
1245
+ "type": "function"
1246
+ },
1247
+ {
1248
+ "inputs": [],
1249
+ "name": "authority",
1250
+ "outputs": [
1251
+ {
1252
+ "internalType": "address",
1253
+ "name": "",
1254
+ "type": "address"
1255
+ }
1256
+ ],
1257
+ "stateMutability": "view",
1258
+ "type": "function"
1259
+ },
1260
+ {
1261
+ "inputs": [
1262
+ {
1263
+ "internalType": "address",
1264
+ "name": "owner",
1265
+ "type": "address"
1266
+ }
1267
+ ],
1268
+ "name": "balanceOf",
1269
+ "outputs": [
1270
+ {
1271
+ "internalType": "uint256",
1272
+ "name": "",
1273
+ "type": "uint256"
1274
+ }
1275
+ ],
1276
+ "stateMutability": "view",
1277
+ "type": "function"
1278
+ },
1279
+ {
1280
+ "inputs": [
1281
+ {
1282
+ "internalType": "uint256",
1283
+ "name": "tokenId",
1284
+ "type": "uint256"
1285
+ }
1286
+ ],
1287
+ "name": "burn",
1288
+ "outputs": [],
1289
+ "stateMutability": "nonpayable",
1290
+ "type": "function"
1291
+ },
1292
+ {
1293
+ "inputs": [],
1294
+ "name": "clock",
1295
+ "outputs": [
1296
+ {
1297
+ "internalType": "uint48",
1298
+ "name": "",
1299
+ "type": "uint48"
1300
+ }
1301
+ ],
1302
+ "stateMutability": "view",
1303
+ "type": "function"
1304
+ },
1305
+ {
1306
+ "inputs": [
1307
+ {
1308
+ "internalType": "address",
1309
+ "name": "delegatee",
1310
+ "type": "address"
1311
+ }
1312
+ ],
1313
+ "name": "delegate",
1314
+ "outputs": [],
1315
+ "stateMutability": "nonpayable",
1316
+ "type": "function"
1317
+ },
1318
+ {
1319
+ "inputs": [
1320
+ {
1321
+ "internalType": "address",
1322
+ "name": "delegatee",
1323
+ "type": "address"
1324
+ },
1325
+ {
1326
+ "internalType": "uint256",
1327
+ "name": "nonce",
1328
+ "type": "uint256"
1329
+ },
1330
+ {
1331
+ "internalType": "uint256",
1332
+ "name": "expiry",
1333
+ "type": "uint256"
1334
+ },
1335
+ {
1336
+ "internalType": "uint8",
1337
+ "name": "v",
1338
+ "type": "uint8"
1339
+ },
1340
+ {
1341
+ "internalType": "bytes32",
1342
+ "name": "r",
1343
+ "type": "bytes32"
1344
+ },
1345
+ {
1346
+ "internalType": "bytes32",
1347
+ "name": "s",
1348
+ "type": "bytes32"
1349
+ }
1350
+ ],
1351
+ "name": "delegateBySig",
1352
+ "outputs": [],
1353
+ "stateMutability": "nonpayable",
1354
+ "type": "function"
1355
+ },
1356
+ {
1357
+ "inputs": [
1358
+ {
1359
+ "internalType": "address",
1360
+ "name": "account",
1361
+ "type": "address"
1362
+ }
1363
+ ],
1364
+ "name": "delegates",
1365
+ "outputs": [
1366
+ {
1367
+ "internalType": "address",
1368
+ "name": "",
1369
+ "type": "address"
1370
+ }
1371
+ ],
1372
+ "stateMutability": "view",
1373
+ "type": "function"
1374
+ },
1375
+ {
1376
+ "inputs": [],
1377
+ "name": "depositor",
1378
+ "outputs": [
1379
+ {
1380
+ "internalType": "address",
1381
+ "name": "",
1382
+ "type": "address"
1383
+ }
1384
+ ],
1385
+ "stateMutability": "view",
1386
+ "type": "function"
1387
+ },
1388
+ {
1389
+ "inputs": [],
1390
+ "name": "eip712Domain",
1391
+ "outputs": [
1392
+ {
1393
+ "internalType": "bytes1",
1394
+ "name": "fields",
1395
+ "type": "bytes1"
1396
+ },
1397
+ {
1398
+ "internalType": "string",
1399
+ "name": "name",
1400
+ "type": "string"
1401
+ },
1402
+ {
1403
+ "internalType": "string",
1404
+ "name": "version",
1405
+ "type": "string"
1406
+ },
1407
+ {
1408
+ "internalType": "uint256",
1409
+ "name": "chainId",
1410
+ "type": "uint256"
1411
+ },
1412
+ {
1413
+ "internalType": "address",
1414
+ "name": "verifyingContract",
1415
+ "type": "address"
1416
+ },
1417
+ {
1418
+ "internalType": "bytes32",
1419
+ "name": "salt",
1420
+ "type": "bytes32"
1421
+ },
1422
+ {
1423
+ "internalType": "uint256[]",
1424
+ "name": "extensions",
1425
+ "type": "uint256[]"
1426
+ }
1427
+ ],
1428
+ "stateMutability": "view",
1429
+ "type": "function"
1430
+ },
1431
+ {
1432
+ "inputs": [
1433
+ {
1434
+ "internalType": "uint256",
1435
+ "name": "tokenId",
1436
+ "type": "uint256"
1437
+ }
1438
+ ],
1439
+ "name": "ethEquivalent",
1440
+ "outputs": [
1441
+ {
1442
+ "internalType": "uint256",
1443
+ "name": "",
1444
+ "type": "uint256"
1445
+ }
1446
+ ],
1447
+ "stateMutability": "view",
1448
+ "type": "function"
1449
+ },
1450
+ {
1451
+ "inputs": [
1452
+ {
1453
+ "internalType": "uint256",
1454
+ "name": "tokenId",
1455
+ "type": "uint256"
1456
+ }
1457
+ ],
1458
+ "name": "getApproved",
1459
+ "outputs": [
1460
+ {
1461
+ "internalType": "address",
1462
+ "name": "",
1463
+ "type": "address"
1464
+ }
1465
+ ],
1466
+ "stateMutability": "view",
1467
+ "type": "function"
1468
+ },
1469
+ {
1470
+ "inputs": [
1471
+ {
1472
+ "internalType": "uint256",
1473
+ "name": "timepoint",
1474
+ "type": "uint256"
1475
+ }
1476
+ ],
1477
+ "name": "getPastTotalSupply",
1478
+ "outputs": [
1479
+ {
1480
+ "internalType": "uint256",
1481
+ "name": "",
1482
+ "type": "uint256"
1483
+ }
1484
+ ],
1485
+ "stateMutability": "view",
1486
+ "type": "function"
1487
+ },
1488
+ {
1489
+ "inputs": [
1490
+ {
1491
+ "internalType": "address",
1492
+ "name": "account",
1493
+ "type": "address"
1494
+ },
1495
+ {
1496
+ "internalType": "uint256",
1497
+ "name": "timepoint",
1498
+ "type": "uint256"
1499
+ }
1500
+ ],
1501
+ "name": "getPastVotes",
1502
+ "outputs": [
1503
+ {
1504
+ "internalType": "uint256",
1505
+ "name": "",
1506
+ "type": "uint256"
1507
+ }
1508
+ ],
1509
+ "stateMutability": "view",
1510
+ "type": "function"
1511
+ },
1512
+ {
1513
+ "inputs": [
1514
+ {
1515
+ "internalType": "uint256",
1516
+ "name": "tokenId",
1517
+ "type": "uint256"
1518
+ }
1519
+ ],
1520
+ "name": "getReceipt",
1521
+ "outputs": [
1522
+ {
1523
+ "components": [
1524
+ {
1525
+ "internalType": "address",
1526
+ "name": "account",
1527
+ "type": "address"
1528
+ },
1529
+ {
1530
+ "internalType": "uint256",
1531
+ "name": "principal",
1532
+ "type": "uint256"
1533
+ },
1534
+ {
1535
+ "internalType": "uint256",
1536
+ "name": "shares",
1537
+ "type": "uint256"
1538
+ },
1539
+ {
1540
+ "internalType": "uint256",
1541
+ "name": "indexAtMint",
1542
+ "type": "uint256"
1543
+ },
1544
+ {
1545
+ "internalType": "enum ReceiptNFT.Kind",
1546
+ "name": "kind",
1547
+ "type": "uint8"
1548
+ },
1549
+ {
1550
+ "internalType": "uint64",
1551
+ "name": "timestamp",
1552
+ "type": "uint64"
1553
+ }
1554
+ ],
1555
+ "internalType": "struct ReceiptNFT.Receipt",
1556
+ "name": "",
1557
+ "type": "tuple"
1558
+ }
1559
+ ],
1560
+ "stateMutability": "view",
1561
+ "type": "function"
1562
+ },
1563
+ {
1564
+ "inputs": [
1565
+ {
1566
+ "internalType": "address",
1567
+ "name": "account",
1568
+ "type": "address"
1569
+ }
1570
+ ],
1571
+ "name": "getVotes",
1572
+ "outputs": [
1573
+ {
1574
+ "internalType": "uint256",
1575
+ "name": "",
1576
+ "type": "uint256"
1577
+ }
1578
+ ],
1579
+ "stateMutability": "view",
1580
+ "type": "function"
1581
+ },
1582
+ {
1583
+ "inputs": [
1584
+ {
1585
+ "internalType": "address",
1586
+ "name": "_authority",
1587
+ "type": "address"
1588
+ }
1589
+ ],
1590
+ "name": "initialize",
1591
+ "outputs": [],
1592
+ "stateMutability": "nonpayable",
1593
+ "type": "function"
1594
+ },
1595
+ {
1596
+ "inputs": [
1597
+ {
1598
+ "internalType": "address",
1599
+ "name": "owner",
1600
+ "type": "address"
1601
+ },
1602
+ {
1603
+ "internalType": "address",
1604
+ "name": "operator",
1605
+ "type": "address"
1606
+ }
1607
+ ],
1608
+ "name": "isApprovedForAll",
1609
+ "outputs": [
1610
+ {
1611
+ "internalType": "bool",
1612
+ "name": "",
1613
+ "type": "bool"
1614
+ }
1615
+ ],
1616
+ "stateMutability": "view",
1617
+ "type": "function"
1618
+ },
1619
+ {
1620
+ "inputs": [],
1621
+ "name": "isConsumingScheduledOp",
1622
+ "outputs": [
1623
+ {
1624
+ "internalType": "bytes4",
1625
+ "name": "",
1626
+ "type": "bytes4"
1627
+ }
1628
+ ],
1629
+ "stateMutability": "view",
1630
+ "type": "function"
1631
+ },
1632
+ {
1633
+ "inputs": [
1634
+ {
1635
+ "internalType": "address",
1636
+ "name": "to",
1637
+ "type": "address"
1638
+ },
1639
+ {
1640
+ "components": [
1641
+ {
1642
+ "internalType": "address",
1643
+ "name": "account",
1644
+ "type": "address"
1645
+ },
1646
+ {
1647
+ "internalType": "uint256",
1648
+ "name": "principal",
1649
+ "type": "uint256"
1650
+ },
1651
+ {
1652
+ "internalType": "uint256",
1653
+ "name": "shares",
1654
+ "type": "uint256"
1655
+ },
1656
+ {
1657
+ "internalType": "uint256",
1658
+ "name": "indexAtMint",
1659
+ "type": "uint256"
1660
+ },
1661
+ {
1662
+ "internalType": "enum ReceiptNFT.Kind",
1663
+ "name": "kind",
1664
+ "type": "uint8"
1665
+ },
1666
+ {
1667
+ "internalType": "uint64",
1668
+ "name": "timestamp",
1669
+ "type": "uint64"
1670
+ }
1671
+ ],
1672
+ "internalType": "struct ReceiptNFT.Receipt",
1673
+ "name": "r",
1674
+ "type": "tuple"
1675
+ }
1676
+ ],
1677
+ "name": "mint",
1678
+ "outputs": [
1679
+ {
1680
+ "internalType": "uint256",
1681
+ "name": "tokenId",
1682
+ "type": "uint256"
1683
+ }
1684
+ ],
1685
+ "stateMutability": "nonpayable",
1686
+ "type": "function"
1687
+ },
1688
+ {
1689
+ "inputs": [],
1690
+ "name": "name",
1691
+ "outputs": [
1692
+ {
1693
+ "internalType": "string",
1694
+ "name": "",
1695
+ "type": "string"
1696
+ }
1697
+ ],
1698
+ "stateMutability": "view",
1699
+ "type": "function"
1700
+ },
1701
+ {
1702
+ "inputs": [],
1703
+ "name": "nextId",
1704
+ "outputs": [
1705
+ {
1706
+ "internalType": "uint256",
1707
+ "name": "",
1708
+ "type": "uint256"
1709
+ }
1710
+ ],
1711
+ "stateMutability": "view",
1712
+ "type": "function"
1713
+ },
1714
+ {
1715
+ "inputs": [
1716
+ {
1717
+ "internalType": "address",
1718
+ "name": "owner",
1719
+ "type": "address"
1720
+ }
1721
+ ],
1722
+ "name": "nonces",
1723
+ "outputs": [
1724
+ {
1725
+ "internalType": "uint256",
1726
+ "name": "",
1727
+ "type": "uint256"
1728
+ }
1729
+ ],
1730
+ "stateMutability": "view",
1731
+ "type": "function"
1732
+ },
1733
+ {
1734
+ "inputs": [
1735
+ {
1736
+ "internalType": "uint256",
1737
+ "name": "tokenId",
1738
+ "type": "uint256"
1739
+ }
1740
+ ],
1741
+ "name": "ownerOf",
1742
+ "outputs": [
1743
+ {
1744
+ "internalType": "address",
1745
+ "name": "",
1746
+ "type": "address"
1747
+ }
1748
+ ],
1749
+ "stateMutability": "view",
1750
+ "type": "function"
1751
+ },
1752
+ {
1753
+ "inputs": [],
1754
+ "name": "pause",
1755
+ "outputs": [],
1756
+ "stateMutability": "nonpayable",
1757
+ "type": "function"
1758
+ },
1759
+ {
1760
+ "inputs": [],
1761
+ "name": "paused",
1762
+ "outputs": [
1763
+ {
1764
+ "internalType": "bool",
1765
+ "name": "",
1766
+ "type": "bool"
1767
+ }
1768
+ ],
1769
+ "stateMutability": "view",
1770
+ "type": "function"
1771
+ },
1772
+ {
1773
+ "inputs": [],
1774
+ "name": "proxiableUUID",
1775
+ "outputs": [
1776
+ {
1777
+ "internalType": "bytes32",
1778
+ "name": "",
1779
+ "type": "bytes32"
1780
+ }
1781
+ ],
1782
+ "stateMutability": "view",
1783
+ "type": "function"
1784
+ },
1785
+ {
1786
+ "inputs": [
1787
+ {
1788
+ "internalType": "uint256",
1789
+ "name": "",
1790
+ "type": "uint256"
1791
+ }
1792
+ ],
1793
+ "name": "receiptOf",
1794
+ "outputs": [
1795
+ {
1796
+ "internalType": "address",
1797
+ "name": "account",
1798
+ "type": "address"
1799
+ },
1800
+ {
1801
+ "internalType": "uint256",
1802
+ "name": "principal",
1803
+ "type": "uint256"
1804
+ },
1805
+ {
1806
+ "internalType": "uint256",
1807
+ "name": "shares",
1808
+ "type": "uint256"
1809
+ },
1810
+ {
1811
+ "internalType": "uint256",
1812
+ "name": "indexAtMint",
1813
+ "type": "uint256"
1814
+ },
1815
+ {
1816
+ "internalType": "enum ReceiptNFT.Kind",
1817
+ "name": "kind",
1818
+ "type": "uint8"
1819
+ },
1820
+ {
1821
+ "internalType": "uint64",
1822
+ "name": "timestamp",
1823
+ "type": "uint64"
1824
+ }
1825
+ ],
1826
+ "stateMutability": "view",
1827
+ "type": "function"
1828
+ },
1829
+ {
1830
+ "inputs": [
1831
+ {
1832
+ "internalType": "address",
1833
+ "name": "from",
1834
+ "type": "address"
1835
+ },
1836
+ {
1837
+ "internalType": "address",
1838
+ "name": "to",
1839
+ "type": "address"
1840
+ },
1841
+ {
1842
+ "internalType": "uint256",
1843
+ "name": "tokenId",
1844
+ "type": "uint256"
1845
+ }
1846
+ ],
1847
+ "name": "safeTransferFrom",
1848
+ "outputs": [],
1849
+ "stateMutability": "nonpayable",
1850
+ "type": "function"
1851
+ },
1852
+ {
1853
+ "inputs": [
1854
+ {
1855
+ "internalType": "address",
1856
+ "name": "from",
1857
+ "type": "address"
1858
+ },
1859
+ {
1860
+ "internalType": "address",
1861
+ "name": "to",
1862
+ "type": "address"
1863
+ },
1864
+ {
1865
+ "internalType": "uint256",
1866
+ "name": "tokenId",
1867
+ "type": "uint256"
1868
+ },
1869
+ {
1870
+ "internalType": "bytes",
1871
+ "name": "data",
1872
+ "type": "bytes"
1873
+ }
1874
+ ],
1875
+ "name": "safeTransferFrom",
1876
+ "outputs": [],
1877
+ "stateMutability": "nonpayable",
1878
+ "type": "function"
1879
+ },
1880
+ {
1881
+ "inputs": [
1882
+ {
1883
+ "internalType": "address",
1884
+ "name": "approver",
1885
+ "type": "address"
1886
+ },
1887
+ {
1888
+ "internalType": "bool",
1889
+ "name": "",
1890
+ "type": "bool"
1891
+ }
1892
+ ],
1893
+ "name": "setApprovalForAll",
1894
+ "outputs": [],
1895
+ "stateMutability": "pure",
1896
+ "type": "function"
1897
+ },
1898
+ {
1899
+ "inputs": [
1900
+ {
1901
+ "internalType": "address",
1902
+ "name": "newAuthority",
1903
+ "type": "address"
1904
+ }
1905
+ ],
1906
+ "name": "setAuthority",
1907
+ "outputs": [],
1908
+ "stateMutability": "nonpayable",
1909
+ "type": "function"
1910
+ },
1911
+ {
1912
+ "inputs": [
1913
+ {
1914
+ "internalType": "bytes4",
1915
+ "name": "interfaceId",
1916
+ "type": "bytes4"
1917
+ }
1918
+ ],
1919
+ "name": "supportsInterface",
1920
+ "outputs": [
1921
+ {
1922
+ "internalType": "bool",
1923
+ "name": "",
1924
+ "type": "bool"
1925
+ }
1926
+ ],
1927
+ "stateMutability": "view",
1928
+ "type": "function"
1929
+ },
1930
+ {
1931
+ "inputs": [],
1932
+ "name": "symbol",
1933
+ "outputs": [
1934
+ {
1935
+ "internalType": "string",
1936
+ "name": "",
1937
+ "type": "string"
1938
+ }
1939
+ ],
1940
+ "stateMutability": "view",
1941
+ "type": "function"
1942
+ },
1943
+ {
1944
+ "inputs": [
1945
+ {
1946
+ "internalType": "uint256",
1947
+ "name": "tokenId",
1948
+ "type": "uint256"
1949
+ }
1950
+ ],
1951
+ "name": "tokenURI",
1952
+ "outputs": [
1953
+ {
1954
+ "internalType": "string",
1955
+ "name": "",
1956
+ "type": "string"
1957
+ }
1958
+ ],
1959
+ "stateMutability": "view",
1960
+ "type": "function"
1961
+ },
1962
+ {
1963
+ "inputs": [
1964
+ {
1965
+ "internalType": "address",
1966
+ "name": "from",
1967
+ "type": "address"
1968
+ },
1969
+ {
1970
+ "internalType": "address",
1971
+ "name": "to",
1972
+ "type": "address"
1973
+ },
1974
+ {
1975
+ "internalType": "uint256",
1976
+ "name": "tokenId",
1977
+ "type": "uint256"
1978
+ }
1979
+ ],
1980
+ "name": "transferFrom",
1981
+ "outputs": [],
1982
+ "stateMutability": "nonpayable",
1983
+ "type": "function"
1984
+ },
1985
+ {
1986
+ "inputs": [],
1987
+ "name": "unpause",
1988
+ "outputs": [],
1989
+ "stateMutability": "nonpayable",
1990
+ "type": "function"
1991
+ },
1992
+ {
1993
+ "inputs": [
1994
+ {
1995
+ "internalType": "address",
1996
+ "name": "newImplementation",
1997
+ "type": "address"
1998
+ },
1999
+ {
2000
+ "internalType": "bytes",
2001
+ "name": "data",
2002
+ "type": "bytes"
2003
+ }
2004
+ ],
2005
+ "name": "upgradeToAndCall",
2006
+ "outputs": [],
2007
+ "stateMutability": "payable",
2008
+ "type": "function"
2009
+ }
2010
+ ],
2011
+ "bytecode": "0x60a080604052346029573060805261471b908161002f8239608051818181610dba01526136a00152f35b600080fdfe6080604052600436101561001257600080fd5b60003560e01c806207689a1461033657806301ffc9a71461033157806306fdde031461032c578063081812fc14610327578063095ea7b31461032257806323b872dd1461031d5780633a46b1a8146103185780633a7016d4146103135780633f4ba83a1461030e57806342842e0e1461030957806342966c681461030457806345164e7b146102ff578063490e7ea4146102fa5780634bf5d7e9146102f55780634db51f5e146102f05780634f1ef286146102eb57806352d1902d146102e6578063587cde1e146102e15780635c19a95c146102dc5780635c975abb146102d757806361b8ce8c146102d25780636352211e146102cd5780636d1a7473146102c857806370a08231146102c3578063743112cd146102be5780637a9e5e4b146102b95780637ecebe00146102b45780638293ace0146102af5780638456cb59146102aa57806384b0196e146102a55780638e539e8c146102a05780638fb360371461029b57806391ddadf41461029657806395d89b41146102915780639ab24eb01461028c578063a22cb46514610287578063a80e2a2214610282578063ad3cb1cc1461027d578063b12ed45e14610278578063b63e6ac314610273578063b88d4fde1461026e578063bf7e214f14610269578063c3cda52014610264578063c4d66de81461025f578063c7c4ff461461025a578063c87b56dd14610255578063cd3c3f5e14610250578063d22a40d01461024b578063e985e9c5146102465763efac70341461024157600080fd5b611c73565b611bea565b611bc7565b611bab565b6118f0565b6118c7565b61179b565b6116cd565b611697565b611643565b611596565b61151d565b6114d7565b6114b4565b61148f565b61144e565b61139a565b611377565b611324565b611247565b611176565b611085565b611062565b611009565b610f8e565b610f6b565b610f16565b610efa565b610eca565b610eac565b610e7c565b610e5a565b610e12565b610da7565b610ca0565b610c1b565b610bcc565b610ae8565b610a6c565b61092a565b6108f6565b61087d565b61085a565b610781565b610768565b6106f9565b6106ae565b6105bb565b6104e6565b610436565b600435906001600160a01b038216820361035157565b600080fd5b602435906001600160a01b038216820361035157565b634e487b7160e01b600052604160045260246000fd5b60c081019081106001600160401b0382111761039d57604052565b61036c565b6001600160401b03811161039d57604052565b604081019081106001600160401b0382111761039d57604052565b602081019081106001600160401b0382111761039d57604052565b60a081019081106001600160401b0382111761039d57604052565b90601f801991011681019081106001600160401b0382111761039d57604052565b60405190610434826103b5565b565b346103515760e03660031901126103515761044f61033b565b60c03660231901126103515760405161046781610382565b61046f610356565b815260443560208201526064356040820152608435606082015260a435600281101561035157608082015260c435906001600160401b0382168203610351576104d0926104c09260a0830152611c96565b6040519081529081906020820190565b0390f35b6001600160e01b031981160361035157565b34610351576020366003190112610351576020600435610505816104d4565b63ffffffff60e01b166380ac58cd60e01b8114908115610543575b8115610532575b506040519015158152f35b6301ffc9a760e01b14905038610527565b635b5e139f60e01b81149150610520565b600091031261035157565b60005b8381106105725750506000910152565b8181015183820152602001610562565b9060209161059b8151809281855285808601910161055f565b601f01601f1916010190565b9060206105b8928181520190610582565b90565b34610351576000806003193601126106ab5760405190806000805160206145c683398151915280546105ec81611de0565b8086529260209260019280841690811561067c5750600114610625575b6104d08761061981890382610406565b604051918291826105a7565b815293507f37c58c799b6609234b945e882912ee9ad34948a1dfaa20a97485e1a7752bbf815b83851061066957505050508101602001610619826104d03880610609565b805486860184015293820193810161064b565b9150508695506104d09693506020925061061994915060ff191682840152151560051b82010192933880610609565b80fd5b34610351576020366003190112610351576004356106cb81612857565b50600052600080516020614666833981519152602052602060018060a01b0360406000205416604051908152f35b3461035157604036600319011261035157602461071461033b565b60405163a9fbf51f60e01b81526001600160a01b039091166004820152fd5b6060906003190112610351576001600160a01b0390600435828116810361035157916024359081168103610351579060443590565b346103515761077f61077936610733565b91611fc3565b005b34610351576040366003190112610351576107a261079d61033b565b6121ad565b6107ad6024356129ff565b8154906000829160058411610804575b6107c8935084613635565b90816107e7575050602060005b6040516001600160d01b039091168152f35b6107f2602092612a5b565b9060005281600020015460301c6107d5565b919261080f81613494565b8103908111610855576107c8938560005265ffffffffffff80836020600020015416908516106000146108435750916107bd565b92915061084f90612a77565b906107bd565b611db2565b3461035157600036600319011261035157602060405167fcf45a9de1e9ce348152f35b34610351576000366003190112610351576108983633612551565b600080516020614626833981519152805460ff8116156108e45760ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b604051638dfc202b60e01b8152600490fd5b346103515761077f61090736610733565b9060405192610915846103d0565b60008452610924838383611fc3565b33612d81565b34610351576020366003190112610351576004356109483633612551565b610950612671565b600081815260008051602061464683398151915260205260408120549091906001600160a01b0390811615610a045761098882612887565b16156109ec576109c36109a5826000526001602052604060002090565b60046000918281558260018201558260028201558260038201550155565b33907fe861e0b12c283de7ca3f4d68d33f3bfc6fc01e4896cddf05e52b8f2a1e548e248380a380f35b60249060405190637e27328960e01b82526004820152fd5b604051637e27328960e01b815260048101839052602490fd5b600052600080516020614646833981519152602052604060002090565b634e487b7160e01b600052602160045260246000fd5b60021115610a5a57565b610a3a565b906002821015610a5a5752565b3461035157602036600319011261035157600435600052600160205260c060406000206001600160401b0360018060a01b038254169160018101549060028101546004600383015492015492604051958652602086015260408501526060840152610add6080840160ff8316610a5f565b60081c1660a0820152f35b34610351576020366003190112610351576004356000818152600080516020614646833981519152602052604090819020546001600160a01b039290831615610bb657600052600160205280600020815192610b4384610382565b81541683526004600182015491602085019283526002810154848601526003810154606086015201549260ff8416906002821015610a5a5760a06001600160401b036104d096610ba694608085015260081c169101906001600160401b03169052565b5190519081529081906020820190565b6024915190637e27328960e01b82526004820152fd5b34610351576000366003190112610351576104d0604051610bec816103b5565b600e81526d06d6f64653d74696d657374616d760941b6020820152604051918291602083526020830190610582565b3461035157600036600319011261035157602060405167bf1faa41f651ca3a8152f35b6001600160401b03811161039d57601f01601f191660200190565b81601f8201121561035157803590610c7082610c3e565b92610c7e6040519485610406565b8284526020838301011161035157816000926020809301838601378301015290565b604036600319011261035157610cb461033b565b6024356001600160401b03811161035157610cd3903690600401610c59565b90610cdc613696565b610ce63633612551565b610cee613696565b6040516352d1902d60e01b8152916020836004816001600160a01b0386165afa60009381610d76575b50610d3d57604051634c9c8ce360e01b81526001600160a01b0383166004820152602490fd5b906000805160206145e68339815191528303610d5d5761077f925061409d565b604051632a87526960e21b815260048101849052602490fd5b610d9991945060203d602011610da0575b610d918183610406565b8101906136f0565b9238610d17565b503d610d87565b34610351576000366003190112610351577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003610e005760206040516000805160206145e68339815191528152f35b60405163703e46dd60e11b8152600490fd5b346103515760203660031901126103515760206001600160a01b0380610e3661033b565b166000526000805160206145a6833981519152825260406000205416604051908152f35b346103515760203660031901126103515761077f610e7661033b565b33612a92565b3461035157600036600319011261035157602060ff60008051602061462683398151915254166040519015158152f35b34610351576000366003190112610351576020600054604051908152f35b34610351576020366003190112610351576020610ee8600435612857565b6040516001600160a01b039091168152f35b3461035157600036600319011261035157602060405160028152f35b3461035157602036600319011261035157610f2f61033b565b6001600160a01b03811615610f5257610f496020916121e6565b54604051908152f35b6040516322718ad960e21b815260006004820152602490fd5b3461035157600036600319011261035157602060405167054ed88267a063458152f35b3461035157602036600319011261035157610fa761033b565b600080516020614586833981519152546001600160a01b03919082163303610ff257803b15610fd95761077f90612b0d565b6040516361798f2f60e11b815291166004820152602490fd5b60405162d1953b60e31b8152336004820152602490fd5b34610351576020366003190112610351576001600160a01b0361102a61033b565b166000527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb006020526020604060002054604051908152f35b3461035157600036600319011261035157602060405167973871d7e74f37488152f35b34610351576000366003190112610351576110a03633612551565b6110a8612671565b600080516020614626833981519152600160ff198254161790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b9161112290949194600f60f81b845261111460209660e0602087015260e0860190610582565b908482036040860152610582565b92606083015260018060a01b03166080820152600060a082015260c08183039101526020808451928381520193019160005b828110611162575050505090565b835185529381019392810192600101611154565b34610351576000366003190112610351577fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10054158061121e575b156111e1576111bd611e1a565b6111c5611f02565b906104d06111d1612258565b60405193849330914691866110ee565b60405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606490fd5b507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10154156111b0565b34610351576020366003190112610351576112636004356129ff565b6000805160206146068339815191529081549060008291600584116112c9575b61128d93506135bf565b90816112a157505060405160008152602090f35b6112ac602092612a5b565b906000526000805160206146a6833981519152015460301c6107d5565b91926112d481613494565b81039081116108555761128d938560005265ffffffffffff80836000805160206146a683398151915201541690851610600014611312575091611283565b92915061131e90612a77565b90611283565b34610351576000366003190112610351576000805160206145868339815191525460a01c60ff161561136e576020638fb3603760e01b5b6040516001600160e01b03199091168152f35b6020600061135b565b3461035157600036600319011261035157602060405165ffffffffffff42168152f35b34610351576000806003193601126106ab5760405190806000805160206146c683398151915280546113cb81611de0565b8086529260209260019280841690811561067c57506001146113f7576104d08761061981890382610406565b815293507ff4bad0a69248f59680a4f2b3000328cec71a413447c96781cfe5996daa8c456e5b83851061143b57505050508101602001610619826104d03880610609565b805486860184015293820193810161141d565b346103515760203660031901126103515760206001600160d01b0361147c61147761079d61033b565b612bbb565b16604051908152f35b8015150361035157565b346103515760403660031901126103515760246114aa61033b565b6107148235611485565b346103515760003660031901126103515760206040516711d8f2d2caa4286e8152f35b34610351576000366003190112610351576104d06040516114f7816103b5565b60058152640352e302e360dc1b6020820152604051918291602083526020830190610582565b34610351576000366003190112610351576020604051670b49c88cd3d1ba3c8152f35b91909160a06001600160401b038160c0840195600180831b03815116855260208101516020860152604081015160408601526060810151606086015261158e60808201516080870190610a5f565b015116910152565b34610351576020366003190112610351576004356040516115b681610382565b60a0600091828152826020820152826040820152826060820152826080820152015260018060a01b036115f86115eb83610a1d565b546001600160a01b031690565b16156116295761161d6116186104d0926000526001602052604060002090565b612270565b60405191829182611540565b604051637e27328960e01b81526004810191909152602490fd5b346103515760803660031901126103515761165c61033b565b611664610356565b90604435606435926001600160401b0384116103515761168b61077f943690600401610c59565b92610924838383611fc3565b3461035157600036600319011261035157600080516020614586833981519152546040516001600160a01b039091168152602090f35b346103515760c0366003190112610351576116e661033b565b6044359060243560643560ff81168103610351578342116117825761177661077f9461177d926040519060208201927fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf845260018060a01b038816604084015286606084015260808301526080825261175e826103eb565b61177160a4359360843593519020612e18565b612e98565b9182612eb0565b612a92565b604051632341d78760e11b815260048101859052602490fd5b34610351576020366003190112610351576117b461033b565b60008051602061468683398151915254906001600160401b0360ff8360401c16159216801590816118bf575b60011490816118b5575b1590816118ac575b5061189a57600080516020614686833981519152805467ffffffffffffffff191660011790556118269082611875576122d4565b61182c57005b600080516020614686833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b600080516020614686833981519152805460ff60401b1916600160401b1790556122d4565b60405163f92ee8a960e01b8152600490fd5b905015386117f2565b303b1591506117ea565b8391506117e0565b34610351576000366003190112610351576002546040516001600160a01b039091168152602090f35b34610351576020366003190112610351576004356001600160a01b036119186115eb83610a1d565b16156116295761193e611938611618836000526001602052604060002090565b91612fa2565b608082015161194c81610a50565b61195581610a50565b611b9d57611961612499565b915b602081015161197190612fa2565b90604081015161198090612fa2565b906060015161198e90612fa2565b6040517f646174613a6170706c69636174696f6e2f6a736f6e3b757466382c7b000000006020820152948594919391603c860175226e616d65223a22576972652052656365697074202360501b81526016016119e9916124ba565b61088b60f21b81526002017f226465736372697074696f6e223a22536f756c626f756e64207265636569707481527f20666f72207374616b696e67206f7220707265746f6b656e2070757263686173602082015263194b888b60e21b60408201526044016d2261747472696275746573223a5b60901b8152600e017f7b2274726169745f74797065223a226b696e64222c2276616c7565223a2200008152601e01611a93916124ba565b62089f4b60ea1b81526003017f7b2274726169745f74797065223a227072696e636970616c222c2276616c7565815262111d1160e91b6020820152602301611ada916124ba565b62089f4b60ea1b81526003017f7b2274726169745f74797065223a22736861726573222c2276616c7565223a228152602001611b15916124ba565b62089f4b60ea1b81526003017f7b2274726169745f74797065223a22696e64657841744d696e74222c2276616c8152643ab2911d1160d91b6020820152602501611b5e916124ba565b61227d60f01b8152600201605d60f81b8152600101607d60f81b815260010103601f1981018252611b8f9082610406565b6040516104d08192826105a7565b611ba561246c565b91611963565b3461035157600036600319011261035157602060405160018152f35b3461035157600036600319011261035157602060405167ae92c175e0db63cd8152f35b3461035157604036600319011261035157602060ff611c67611c0a61033b565b611c50611c15610356565b6001600160a01b0390921660009081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793056020526040902090565b9060018060a01b0316600052602052604060002090565b54166040519015158152f35b3461035157600036600319011261035157602060405167c58ec56834342af58152f35b90611ca13633612551565b611ca9612671565b600054916000198314611db25760018381016000908155426001600160401b031660a0850190815285825260209290925260409020835181546001600160a01b0319166001600160a01b039182161782559060049060208601516001820155604086015160028201556060860151600382015501926080850151926002841015610a5a5784611d6e611d9192611d617f24ea2f0e9b02210feb590f3e545ffa02971c83f9ebc85af18545cffb74ea8bf7978b99611dc8565b516001600160401b031690565b68ffffffffffffffff0082549160081b169068ffffffffffffffff001916179055565b611d9b848261269c565b611dac604051928392169582611540565b0390a390565b634e487b7160e01b600052601160045260246000fd5b906002811015610a5a5760ff80198354169116179055565b90600182811c92168015611e10575b6020831014611dfa57565b634e487b7160e01b600052602260045260246000fd5b91607f1691611def565b604051906000827fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10291825492611e4f84611de0565b80845293602091600191828116908115611edc5750600114611e7b575b50505061043492500383610406565b60009081527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d9590935091905b828410611ec45750610434945050508101602001388080611e6c565b85548885018301529485019487945092810192611ea8565b925050506020925061043494915060ff191682840152151560051b820101388080611e6c565b604051906000827fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10391825492611f3784611de0565b80845293602091600191828116908115611edc5750600114611f625750505061043492500383610406565b60009081527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b759590935091905b828410611fab5750610434945050508101602001388080611e6c565b85548885018301529485019487945092810192611f8f565b91906001600160a01b039081811615612194578190611fe0612671565b611fec6115eb85610a1d565b82811615158061218c575b61203d575b50612009908433916133ff565b931692169082820361201a57505050565b60649350604051926364283d7b60e01b8452600484015260248301526044820152fd5b6000805160206145868339815191525490925061207090612064906001600160a01b031681565b6001600160a01b031690565b604080516368fc2b7760e11b80825267bf1faa41f651ca3a60048301526001600160a01b0395909516602482015292918184604481845afa801561216957869460009161216e575b50156120c8575b50509091611ffc565b815194855267bf1faa41f651ca3a60048601526001600160a01b03831660248601529193909250908290829060449082905afa9081156121695760009161213b575b501561211957818184926120bf565b51633250574960e11b81526001600160a01b0391909116600482015260249150fd5b61215b9150823d8411612162575b6121538183610406565b8101906129d3565b503861210a565b503d612149565b612545565b6121859150833d8511612162576121538183610406565b50386120b8565b506001611ff7565b604051633250574960e11b815260006004820152602490fd5b6001600160a01b031660009081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d016020526040902090565b6001600160a01b031660009081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793036020526040902090565b6001600160a01b031660009081527fb06af95d3168a3d1f71b75be6205cdfdeb4c8482beb33b78ddc39447ad8fa4e66020526040902090565b604051612264816103d0565b60008152906000368137565b9060405161227d81610382565b6004819360018060a01b038154168352600181015460208401526002810154604084015260038101546060840152015460ff81166002811015610a5a5760a0916001600160401b0391608085015260081c16910152565b6040516122e0816103b5565b600c81526020906b15da5c9948149958d95a5c1d60a21b602082015260405191612309836103b5565b600883526715d49150d152541560c21b602084015261232661394c565b61232e61394c565b8151906001600160401b03821161039d576000805160206145c6833981519152926123628361235d8654611de0565b61397b565b602091601f84116001146123cf5750826123b29695936123a5959361239e936000926123c4575b50508160011b916000199060031b1c19161790565b9055613a79565b6123ad61394c565b612f27565b6123ba61394c565b6104346001600055565b015190503880612389565b6000805160206145c68339815191526000529190601f1984167f37c58c799b6609234b945e882912ee9ad34948a1dfaa20a97485e1a7752bbf81936000905b8282106124545750509260019285926123b29998966123a598961061243b575b505050811b019055613a79565b015160001960f88460031b161c1916905538808061242e565b8060018697829497870151815501960194019061240e565b60405190612479826103b5565b6011825270505245544f4b454e5f505552434841534560781b6020830152565b604051906124a6826103b5565b60058252645354414b4560d81b6020830152565b906124cd6020928281519485920161055f565b0190565b60041161035157600090600490565b6001600160e01b031990358181169392600481106124fd57505050565b60040360031b82901b16169150565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b6040513d6000823e3d90fd5b600080516020614586833981519152805461258a906001600160a01b031661258161257b866124d1565b906124e0565b908430916130e6565b9015612597575b50505050565b63ffffffff161561265157600080516020614586833981519152805460ff60a01b1916600160a01b1790556125d990612064908190546001600160a01b031690565b91823b15610351576126059260009283604051809681958294634a63ebf760e11b84526004840161250c565b03925af1801561216957612638575b50600080516020614586833981519152805460ff60a01b1916905538808080612591565b8061264561264b926103a2565b80610554565b38612614565b60405162d1953b60e31b81526001600160a01b0383166004820152602490fd5b60ff600080516020614626833981519152541661268a57565b60405163d93c066560e01b8152600490fd5b9190916040928351916126ae836103d0565b600083526001600160a01b038181161561283f576126ca612671565b6126d66115eb84610a1d565b818116151580612837575b61271a575b506126f18383613207565b166127025761043493945033612c88565b84516339e3563760e11b815260006004820152602490fd5b6000805160206145868339815191525461273e90612064906001600160a01b031681565b87516368fc2b7760e11b80825267bf1faa41f651ca3a60048301526001600160a01b0393909316602482015290918882604481865afa8015612169578992600091612819575b5015612792575b50506126e6565b815190815267bf1faa41f651ca3a60048201526001600160a01b038516602482015291829060449082905afa908115612169576000916127fb575b50156127db5738868161278b565b8551633250574960e11b81526001600160a01b0383166004820152602490fd5b6128129150873d8911612162576121538183610406565b50386127cd565b6128309150833d8511612162576121538183610406565b5038612784565b5060016126e1565b8551633250574960e11b815260006004820152602490fd5b600081815260008051602061464683398151915260205260409020546001600160a01b03169081156109ec575090565b61288f612671565b61289b6115eb82610a1d565b6001600160a01b0381161515806129cb575b6128bc575b506105b890613318565b600080516020614586833981519152546128e090612064906001600160a01b031681565b604080516368fc2b7760e11b80825267bf1faa41f651ca3a60048301526001600160a01b039490941660248201529092908381604481865afa908115612169576000916129ad575b5015612936575b50506128b2565b825190815267bf1faa41f651ca3a600482015260006024820152908290829060449082905afa9081156121695760009161298f575b501561297857808061292f565b51633250574960e11b815260006004820152602490fd5b6129a69150823d8411612162576121538183610406565b503861296b565b6129c49150843d8611612162576121538183610406565b5038612928565b5060006128ad565b919082604091031261035157602082516129ec81611485565b92015163ffffffff811681036103515790565b65ffffffffffff9081421680821015612a3d5750818111612a1e571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b6044925060405191637669fc0f60e11b835260048301526024820152fd5b60001981019190821161085557565b9190820391821161085557565b906001820180921161085557565b9190820180921161085557565b6001600160a01b0381811660008181526000805160206145a68339815191526020526040812080548685166001600160a01b03198216811790925561043496941694612b069390928691907f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9080a461221f565b54916136ff565b60008051602061458683398151915280546001600160a01b0319166001600160a01b0390921691821790556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad90602090a1565b600080516020614606833981519152805480612b83575050600090565b80600019810111610855577f88c46c62109817164d0ae1873830d4299a82e5daf552a3d8e989b27638fcf74791600052015460301c90565b805480612bc9575050600090565b60001991818381011161085557600052602060002001015460301c90565b9081602091031261035157516105b8816104d4565b6105b8939260809260018060a01b031682526000602083015260408201528160608201520190610582565b6001600160a01b0391821681529116602082015260408101919091526080606082018190526105b892910190610582565b3d15612c83573d90612c6982610c3e565b91612c776040519384610406565b82523d6000602084013e565b606090565b91929092833b612c985750505050565b612cbc916020916040519384928392630a85bd0160e11b9788855260048501612bfc565b038160006001600160a01b0388165af160009181612d50575b50612d145782612ce3612c58565b8051919082612d0d57604051633250574960e11b81526001600160a01b0383166004820152602490fd5b6020915001fd5b6001600160e01b03191603612d2d575038808080612591565b604051633250574960e11b81526001600160a01b03919091166004820152602490fd5b612d7391925060203d602011612d7a575b612d6b8183610406565b810190612be7565b9038612cd5565b503d612d61565b92939193843b612d93575b5050505050565b602091612db66040519485938493630a85bd0160e11b9889865260048601612c27565b038160006001600160a01b0388165af160009181612df7575b50612ddd5782612ce3612c58565b6001600160e01b03191603612d2d57503880808080612d8c565b612e1191925060203d602011612d7a57612d6b8183610406565b9038612dcf565b604290612e236141e7565b612e2b614251565b6040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152612e7a81610382565b519020906040519161190160f01b8352600283015260228201522090565b916105b89391612ea793613831565b909291926138bf565b6001600160a01b03811660009081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb006020526040902080546001810190915591829003612efc575050565b6040516301d4b62360e61b81526001600160a01b039190911660048201526024810191909152604490fd5b612f4890612f3361394c565b612f3b61394c565b612f4361394c565b612b0d565b61043461394c565b90612f5a82610c3e565b612f676040519182610406565b8281528092612f78601f1991610c3e565b0190602036910137565b8115612f8c570490565b634e487b7160e01b600052601260045260246000fd5b806000917a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000808210156130d8575b506d04ee2d6d415b85acef8100000000808310156130c9575b50662386f26fc10000808310156130ba575b506305f5e100808310156130ab575b506127108083101561309c575b50606482101561308c575b600a80921015613082575b60019081602161303a60018701612f50565b95860101905b61304c575b5050505090565b600019019083906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a83530491821561307d57919082613040565b613045565b9160010191613028565b919060646002910491019161301d565b60049193920491019138613012565b60089193920491019138613005565b60109193920491019138612ff6565b60209193920491019138612fe4565b604093508104915038612fcb565b93919060409060009560009384928397855191602083019363b700961360e01b855260018060a01b03809216602485015216604483015263ffffffff60e01b16606482015260648152613138816103eb565b8380528360205251915afa61314a5750565b9150915051906020518060201c150290565b60405190613169826103b5565b601b82527f5f7472616e73666572566f74696e67556e6974733a2066726f6d3a00000000006020830152565b604051906131a2826103b5565b601b82527f202020202020202020202020202020202020202020202020746f3a00000000006020830152565b604051906131db826103b5565b601b82527f20202020202020202020202020202020202020202076616c75653a00000000006020830152565b8160005260016020526040600020916040519161322383610382565b83546001600160a01b039081168452600185015460208501908152600280870154604087015260038701546060870152600490960154919560ff831690811015610a5a578560a06001600160401b0361329e956132969460806105b89b015260081c169101906001600160401b03169052565b519282613b79565b938085166132fd575b81166132e2575b6132bf846132ba61315c565b613e52565b6132cb816132ba613195565b6132dc826132d76131ce565b613ea0565b83613fc1565b6132eb8161221f565b6132f6838254612a85565b90556132ae565b6133068561221f565b613311848254612a6a565b90556132a7565b8060005260016020526040600020906040519061333482610382565b82546001600160a01b039081168352600184015460208401908152600280860154604086015260038601546060860152600490950154919460ff831690811015610a5a578460a06001600160401b036133ae956133a79460806105b89a015260081c169101906001600160401b03169052565b5191613c47565b9283166133e4575b6133c2836132ba61315c565b6133d26133cd613195565b613e0a565b6133de816132d76131ce565b82613ee3565b6133ed8361221f565b6133f8828254612a6a565b90556133b6565b908060005260016020526040600020916040519261341c84610382565b60018060a01b0394858254168552600460018301549260208701938452600281015460408801526003810154606088015201549160ff83166002811015610a5a578660a06001600160401b0361329e9661348c9460806105b89c015260081c169101906001600160401b03169052565b519383613ce1565b60018111156105b857600181600160801b8110156135ad575b61355561354b61354161353761352d61352361356197600488600160401b61355c9a10156135a0575b640100000000811015613593575b62010000811015613586575b61010081101561357a575b601081101561356e575b1015613566575b60030260011c61351c818b612f82565b0160011c90565b61351c818a612f82565b61351c8189612f82565b61351c8188612f82565b61351c8187612f82565b61351c8186612f82565b8093612f82565b821190565b900390565b60011b61350c565b811c9160021b91613505565b60081c91811b916134fb565b60101c9160081b916134f0565b60201c9160101b916134e4565b60401c9160201b916134d6565b50600160401b9050608082901c6134ad565b905b8281106135cd57505090565b90918082169080831860011c82018092116108555760008051602061460683398151915260005265ffffffffffff80836000805160206146a6833981519152015416908516106000146136235750915b906135c1565b92915061362f90612a77565b9061361d565b91905b8382106136455750505090565b9091928083169080841860011c82018092116108555760008581526020902082015465ffffffffffff90811690841610156136845750925b9190613638565b93925061369090612a77565b9161367d565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081163081149182156136d4575b5050610e0057565b6000805160206145e683398151915254161415905038806136cc565b90816020910312610351575190565b6001600160a01b03808316939291908116908185141580613828575b613726575050505050565b8161379b575b50508261373b575b8080612d8c565b7fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7249161377261376c613778936121ad565b91614144565b90614177565b604080516001600160d01b039384168152919092166020820152a2388080613734565b6137a4906121ad565b6137ad84614144565b6001600160d01b039081806137c185612bbb565b16911690038181116108555761380561381e917fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7249465ffffffffffff4216906144c9565b6040805192851683529316602082015291829190820190565b0390a2388061372c565b5083151561371b565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116138a957926020929160ff608095604051948552168484015260408301526060820152600092839182805260015afa156121695780516001600160a01b038116156138a057918190565b50809160019190565b50505060009160039190565b60041115610a5a57565b6138c8816138b5565b806138d1575050565b6138da816138b5565b600181036138f45760405163f645eedf60e01b8152600490fd5b6138fd816138b5565b6002810361391e5760405163fce698f760e01b815260048101839052602490fd5b8061392a6003926138b5565b146139325750565b6040516335e2f38360e21b81526004810191909152602490fd5b60ff6000805160206146868339815191525460401c161561396957565b604051631afcd79f60e31b8152600490fd5b601f8111613987575050565b6000906000805160206145c68339815191526000527f37c58c799b6609234b945e882912ee9ad34948a1dfaa20a97485e1a7752bbf81906020601f850160051c830194106139f0575b601f0160051c01915b8281106139e557505050565b8181556001016139d9565b90925082906139d0565b601f8111613a06575050565b6000906000805160206146c68339815191526000527ff4bad0a69248f59680a4f2b3000328cec71a413447c96781cfe5996daa8c456e906020601f850160051c83019410613a6f575b601f0160051c01915b828110613a6457505050565b818155600101613a58565b9092508290613a4f565b9081516001600160401b03811161039d576000805160206146c683398151915290613aad81613aa88454611de0565b6139fa565b602080601f8311600114613ae457508190613ae09394956000926123c45750508160011b916000199060031b1c19161790565b9055565b90601f19831695613b246000805160206146c68339815191526000527ff4bad0a69248f59680a4f2b3000328cec71a413447c96781cfe5996daa8c456e90565b926000905b888210613b6157505083600195969710613b48575b505050811b019055565b015160001960f88460031b161c19169055388080613b3e565b80600185968294968601518155019501930190613b29565b6001600160a01b039190613bca83613b9084610a1d565b54169384613c08575b82169182613bf3575b613bab84610a1d565b80546001600160a01b0319166001600160a01b03909216919091179055565b827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a490565b613bfc816121e6565b60018154019055613ba2565b60008481526000805160206146668339815191526020526040902080546001600160a01b0319169055613c3a856121e6565b8054600019019055613b99565b6001600160a01b03613c5882610a1d565b54169081613ca2575b613c6a81610a1d565b80546001600160a01b03191690556000827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a490565b60008181526000805160206146668339815191526020526040902080546001600160a01b0319169055613cd4826121e6565b8054600019019055613c61565b6001600160a01b0380613cf384610a1d565b5416938181168015159081613d20575b505050613bca9084613c085782169182613bf357613bab84610a1d565b81613d7e575b5015613d33578080613d03565b839085613d5357604051637e27328960e01b815260048101839052602490fd5b60405163177e802f60e01b81526001600160a01b039190911660048201526024810191909152604490fd5b86811491508115613dbf575b8115613d98575b5038613d26565b90508460005260008051602061466683398151915260205282604060002054161438613d91565b905060ff613e0283611c508960018060a01b03166000527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079305602052604060002090565b541690613d8a565b613e38613e4d6104349260405192839163319af33360e01b6020840152604060248401526064830190610582565b6000604483015203601f198101835282610406565b6141ae565b613e4d613e81916104349360405193849263319af33360e01b6020850152604060248501526064840190610582565b6001600160a01b0391909116604483015203601f198101835282610406565b613e4d613ecf9161043493604051938492632d839cb360e21b6020850152604060248501526064840190610582565b90604483015203601f198101835282610406565b6001600160a01b0390811691908215613f81575b613f0082614144565b6001600160d01b0393908480613f14612b66565b169116900393841161085557613f356104349465ffffffffffff42166143c6565b505060009081526000805160206145a683398151915260205260408120549080527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f97454821691166136ff565b613f8a82614144565b6001600160d01b03908180613f9d612b66565b1691160190811161085557613fba9065ffffffffffff42166143c6565b5050613ef7565b6001600160a01b03908116929181908415614059575b16908115614012575b610434936000526000805160206145a683398151915260205280604060002054169160005260406000205416906136ff565b61401b83614144565b6001600160d01b039490858061402f612b66565b1691169003948511610855576140506104349565ffffffffffff42166143c6565b50509350613fe0565b905061406483614144565b6001600160d01b0391908280614078612b66565b1691160191821161085557614096839265ffffffffffff42166143c6565b5050613fd7565b90813b15614123576000805160206145e683398151915280546001600160a01b0319166001600160a01b0384169081179091557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a280511561410857614105916141c9565b50565b50503461411157565b60405163b398979f60e01b8152600490fd5b604051634c9c8ce360e01b81526001600160a01b0383166004820152602490fd5b6001600160d01b0390818111614158571690565b604490604051906306dfcc6560e41b825260d060048301526024820152fd5b906001600160d01b0390818061418c85612bbb565b16911601908111610855576141aa9165ffffffffffff4216906144c9565b9091565b600080916020815191016a636f6e736f6c652e6c6f675afa50565b6000806105b893602081519101845af46141e1612c58565b91614296565b6141ef611e1a565b80519081156141ff576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10054801561422c5790565b507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47090565b614259611f02565b8051908115614269576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10154801561422c5790565b906142bd57508051156142ab57602081519101fd5b60405163d6bda27560e01b8152600490fd5b815115806142f0575b6142ce575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156142c6565b600080516020614606833981519152908154600160401b81101561039d576001810180845581101561436157600092909252805160209091015160301b65ffffffffffff191665ffffffffffff91909116176000805160206146a68339815191529190910155565b634e487b7160e01b600052603260045260246000fd5b908154600160401b81101561039d57600181018084558110156143615760009283526020928390208251929093015160301b65ffffffffffff191665ffffffffffff9290921691909117910155565b60008051602061460683398151915254919291801561449f576143eb61441091612a5b565b6000805160206146068339815191526000526000805160206146a68339815191520190565b9081549165ffffffffffff9081841691831680831161448d578692036144555761444e92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b505061448890614474614466610427565b65ffffffffffff9092168252565b6001600160d01b03851660208201526142f9565b61444e565b604051632520601d60e01b8152600490fd5b506144c3906144af614466610427565b6001600160d01b03841660208201526142f9565b60009190565b80549293928015614560576144e06144ed91612a5b565b8260005260206000200190565b9182549265ffffffffffff9182851692811680841161448d5787930361452c575061444e92509065ffffffffffff82549181199060301b169116179055565b9150506144889161454c61453e610427565b65ffffffffffff9093168352565b6001600160d01b0386166020830152614377565b50906144c39161457161453e610427565b6001600160d01b038516602083015261437756fef3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00e8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0080bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079300360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbce8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d02cd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330080bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930280bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079304f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0088c46c62109817164d0ae1873830d4299a82e5daf552a3d8e989b27638fcf74880bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079301a2646970667358221220b5eb66ecee72f4dda9f04f0604a53aa3c43da241876d04e05f1311eb92dd21fd64736f6c63430008190033",
2012
+ "deployedBytecode": "0x6080604052600436101561001257600080fd5b60003560e01c806207689a1461033657806301ffc9a71461033157806306fdde031461032c578063081812fc14610327578063095ea7b31461032257806323b872dd1461031d5780633a46b1a8146103185780633a7016d4146103135780633f4ba83a1461030e57806342842e0e1461030957806342966c681461030457806345164e7b146102ff578063490e7ea4146102fa5780634bf5d7e9146102f55780634db51f5e146102f05780634f1ef286146102eb57806352d1902d146102e6578063587cde1e146102e15780635c19a95c146102dc5780635c975abb146102d757806361b8ce8c146102d25780636352211e146102cd5780636d1a7473146102c857806370a08231146102c3578063743112cd146102be5780637a9e5e4b146102b95780637ecebe00146102b45780638293ace0146102af5780638456cb59146102aa57806384b0196e146102a55780638e539e8c146102a05780638fb360371461029b57806391ddadf41461029657806395d89b41146102915780639ab24eb01461028c578063a22cb46514610287578063a80e2a2214610282578063ad3cb1cc1461027d578063b12ed45e14610278578063b63e6ac314610273578063b88d4fde1461026e578063bf7e214f14610269578063c3cda52014610264578063c4d66de81461025f578063c7c4ff461461025a578063c87b56dd14610255578063cd3c3f5e14610250578063d22a40d01461024b578063e985e9c5146102465763efac70341461024157600080fd5b611c73565b611bea565b611bc7565b611bab565b6118f0565b6118c7565b61179b565b6116cd565b611697565b611643565b611596565b61151d565b6114d7565b6114b4565b61148f565b61144e565b61139a565b611377565b611324565b611247565b611176565b611085565b611062565b611009565b610f8e565b610f6b565b610f16565b610efa565b610eca565b610eac565b610e7c565b610e5a565b610e12565b610da7565b610ca0565b610c1b565b610bcc565b610ae8565b610a6c565b61092a565b6108f6565b61087d565b61085a565b610781565b610768565b6106f9565b6106ae565b6105bb565b6104e6565b610436565b600435906001600160a01b038216820361035157565b600080fd5b602435906001600160a01b038216820361035157565b634e487b7160e01b600052604160045260246000fd5b60c081019081106001600160401b0382111761039d57604052565b61036c565b6001600160401b03811161039d57604052565b604081019081106001600160401b0382111761039d57604052565b602081019081106001600160401b0382111761039d57604052565b60a081019081106001600160401b0382111761039d57604052565b90601f801991011681019081106001600160401b0382111761039d57604052565b60405190610434826103b5565b565b346103515760e03660031901126103515761044f61033b565b60c03660231901126103515760405161046781610382565b61046f610356565b815260443560208201526064356040820152608435606082015260a435600281101561035157608082015260c435906001600160401b0382168203610351576104d0926104c09260a0830152611c96565b6040519081529081906020820190565b0390f35b6001600160e01b031981160361035157565b34610351576020366003190112610351576020600435610505816104d4565b63ffffffff60e01b166380ac58cd60e01b8114908115610543575b8115610532575b506040519015158152f35b6301ffc9a760e01b14905038610527565b635b5e139f60e01b81149150610520565b600091031261035157565b60005b8381106105725750506000910152565b8181015183820152602001610562565b9060209161059b8151809281855285808601910161055f565b601f01601f1916010190565b9060206105b8928181520190610582565b90565b34610351576000806003193601126106ab5760405190806000805160206145c683398151915280546105ec81611de0565b8086529260209260019280841690811561067c5750600114610625575b6104d08761061981890382610406565b604051918291826105a7565b815293507f37c58c799b6609234b945e882912ee9ad34948a1dfaa20a97485e1a7752bbf815b83851061066957505050508101602001610619826104d03880610609565b805486860184015293820193810161064b565b9150508695506104d09693506020925061061994915060ff191682840152151560051b82010192933880610609565b80fd5b34610351576020366003190112610351576004356106cb81612857565b50600052600080516020614666833981519152602052602060018060a01b0360406000205416604051908152f35b3461035157604036600319011261035157602461071461033b565b60405163a9fbf51f60e01b81526001600160a01b039091166004820152fd5b6060906003190112610351576001600160a01b0390600435828116810361035157916024359081168103610351579060443590565b346103515761077f61077936610733565b91611fc3565b005b34610351576040366003190112610351576107a261079d61033b565b6121ad565b6107ad6024356129ff565b8154906000829160058411610804575b6107c8935084613635565b90816107e7575050602060005b6040516001600160d01b039091168152f35b6107f2602092612a5b565b9060005281600020015460301c6107d5565b919261080f81613494565b8103908111610855576107c8938560005265ffffffffffff80836020600020015416908516106000146108435750916107bd565b92915061084f90612a77565b906107bd565b611db2565b3461035157600036600319011261035157602060405167fcf45a9de1e9ce348152f35b34610351576000366003190112610351576108983633612551565b600080516020614626833981519152805460ff8116156108e45760ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b604051638dfc202b60e01b8152600490fd5b346103515761077f61090736610733565b9060405192610915846103d0565b60008452610924838383611fc3565b33612d81565b34610351576020366003190112610351576004356109483633612551565b610950612671565b600081815260008051602061464683398151915260205260408120549091906001600160a01b0390811615610a045761098882612887565b16156109ec576109c36109a5826000526001602052604060002090565b60046000918281558260018201558260028201558260038201550155565b33907fe861e0b12c283de7ca3f4d68d33f3bfc6fc01e4896cddf05e52b8f2a1e548e248380a380f35b60249060405190637e27328960e01b82526004820152fd5b604051637e27328960e01b815260048101839052602490fd5b600052600080516020614646833981519152602052604060002090565b634e487b7160e01b600052602160045260246000fd5b60021115610a5a57565b610a3a565b906002821015610a5a5752565b3461035157602036600319011261035157600435600052600160205260c060406000206001600160401b0360018060a01b038254169160018101549060028101546004600383015492015492604051958652602086015260408501526060840152610add6080840160ff8316610a5f565b60081c1660a0820152f35b34610351576020366003190112610351576004356000818152600080516020614646833981519152602052604090819020546001600160a01b039290831615610bb657600052600160205280600020815192610b4384610382565b81541683526004600182015491602085019283526002810154848601526003810154606086015201549260ff8416906002821015610a5a5760a06001600160401b036104d096610ba694608085015260081c169101906001600160401b03169052565b5190519081529081906020820190565b6024915190637e27328960e01b82526004820152fd5b34610351576000366003190112610351576104d0604051610bec816103b5565b600e81526d06d6f64653d74696d657374616d760941b6020820152604051918291602083526020830190610582565b3461035157600036600319011261035157602060405167bf1faa41f651ca3a8152f35b6001600160401b03811161039d57601f01601f191660200190565b81601f8201121561035157803590610c7082610c3e565b92610c7e6040519485610406565b8284526020838301011161035157816000926020809301838601378301015290565b604036600319011261035157610cb461033b565b6024356001600160401b03811161035157610cd3903690600401610c59565b90610cdc613696565b610ce63633612551565b610cee613696565b6040516352d1902d60e01b8152916020836004816001600160a01b0386165afa60009381610d76575b50610d3d57604051634c9c8ce360e01b81526001600160a01b0383166004820152602490fd5b906000805160206145e68339815191528303610d5d5761077f925061409d565b604051632a87526960e21b815260048101849052602490fd5b610d9991945060203d602011610da0575b610d918183610406565b8101906136f0565b9238610d17565b503d610d87565b34610351576000366003190112610351577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003610e005760206040516000805160206145e68339815191528152f35b60405163703e46dd60e11b8152600490fd5b346103515760203660031901126103515760206001600160a01b0380610e3661033b565b166000526000805160206145a6833981519152825260406000205416604051908152f35b346103515760203660031901126103515761077f610e7661033b565b33612a92565b3461035157600036600319011261035157602060ff60008051602061462683398151915254166040519015158152f35b34610351576000366003190112610351576020600054604051908152f35b34610351576020366003190112610351576020610ee8600435612857565b6040516001600160a01b039091168152f35b3461035157600036600319011261035157602060405160028152f35b3461035157602036600319011261035157610f2f61033b565b6001600160a01b03811615610f5257610f496020916121e6565b54604051908152f35b6040516322718ad960e21b815260006004820152602490fd5b3461035157600036600319011261035157602060405167054ed88267a063458152f35b3461035157602036600319011261035157610fa761033b565b600080516020614586833981519152546001600160a01b03919082163303610ff257803b15610fd95761077f90612b0d565b6040516361798f2f60e11b815291166004820152602490fd5b60405162d1953b60e31b8152336004820152602490fd5b34610351576020366003190112610351576001600160a01b0361102a61033b565b166000527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb006020526020604060002054604051908152f35b3461035157600036600319011261035157602060405167973871d7e74f37488152f35b34610351576000366003190112610351576110a03633612551565b6110a8612671565b600080516020614626833981519152600160ff198254161790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b9161112290949194600f60f81b845261111460209660e0602087015260e0860190610582565b908482036040860152610582565b92606083015260018060a01b03166080820152600060a082015260c08183039101526020808451928381520193019160005b828110611162575050505090565b835185529381019392810192600101611154565b34610351576000366003190112610351577fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10054158061121e575b156111e1576111bd611e1a565b6111c5611f02565b906104d06111d1612258565b60405193849330914691866110ee565b60405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606490fd5b507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10154156111b0565b34610351576020366003190112610351576112636004356129ff565b6000805160206146068339815191529081549060008291600584116112c9575b61128d93506135bf565b90816112a157505060405160008152602090f35b6112ac602092612a5b565b906000526000805160206146a6833981519152015460301c6107d5565b91926112d481613494565b81039081116108555761128d938560005265ffffffffffff80836000805160206146a683398151915201541690851610600014611312575091611283565b92915061131e90612a77565b90611283565b34610351576000366003190112610351576000805160206145868339815191525460a01c60ff161561136e576020638fb3603760e01b5b6040516001600160e01b03199091168152f35b6020600061135b565b3461035157600036600319011261035157602060405165ffffffffffff42168152f35b34610351576000806003193601126106ab5760405190806000805160206146c683398151915280546113cb81611de0565b8086529260209260019280841690811561067c57506001146113f7576104d08761061981890382610406565b815293507ff4bad0a69248f59680a4f2b3000328cec71a413447c96781cfe5996daa8c456e5b83851061143b57505050508101602001610619826104d03880610609565b805486860184015293820193810161141d565b346103515760203660031901126103515760206001600160d01b0361147c61147761079d61033b565b612bbb565b16604051908152f35b8015150361035157565b346103515760403660031901126103515760246114aa61033b565b6107148235611485565b346103515760003660031901126103515760206040516711d8f2d2caa4286e8152f35b34610351576000366003190112610351576104d06040516114f7816103b5565b60058152640352e302e360dc1b6020820152604051918291602083526020830190610582565b34610351576000366003190112610351576020604051670b49c88cd3d1ba3c8152f35b91909160a06001600160401b038160c0840195600180831b03815116855260208101516020860152604081015160408601526060810151606086015261158e60808201516080870190610a5f565b015116910152565b34610351576020366003190112610351576004356040516115b681610382565b60a0600091828152826020820152826040820152826060820152826080820152015260018060a01b036115f86115eb83610a1d565b546001600160a01b031690565b16156116295761161d6116186104d0926000526001602052604060002090565b612270565b60405191829182611540565b604051637e27328960e01b81526004810191909152602490fd5b346103515760803660031901126103515761165c61033b565b611664610356565b90604435606435926001600160401b0384116103515761168b61077f943690600401610c59565b92610924838383611fc3565b3461035157600036600319011261035157600080516020614586833981519152546040516001600160a01b039091168152602090f35b346103515760c0366003190112610351576116e661033b565b6044359060243560643560ff81168103610351578342116117825761177661077f9461177d926040519060208201927fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf845260018060a01b038816604084015286606084015260808301526080825261175e826103eb565b61177160a4359360843593519020612e18565b612e98565b9182612eb0565b612a92565b604051632341d78760e11b815260048101859052602490fd5b34610351576020366003190112610351576117b461033b565b60008051602061468683398151915254906001600160401b0360ff8360401c16159216801590816118bf575b60011490816118b5575b1590816118ac575b5061189a57600080516020614686833981519152805467ffffffffffffffff191660011790556118269082611875576122d4565b61182c57005b600080516020614686833981519152805460ff60401b19169055604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b600080516020614686833981519152805460ff60401b1916600160401b1790556122d4565b60405163f92ee8a960e01b8152600490fd5b905015386117f2565b303b1591506117ea565b8391506117e0565b34610351576000366003190112610351576002546040516001600160a01b039091168152602090f35b34610351576020366003190112610351576004356001600160a01b036119186115eb83610a1d565b16156116295761193e611938611618836000526001602052604060002090565b91612fa2565b608082015161194c81610a50565b61195581610a50565b611b9d57611961612499565b915b602081015161197190612fa2565b90604081015161198090612fa2565b906060015161198e90612fa2565b6040517f646174613a6170706c69636174696f6e2f6a736f6e3b757466382c7b000000006020820152948594919391603c860175226e616d65223a22576972652052656365697074202360501b81526016016119e9916124ba565b61088b60f21b81526002017f226465736372697074696f6e223a22536f756c626f756e64207265636569707481527f20666f72207374616b696e67206f7220707265746f6b656e2070757263686173602082015263194b888b60e21b60408201526044016d2261747472696275746573223a5b60901b8152600e017f7b2274726169745f74797065223a226b696e64222c2276616c7565223a2200008152601e01611a93916124ba565b62089f4b60ea1b81526003017f7b2274726169745f74797065223a227072696e636970616c222c2276616c7565815262111d1160e91b6020820152602301611ada916124ba565b62089f4b60ea1b81526003017f7b2274726169745f74797065223a22736861726573222c2276616c7565223a228152602001611b15916124ba565b62089f4b60ea1b81526003017f7b2274726169745f74797065223a22696e64657841744d696e74222c2276616c8152643ab2911d1160d91b6020820152602501611b5e916124ba565b61227d60f01b8152600201605d60f81b8152600101607d60f81b815260010103601f1981018252611b8f9082610406565b6040516104d08192826105a7565b611ba561246c565b91611963565b3461035157600036600319011261035157602060405160018152f35b3461035157600036600319011261035157602060405167ae92c175e0db63cd8152f35b3461035157604036600319011261035157602060ff611c67611c0a61033b565b611c50611c15610356565b6001600160a01b0390921660009081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793056020526040902090565b9060018060a01b0316600052602052604060002090565b54166040519015158152f35b3461035157600036600319011261035157602060405167c58ec56834342af58152f35b90611ca13633612551565b611ca9612671565b600054916000198314611db25760018381016000908155426001600160401b031660a0850190815285825260209290925260409020835181546001600160a01b0319166001600160a01b039182161782559060049060208601516001820155604086015160028201556060860151600382015501926080850151926002841015610a5a5784611d6e611d9192611d617f24ea2f0e9b02210feb590f3e545ffa02971c83f9ebc85af18545cffb74ea8bf7978b99611dc8565b516001600160401b031690565b68ffffffffffffffff0082549160081b169068ffffffffffffffff001916179055565b611d9b848261269c565b611dac604051928392169582611540565b0390a390565b634e487b7160e01b600052601160045260246000fd5b906002811015610a5a5760ff80198354169116179055565b90600182811c92168015611e10575b6020831014611dfa57565b634e487b7160e01b600052602260045260246000fd5b91607f1691611def565b604051906000827fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10291825492611e4f84611de0565b80845293602091600191828116908115611edc5750600114611e7b575b50505061043492500383610406565b60009081527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d9590935091905b828410611ec45750610434945050508101602001388080611e6c565b85548885018301529485019487945092810192611ea8565b925050506020925061043494915060ff191682840152151560051b820101388080611e6c565b604051906000827fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10391825492611f3784611de0565b80845293602091600191828116908115611edc5750600114611f625750505061043492500383610406565b60009081527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b759590935091905b828410611fab5750610434945050508101602001388080611e6c565b85548885018301529485019487945092810192611f8f565b91906001600160a01b039081811615612194578190611fe0612671565b611fec6115eb85610a1d565b82811615158061218c575b61203d575b50612009908433916133ff565b931692169082820361201a57505050565b60649350604051926364283d7b60e01b8452600484015260248301526044820152fd5b6000805160206145868339815191525490925061207090612064906001600160a01b031681565b6001600160a01b031690565b604080516368fc2b7760e11b80825267bf1faa41f651ca3a60048301526001600160a01b0395909516602482015292918184604481845afa801561216957869460009161216e575b50156120c8575b50509091611ffc565b815194855267bf1faa41f651ca3a60048601526001600160a01b03831660248601529193909250908290829060449082905afa9081156121695760009161213b575b501561211957818184926120bf565b51633250574960e11b81526001600160a01b0391909116600482015260249150fd5b61215b9150823d8411612162575b6121538183610406565b8101906129d3565b503861210a565b503d612149565b612545565b6121859150833d8511612162576121538183610406565b50386120b8565b506001611ff7565b604051633250574960e11b815260006004820152602490fd5b6001600160a01b031660009081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d016020526040902090565b6001600160a01b031660009081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793036020526040902090565b6001600160a01b031660009081527fb06af95d3168a3d1f71b75be6205cdfdeb4c8482beb33b78ddc39447ad8fa4e66020526040902090565b604051612264816103d0565b60008152906000368137565b9060405161227d81610382565b6004819360018060a01b038154168352600181015460208401526002810154604084015260038101546060840152015460ff81166002811015610a5a5760a0916001600160401b0391608085015260081c16910152565b6040516122e0816103b5565b600c81526020906b15da5c9948149958d95a5c1d60a21b602082015260405191612309836103b5565b600883526715d49150d152541560c21b602084015261232661394c565b61232e61394c565b8151906001600160401b03821161039d576000805160206145c6833981519152926123628361235d8654611de0565b61397b565b602091601f84116001146123cf5750826123b29695936123a5959361239e936000926123c4575b50508160011b916000199060031b1c19161790565b9055613a79565b6123ad61394c565b612f27565b6123ba61394c565b6104346001600055565b015190503880612389565b6000805160206145c68339815191526000529190601f1984167f37c58c799b6609234b945e882912ee9ad34948a1dfaa20a97485e1a7752bbf81936000905b8282106124545750509260019285926123b29998966123a598961061243b575b505050811b019055613a79565b015160001960f88460031b161c1916905538808061242e565b8060018697829497870151815501960194019061240e565b60405190612479826103b5565b6011825270505245544f4b454e5f505552434841534560781b6020830152565b604051906124a6826103b5565b60058252645354414b4560d81b6020830152565b906124cd6020928281519485920161055f565b0190565b60041161035157600090600490565b6001600160e01b031990358181169392600481106124fd57505050565b60040360031b82901b16169150565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b6040513d6000823e3d90fd5b600080516020614586833981519152805461258a906001600160a01b031661258161257b866124d1565b906124e0565b908430916130e6565b9015612597575b50505050565b63ffffffff161561265157600080516020614586833981519152805460ff60a01b1916600160a01b1790556125d990612064908190546001600160a01b031690565b91823b15610351576126059260009283604051809681958294634a63ebf760e11b84526004840161250c565b03925af1801561216957612638575b50600080516020614586833981519152805460ff60a01b1916905538808080612591565b8061264561264b926103a2565b80610554565b38612614565b60405162d1953b60e31b81526001600160a01b0383166004820152602490fd5b60ff600080516020614626833981519152541661268a57565b60405163d93c066560e01b8152600490fd5b9190916040928351916126ae836103d0565b600083526001600160a01b038181161561283f576126ca612671565b6126d66115eb84610a1d565b818116151580612837575b61271a575b506126f18383613207565b166127025761043493945033612c88565b84516339e3563760e11b815260006004820152602490fd5b6000805160206145868339815191525461273e90612064906001600160a01b031681565b87516368fc2b7760e11b80825267bf1faa41f651ca3a60048301526001600160a01b0393909316602482015290918882604481865afa8015612169578992600091612819575b5015612792575b50506126e6565b815190815267bf1faa41f651ca3a60048201526001600160a01b038516602482015291829060449082905afa908115612169576000916127fb575b50156127db5738868161278b565b8551633250574960e11b81526001600160a01b0383166004820152602490fd5b6128129150873d8911612162576121538183610406565b50386127cd565b6128309150833d8511612162576121538183610406565b5038612784565b5060016126e1565b8551633250574960e11b815260006004820152602490fd5b600081815260008051602061464683398151915260205260409020546001600160a01b03169081156109ec575090565b61288f612671565b61289b6115eb82610a1d565b6001600160a01b0381161515806129cb575b6128bc575b506105b890613318565b600080516020614586833981519152546128e090612064906001600160a01b031681565b604080516368fc2b7760e11b80825267bf1faa41f651ca3a60048301526001600160a01b039490941660248201529092908381604481865afa908115612169576000916129ad575b5015612936575b50506128b2565b825190815267bf1faa41f651ca3a600482015260006024820152908290829060449082905afa9081156121695760009161298f575b501561297857808061292f565b51633250574960e11b815260006004820152602490fd5b6129a69150823d8411612162576121538183610406565b503861296b565b6129c49150843d8611612162576121538183610406565b5038612928565b5060006128ad565b919082604091031261035157602082516129ec81611485565b92015163ffffffff811681036103515790565b65ffffffffffff9081421680821015612a3d5750818111612a1e571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b6044925060405191637669fc0f60e11b835260048301526024820152fd5b60001981019190821161085557565b9190820391821161085557565b906001820180921161085557565b9190820180921161085557565b6001600160a01b0381811660008181526000805160206145a68339815191526020526040812080548685166001600160a01b03198216811790925561043496941694612b069390928691907f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9080a461221f565b54916136ff565b60008051602061458683398151915280546001600160a01b0319166001600160a01b0390921691821790556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad90602090a1565b600080516020614606833981519152805480612b83575050600090565b80600019810111610855577f88c46c62109817164d0ae1873830d4299a82e5daf552a3d8e989b27638fcf74791600052015460301c90565b805480612bc9575050600090565b60001991818381011161085557600052602060002001015460301c90565b9081602091031261035157516105b8816104d4565b6105b8939260809260018060a01b031682526000602083015260408201528160608201520190610582565b6001600160a01b0391821681529116602082015260408101919091526080606082018190526105b892910190610582565b3d15612c83573d90612c6982610c3e565b91612c776040519384610406565b82523d6000602084013e565b606090565b91929092833b612c985750505050565b612cbc916020916040519384928392630a85bd0160e11b9788855260048501612bfc565b038160006001600160a01b0388165af160009181612d50575b50612d145782612ce3612c58565b8051919082612d0d57604051633250574960e11b81526001600160a01b0383166004820152602490fd5b6020915001fd5b6001600160e01b03191603612d2d575038808080612591565b604051633250574960e11b81526001600160a01b03919091166004820152602490fd5b612d7391925060203d602011612d7a575b612d6b8183610406565b810190612be7565b9038612cd5565b503d612d61565b92939193843b612d93575b5050505050565b602091612db66040519485938493630a85bd0160e11b9889865260048601612c27565b038160006001600160a01b0388165af160009181612df7575b50612ddd5782612ce3612c58565b6001600160e01b03191603612d2d57503880808080612d8c565b612e1191925060203d602011612d7a57612d6b8183610406565b9038612dcf565b604290612e236141e7565b612e2b614251565b6040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152612e7a81610382565b519020906040519161190160f01b8352600283015260228201522090565b916105b89391612ea793613831565b909291926138bf565b6001600160a01b03811660009081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb006020526040902080546001810190915591829003612efc575050565b6040516301d4b62360e61b81526001600160a01b039190911660048201526024810191909152604490fd5b612f4890612f3361394c565b612f3b61394c565b612f4361394c565b612b0d565b61043461394c565b90612f5a82610c3e565b612f676040519182610406565b8281528092612f78601f1991610c3e565b0190602036910137565b8115612f8c570490565b634e487b7160e01b600052601260045260246000fd5b806000917a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000808210156130d8575b506d04ee2d6d415b85acef8100000000808310156130c9575b50662386f26fc10000808310156130ba575b506305f5e100808310156130ab575b506127108083101561309c575b50606482101561308c575b600a80921015613082575b60019081602161303a60018701612f50565b95860101905b61304c575b5050505090565b600019019083906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a83530491821561307d57919082613040565b613045565b9160010191613028565b919060646002910491019161301d565b60049193920491019138613012565b60089193920491019138613005565b60109193920491019138612ff6565b60209193920491019138612fe4565b604093508104915038612fcb565b93919060409060009560009384928397855191602083019363b700961360e01b855260018060a01b03809216602485015216604483015263ffffffff60e01b16606482015260648152613138816103eb565b8380528360205251915afa61314a5750565b9150915051906020518060201c150290565b60405190613169826103b5565b601b82527f5f7472616e73666572566f74696e67556e6974733a2066726f6d3a00000000006020830152565b604051906131a2826103b5565b601b82527f202020202020202020202020202020202020202020202020746f3a00000000006020830152565b604051906131db826103b5565b601b82527f20202020202020202020202020202020202020202076616c75653a00000000006020830152565b8160005260016020526040600020916040519161322383610382565b83546001600160a01b039081168452600185015460208501908152600280870154604087015260038701546060870152600490960154919560ff831690811015610a5a578560a06001600160401b0361329e956132969460806105b89b015260081c169101906001600160401b03169052565b519282613b79565b938085166132fd575b81166132e2575b6132bf846132ba61315c565b613e52565b6132cb816132ba613195565b6132dc826132d76131ce565b613ea0565b83613fc1565b6132eb8161221f565b6132f6838254612a85565b90556132ae565b6133068561221f565b613311848254612a6a565b90556132a7565b8060005260016020526040600020906040519061333482610382565b82546001600160a01b039081168352600184015460208401908152600280860154604086015260038601546060860152600490950154919460ff831690811015610a5a578460a06001600160401b036133ae956133a79460806105b89a015260081c169101906001600160401b03169052565b5191613c47565b9283166133e4575b6133c2836132ba61315c565b6133d26133cd613195565b613e0a565b6133de816132d76131ce565b82613ee3565b6133ed8361221f565b6133f8828254612a6a565b90556133b6565b908060005260016020526040600020916040519261341c84610382565b60018060a01b0394858254168552600460018301549260208701938452600281015460408801526003810154606088015201549160ff83166002811015610a5a578660a06001600160401b0361329e9661348c9460806105b89c015260081c169101906001600160401b03169052565b519383613ce1565b60018111156105b857600181600160801b8110156135ad575b61355561354b61354161353761352d61352361356197600488600160401b61355c9a10156135a0575b640100000000811015613593575b62010000811015613586575b61010081101561357a575b601081101561356e575b1015613566575b60030260011c61351c818b612f82565b0160011c90565b61351c818a612f82565b61351c8189612f82565b61351c8188612f82565b61351c8187612f82565b61351c8186612f82565b8093612f82565b821190565b900390565b60011b61350c565b811c9160021b91613505565b60081c91811b916134fb565b60101c9160081b916134f0565b60201c9160101b916134e4565b60401c9160201b916134d6565b50600160401b9050608082901c6134ad565b905b8281106135cd57505090565b90918082169080831860011c82018092116108555760008051602061460683398151915260005265ffffffffffff80836000805160206146a6833981519152015416908516106000146136235750915b906135c1565b92915061362f90612a77565b9061361d565b91905b8382106136455750505090565b9091928083169080841860011c82018092116108555760008581526020902082015465ffffffffffff90811690841610156136845750925b9190613638565b93925061369090612a77565b9161367d565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081163081149182156136d4575b5050610e0057565b6000805160206145e683398151915254161415905038806136cc565b90816020910312610351575190565b6001600160a01b03808316939291908116908185141580613828575b613726575050505050565b8161379b575b50508261373b575b8080612d8c565b7fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7249161377261376c613778936121ad565b91614144565b90614177565b604080516001600160d01b039384168152919092166020820152a2388080613734565b6137a4906121ad565b6137ad84614144565b6001600160d01b039081806137c185612bbb565b16911690038181116108555761380561381e917fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7249465ffffffffffff4216906144c9565b6040805192851683529316602082015291829190820190565b0390a2388061372c565b5083151561371b565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116138a957926020929160ff608095604051948552168484015260408301526060820152600092839182805260015afa156121695780516001600160a01b038116156138a057918190565b50809160019190565b50505060009160039190565b60041115610a5a57565b6138c8816138b5565b806138d1575050565b6138da816138b5565b600181036138f45760405163f645eedf60e01b8152600490fd5b6138fd816138b5565b6002810361391e5760405163fce698f760e01b815260048101839052602490fd5b8061392a6003926138b5565b146139325750565b6040516335e2f38360e21b81526004810191909152602490fd5b60ff6000805160206146868339815191525460401c161561396957565b604051631afcd79f60e31b8152600490fd5b601f8111613987575050565b6000906000805160206145c68339815191526000527f37c58c799b6609234b945e882912ee9ad34948a1dfaa20a97485e1a7752bbf81906020601f850160051c830194106139f0575b601f0160051c01915b8281106139e557505050565b8181556001016139d9565b90925082906139d0565b601f8111613a06575050565b6000906000805160206146c68339815191526000527ff4bad0a69248f59680a4f2b3000328cec71a413447c96781cfe5996daa8c456e906020601f850160051c83019410613a6f575b601f0160051c01915b828110613a6457505050565b818155600101613a58565b9092508290613a4f565b9081516001600160401b03811161039d576000805160206146c683398151915290613aad81613aa88454611de0565b6139fa565b602080601f8311600114613ae457508190613ae09394956000926123c45750508160011b916000199060031b1c19161790565b9055565b90601f19831695613b246000805160206146c68339815191526000527ff4bad0a69248f59680a4f2b3000328cec71a413447c96781cfe5996daa8c456e90565b926000905b888210613b6157505083600195969710613b48575b505050811b019055565b015160001960f88460031b161c19169055388080613b3e565b80600185968294968601518155019501930190613b29565b6001600160a01b039190613bca83613b9084610a1d565b54169384613c08575b82169182613bf3575b613bab84610a1d565b80546001600160a01b0319166001600160a01b03909216919091179055565b827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a490565b613bfc816121e6565b60018154019055613ba2565b60008481526000805160206146668339815191526020526040902080546001600160a01b0319169055613c3a856121e6565b8054600019019055613b99565b6001600160a01b03613c5882610a1d565b54169081613ca2575b613c6a81610a1d565b80546001600160a01b03191690556000827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a490565b60008181526000805160206146668339815191526020526040902080546001600160a01b0319169055613cd4826121e6565b8054600019019055613c61565b6001600160a01b0380613cf384610a1d565b5416938181168015159081613d20575b505050613bca9084613c085782169182613bf357613bab84610a1d565b81613d7e575b5015613d33578080613d03565b839085613d5357604051637e27328960e01b815260048101839052602490fd5b60405163177e802f60e01b81526001600160a01b039190911660048201526024810191909152604490fd5b86811491508115613dbf575b8115613d98575b5038613d26565b90508460005260008051602061466683398151915260205282604060002054161438613d91565b905060ff613e0283611c508960018060a01b03166000527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079305602052604060002090565b541690613d8a565b613e38613e4d6104349260405192839163319af33360e01b6020840152604060248401526064830190610582565b6000604483015203601f198101835282610406565b6141ae565b613e4d613e81916104349360405193849263319af33360e01b6020850152604060248501526064840190610582565b6001600160a01b0391909116604483015203601f198101835282610406565b613e4d613ecf9161043493604051938492632d839cb360e21b6020850152604060248501526064840190610582565b90604483015203601f198101835282610406565b6001600160a01b0390811691908215613f81575b613f0082614144565b6001600160d01b0393908480613f14612b66565b169116900393841161085557613f356104349465ffffffffffff42166143c6565b505060009081526000805160206145a683398151915260205260408120549080527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f97454821691166136ff565b613f8a82614144565b6001600160d01b03908180613f9d612b66565b1691160190811161085557613fba9065ffffffffffff42166143c6565b5050613ef7565b6001600160a01b03908116929181908415614059575b16908115614012575b610434936000526000805160206145a683398151915260205280604060002054169160005260406000205416906136ff565b61401b83614144565b6001600160d01b039490858061402f612b66565b1691169003948511610855576140506104349565ffffffffffff42166143c6565b50509350613fe0565b905061406483614144565b6001600160d01b0391908280614078612b66565b1691160191821161085557614096839265ffffffffffff42166143c6565b5050613fd7565b90813b15614123576000805160206145e683398151915280546001600160a01b0319166001600160a01b0384169081179091557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a280511561410857614105916141c9565b50565b50503461411157565b60405163b398979f60e01b8152600490fd5b604051634c9c8ce360e01b81526001600160a01b0383166004820152602490fd5b6001600160d01b0390818111614158571690565b604490604051906306dfcc6560e41b825260d060048301526024820152fd5b906001600160d01b0390818061418c85612bbb565b16911601908111610855576141aa9165ffffffffffff4216906144c9565b9091565b600080916020815191016a636f6e736f6c652e6c6f675afa50565b6000806105b893602081519101845af46141e1612c58565b91614296565b6141ef611e1a565b80519081156141ff576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10054801561422c5790565b507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47090565b614259611f02565b8051908115614269576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10154801561422c5790565b906142bd57508051156142ab57602081519101fd5b60405163d6bda27560e01b8152600490fd5b815115806142f0575b6142ce575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156142c6565b600080516020614606833981519152908154600160401b81101561039d576001810180845581101561436157600092909252805160209091015160301b65ffffffffffff191665ffffffffffff91909116176000805160206146a68339815191529190910155565b634e487b7160e01b600052603260045260246000fd5b908154600160401b81101561039d57600181018084558110156143615760009283526020928390208251929093015160301b65ffffffffffff191665ffffffffffff9290921691909117910155565b60008051602061460683398151915254919291801561449f576143eb61441091612a5b565b6000805160206146068339815191526000526000805160206146a68339815191520190565b9081549165ffffffffffff9081841691831680831161448d578692036144555761444e92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b505061448890614474614466610427565b65ffffffffffff9092168252565b6001600160d01b03851660208201526142f9565b61444e565b604051632520601d60e01b8152600490fd5b506144c3906144af614466610427565b6001600160d01b03841660208201526142f9565b60009190565b80549293928015614560576144e06144ed91612a5b565b8260005260206000200190565b9182549265ffffffffffff9182851692811680841161448d5787930361452c575061444e92509065ffffffffffff82549181199060301b169116179055565b9150506144889161454c61453e610427565b65ffffffffffff9093168352565b6001600160d01b0386166020830152614377565b50906144c39161457161453e610427565b6001600160d01b038516602083015261437756fef3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00e8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0080bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079300360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbce8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d02cd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330080bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930280bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079304f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0088c46c62109817164d0ae1873830d4299a82e5daf552a3d8e989b27638fcf74880bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079301a2646970667358221220b5eb66ecee72f4dda9f04f0604a53aa3c43da241876d04e05f1311eb92dd21fd64736f6c63430008190033",
2013
+ "linkReferences": {},
2014
+ "deployedLinkReferences": {}
2015
+ }