@flarenetwork/flare-periphery-contract-artifacts 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (498) hide show
  1. package/dist/README.md +5 -0
  2. package/dist/coston/abis.coston.d.ts +4 -0
  3. package/dist/coston/abis.coston.d.ts.map +1 -0
  4. package/dist/coston/abis.coston.js +213 -0
  5. package/dist/coston/abis.coston.js.map +1 -0
  6. package/dist/coston/artifacts/contracts/addressUpdater/implementation/AddressUpdatable.sol/AddressUpdatable.json +42 -0
  7. package/dist/coston/artifacts/contracts/addressUpdater/implementation/AddressUpdater.sol/AddressUpdater.json +381 -0
  8. package/dist/coston/artifacts/contracts/addressUpdater/interface/IIAddressUpdatable.sol/IIAddressUpdatable.json +29 -0
  9. package/dist/coston/artifacts/contracts/addressUpdater/interface/IIAddressUpdater.sol/IIAddressUpdater.json +105 -0
  10. package/dist/coston/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +1151 -0
  11. package/dist/coston/artifacts/contracts/claiming/implementation/CloneFactory.sol/CloneFactory.json +10 -0
  12. package/dist/coston/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +346 -0
  13. package/dist/coston/artifacts/contracts/claiming/interface/IIClaimSetupManager.sol/IIClaimSetupManager.json +795 -0
  14. package/dist/coston/artifacts/contracts/claiming/interface/IIDelegationAccount.sol/IIDelegationAccount.json +316 -0
  15. package/dist/coston/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +1104 -0
  16. package/dist/coston/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +1723 -0
  17. package/dist/coston/artifacts/contracts/ftso/interface/IIFtso.sol/IIFtso.json +953 -0
  18. package/dist/coston/artifacts/contracts/ftso/interface/IIFtsoManager.sol/IIFtsoManager.json +878 -0
  19. package/dist/coston/artifacts/contracts/ftso/interface/IIFtsoManagerV1.sol/IIFtsoManagerV1.json +102 -0
  20. package/dist/coston/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +10 -0
  21. package/dist/coston/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +43 -0
  22. package/dist/coston/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +10 -0
  23. package/dist/coston/artifacts/contracts/ftso/lib/FtsoMedian.sol/FtsoMedian.json +10 -0
  24. package/dist/coston/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +10 -0
  25. package/dist/coston/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +624 -0
  26. package/dist/coston/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +241 -0
  27. package/dist/coston/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +198 -0
  28. package/dist/coston/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +1048 -0
  29. package/dist/coston/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +676 -0
  30. package/dist/coston/artifacts/contracts/genesis/implementation/GovernanceSettings.sol/GovernanceSettings.json +224 -0
  31. package/dist/coston/artifacts/contracts/genesis/implementation/PriceSubmitter.sol/PriceSubmitter.json +407 -0
  32. package/dist/coston/artifacts/contracts/genesis/implementation/StateConnector.sol/StateConnector.json +324 -0
  33. package/dist/coston/artifacts/contracts/genesis/interface/IFlareDaemonize.sol/IFlareDaemonize.json +37 -0
  34. package/dist/coston/artifacts/contracts/genesis/interface/IFtsoGenesis.sol/IFtsoGenesis.json +91 -0
  35. package/dist/coston/artifacts/contracts/genesis/interface/IFtsoManagerGenesis.sol/IFtsoManagerGenesis.json +24 -0
  36. package/dist/coston/artifacts/contracts/genesis/interface/IFtsoRegistryGenesis.sol/IFtsoRegistryGenesis.json +30 -0
  37. package/dist/coston/artifacts/contracts/genesis/interface/IIPriceSubmitter.sol/IIPriceSubmitter.json +285 -0
  38. package/dist/coston/artifacts/contracts/genesis/interface/IInflationGenesis.sol/IInflationGenesis.json +18 -0
  39. package/dist/coston/artifacts/contracts/governance/implementation/Governed.sol/Governed.json +126 -0
  40. package/dist/coston/artifacts/contracts/governance/implementation/GovernedAtGenesis.sol/GovernedAtGenesis.json +139 -0
  41. package/dist/coston/artifacts/contracts/governance/implementation/GovernedBase.sol/GovernedBase.json +115 -0
  42. package/dist/coston/artifacts/contracts/governance/implementation/GovernedBaseV2.sol/GovernedBaseV2.json +209 -0
  43. package/dist/coston/artifacts/contracts/governance/implementation/GovernedV2.sol/GovernedV2.json +220 -0
  44. package/dist/coston/artifacts/contracts/governance/implementation/Governor.sol/Governor.json +653 -0
  45. package/dist/coston/artifacts/contracts/governance/implementation/GovernorProposals.sol/GovernorProposals.json +24 -0
  46. package/dist/coston/artifacts/contracts/governance/implementation/GovernorProposer.sol/GovernorProposer.json +265 -0
  47. package/dist/coston/artifacts/contracts/governance/implementation/GovernorVotePower.sol/GovernorVotePower.json +24 -0
  48. package/dist/coston/artifacts/contracts/governance/implementation/GovernorVotes.sol/GovernorVotes.json +10 -0
  49. package/dist/coston/artifacts/contracts/governance/implementation/InflationAllocation.sol/InflationAllocation.json +351 -0
  50. package/dist/coston/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +1065 -0
  51. package/dist/coston/artifacts/contracts/governance/interface/IIGovernorProposer.sol/IIGovernorProposer.json +30 -0
  52. package/dist/coston/artifacts/contracts/governance/interface/IIPollingFoundation.sol/IIPollingFoundation.json +640 -0
  53. package/dist/coston/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +879 -0
  54. package/dist/coston/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +403 -0
  55. package/dist/coston/artifacts/contracts/inflation/interface/IIInflationPercentageProvider.sol/IIInflationPercentageProvider.json +24 -0
  56. package/dist/coston/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +44 -0
  57. package/dist/coston/artifacts/contracts/inflation/interface/IIInflationSharingPercentageProvider.sol/IIInflationSharingPercentageProvider.json +36 -0
  58. package/dist/coston/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +88 -0
  59. package/dist/coston/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +10 -0
  60. package/dist/coston/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +10 -0
  61. package/dist/coston/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +30 -0
  62. package/dist/coston/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +49 -0
  63. package/dist/coston/artifacts/contracts/mockXAsset/interface/ICollateralizable.sol/ICollateralizable.json +234 -0
  64. package/dist/coston/artifacts/contracts/token/implementation/CheckPointable.sol/CheckPointable.json +129 -0
  65. package/dist/coston/artifacts/contracts/token/implementation/CleanupBlockNumberManager.sol/CleanupBlockNumberManager.json +254 -0
  66. package/dist/coston/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +222 -0
  67. package/dist/coston/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +324 -0
  68. package/dist/coston/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +774 -0
  69. package/dist/coston/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +1102 -0
  70. package/dist/coston/artifacts/contracts/token/implementation/WNat.sol/WNat.json +1195 -0
  71. package/dist/coston/artifacts/contracts/token/interface/IICleanable.sol/IICleanable.json +63 -0
  72. package/dist/coston/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +252 -0
  73. package/dist/coston/artifacts/contracts/token/interface/IIVPContract.sol/IIVPContract.json +609 -0
  74. package/dist/coston/artifacts/contracts/token/interface/IIVPToken.sol/IIVPToken.json +790 -0
  75. package/dist/coston/artifacts/contracts/token/lib/CheckPointHistory.sol/CheckPointHistory.json +10 -0
  76. package/dist/coston/artifacts/contracts/token/lib/CheckPointHistoryCache.sol/CheckPointHistoryCache.json +10 -0
  77. package/dist/coston/artifacts/contracts/token/lib/CheckPointsByAddress.sol/CheckPointsByAddress.json +10 -0
  78. package/dist/coston/artifacts/contracts/token/lib/DelegateCheckPointHistory.sol/DelegateCheckPointHistory.json +10 -0
  79. package/dist/coston/artifacts/contracts/token/lib/DelegateCheckPointsByAddress.sol/DelegateCheckPointsByAddress.json +10 -0
  80. package/dist/coston/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +24 -0
  81. package/dist/coston/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +10 -0
  82. package/dist/coston/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +24 -0
  83. package/dist/coston/artifacts/contracts/token/lib/VotePower.sol/VotePower.json +10 -0
  84. package/dist/coston/artifacts/contracts/token/lib/VotePowerCache.sol/VotePowerCache.json +10 -0
  85. package/dist/coston/artifacts/contracts/tokenPools/implementation/Distribution.sol/Distribution.json +414 -0
  86. package/dist/coston/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +1027 -0
  87. package/dist/coston/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +627 -0
  88. package/dist/coston/artifacts/contracts/tokenPools/interface/IIFtsoRewardManagerV2.sol/IIFtsoRewardManagerV2.json +949 -0
  89. package/dist/coston/artifacts/contracts/tokenPools/interface/IITokenPool.sol/IITokenPool.json +34 -0
  90. package/dist/coston/artifacts/contracts/tokenPools/lib/DataProviderFee.sol/DataProviderFee.json +10 -0
  91. package/dist/coston/artifacts/contracts/utils/implementation/AddressSet.sol/AddressSet.json +10 -0
  92. package/dist/coston/artifacts/contracts/utils/implementation/DateTimeLibrary.sol/BokkyPooBahsDateTimeLibrary.json +154 -0
  93. package/dist/coston/artifacts/contracts/utils/implementation/FlareContractRegistry.sol/FlareContractRegistry.json +147 -0
  94. package/dist/coston/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +769 -0
  95. package/dist/coston/artifacts/contracts/utils/implementation/FtsoRegistryProxy.sol/FtsoRegistryProxy.json +272 -0
  96. package/dist/coston/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +440 -0
  97. package/dist/coston/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +144 -0
  98. package/dist/coston/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonizedV2.sol/GovernedAndFlareDaemonizedV2.json +238 -0
  99. package/dist/coston/artifacts/contracts/utils/implementation/ProxyGoverned.sol/ProxyGoverned.json +256 -0
  100. package/dist/coston/artifacts/contracts/utils/implementation/RevertErrorTracking.sol/RevertErrorTracking.json +131 -0
  101. package/dist/coston/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +10 -0
  102. package/dist/coston/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +418 -0
  103. package/dist/coston/artifacts/contracts/utils/interface/IIFtsoRegistry.sol/IIFtsoRegistry.json +477 -0
  104. package/dist/coston/artifacts/contracts/utils/interface/IIFtsoRegistryV1.sol/IIFtsoRegistryV1.json +120 -0
  105. package/dist/coston/artifacts/contracts/utils/interface/IIRandomProvider.sol/IIRandomProvider.json +60 -0
  106. package/dist/coston/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +236 -0
  107. package/dist/coston/artifacts/contracts/utils/interface/IUpdateValidators.sol/IUpdateValidators.json +18 -0
  108. package/dist/coston/deploys/contractAddresses.d.ts +31 -0
  109. package/dist/coston/deploys/contractAddresses.d.ts.map +1 -0
  110. package/dist/coston/deploys/contractAddresses.js +34 -0
  111. package/dist/coston/deploys/contractAddresses.js.map +1 -0
  112. package/dist/coston/deploys/coston.json +142 -0
  113. package/dist/coston/deploys/mapper.d.ts +7 -0
  114. package/dist/coston/deploys/mapper.d.ts.map +1 -0
  115. package/dist/coston/deploys/mapper.js +40 -0
  116. package/dist/coston/deploys/mapper.js.map +1 -0
  117. package/dist/coston/index.d.ts +3 -0
  118. package/dist/coston/index.d.ts.map +1 -0
  119. package/dist/coston/index.js +20 -0
  120. package/dist/coston/index.js.map +1 -0
  121. package/dist/coston2/abis.coston2.d.ts +4 -0
  122. package/dist/coston2/abis.coston2.d.ts.map +1 -0
  123. package/dist/coston2/abis.coston2.js +253 -0
  124. package/dist/coston2/abis.coston2.js.map +1 -0
  125. package/dist/coston2/artifacts/contracts/addressUpdater/implementation/AddressUpdatable.sol/AddressUpdatable.json +42 -0
  126. package/dist/coston2/artifacts/contracts/addressUpdater/implementation/AddressUpdater.sol/AddressUpdater.json +311 -0
  127. package/dist/coston2/artifacts/contracts/addressUpdater/interface/IIAddressUpdatable.sol/IIAddressUpdatable.json +29 -0
  128. package/dist/coston2/artifacts/contracts/assetRegistry/implementation/FlareAssetRegistry.sol/FlareAssetRegistry.json +525 -0
  129. package/dist/coston2/artifacts/contracts/assetRegistry/implementation/WNatRegistryProvider.sol/WNatRegistryProvider.json +113 -0
  130. package/dist/coston2/artifacts/contracts/assetRegistry/interface/IIERC20WithMetadata.sol/IIERC20WithMetadata.json +233 -0
  131. package/dist/coston2/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistry.sol/IIFlareAssetRegistry.json +316 -0
  132. package/dist/coston2/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistryProvider.sol/IIFlareAssetRegistryProvider.json +66 -0
  133. package/dist/coston2/artifacts/contracts/assetRegistry/lib/StandardAttributes.sol/StandardAttributes.json +10 -0
  134. package/dist/coston2/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +1151 -0
  135. package/dist/coston2/artifacts/contracts/claiming/implementation/CloneFactory.sol/CloneFactory.json +10 -0
  136. package/dist/coston2/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +346 -0
  137. package/dist/coston2/artifacts/contracts/claiming/interface/IIClaimSetupManager.sol/IIClaimSetupManager.json +795 -0
  138. package/dist/coston2/artifacts/contracts/claiming/interface/IIDelegationAccount.sol/IIDelegationAccount.json +316 -0
  139. package/dist/coston2/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +1007 -0
  140. package/dist/coston2/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +1647 -0
  141. package/dist/coston2/artifacts/contracts/ftso/interface/IIFtso.sol/IIFtso.json +856 -0
  142. package/dist/coston2/artifacts/contracts/ftso/interface/IIFtsoManager.sol/IIFtsoManager.json +837 -0
  143. package/dist/coston2/artifacts/contracts/ftso/interface/IIFtsoManagerV1.sol/IIFtsoManagerV1.json +102 -0
  144. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +10 -0
  145. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +43 -0
  146. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +10 -0
  147. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoMedian.sol/FtsoMedian.json +10 -0
  148. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +10 -0
  149. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +718 -0
  150. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +338 -0
  151. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +198 -0
  152. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +951 -0
  153. package/dist/coston2/artifacts/contracts/genesis/implementation/DistributionTreasury.sol/DistributionTreasury.json +336 -0
  154. package/dist/coston2/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +794 -0
  155. package/dist/coston2/artifacts/contracts/genesis/implementation/GovernanceSettings.sol/GovernanceSettings.json +219 -0
  156. package/dist/coston2/artifacts/contracts/genesis/implementation/IncentivePoolTreasury.sol/IncentivePoolTreasury.json +292 -0
  157. package/dist/coston2/artifacts/contracts/genesis/implementation/InitialAirdrop.sol/InitialAirdrop.json +493 -0
  158. package/dist/coston2/artifacts/contracts/genesis/implementation/PriceSubmitter.sol/PriceSubmitter.json +569 -0
  159. package/dist/coston2/artifacts/contracts/genesis/implementation/StateConnector.sol/StateConnector.json +324 -0
  160. package/dist/coston2/artifacts/contracts/genesis/interface/IFlareDaemonize.sol/IFlareDaemonize.json +50 -0
  161. package/dist/coston2/artifacts/contracts/genesis/interface/IFtsoGenesis.sol/IFtsoGenesis.json +63 -0
  162. package/dist/coston2/artifacts/contracts/genesis/interface/IFtsoManagerGenesis.sol/IFtsoManagerGenesis.json +24 -0
  163. package/dist/coston2/artifacts/contracts/genesis/interface/IFtsoRegistryGenesis.sol/IFtsoRegistryGenesis.json +30 -0
  164. package/dist/coston2/artifacts/contracts/genesis/interface/IIPriceSubmitter.sol/IIPriceSubmitter.json +283 -0
  165. package/dist/coston2/artifacts/contracts/genesis/interface/IInflationGenesis.sol/IInflationGenesis.json +18 -0
  166. package/dist/coston2/artifacts/contracts/governance/implementation/Governed.sol/Governed.json +220 -0
  167. package/dist/coston2/artifacts/contracts/governance/implementation/GovernedAtGenesis.sol/GovernedAtGenesis.json +233 -0
  168. package/dist/coston2/artifacts/contracts/governance/implementation/GovernedBase.sol/GovernedBase.json +209 -0
  169. package/dist/coston2/artifacts/contracts/governance/implementation/Governor.sol/Governor.json +653 -0
  170. package/dist/coston2/artifacts/contracts/governance/implementation/GovernorProposals.sol/GovernorProposals.json +24 -0
  171. package/dist/coston2/artifacts/contracts/governance/implementation/GovernorProposer.sol/GovernorProposer.json +265 -0
  172. package/dist/coston2/artifacts/contracts/governance/implementation/GovernorVotePower.sol/GovernorVotePower.json +24 -0
  173. package/dist/coston2/artifacts/contracts/governance/implementation/GovernorVotes.sol/GovernorVotes.json +10 -0
  174. package/dist/coston2/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +1070 -0
  175. package/dist/coston2/artifacts/contracts/governance/interface/IIGovernorProposer.sol/IIGovernorProposer.json +30 -0
  176. package/dist/coston2/artifacts/contracts/governance/interface/IIPollingFoundation.sol/IIPollingFoundation.json +640 -0
  177. package/dist/coston2/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +926 -0
  178. package/dist/coston2/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +463 -0
  179. package/dist/coston2/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +543 -0
  180. package/dist/coston2/artifacts/contracts/inflation/interface/IIInflationAllocation.sol/IIInflationAllocation.json +49 -0
  181. package/dist/coston2/artifacts/contracts/inflation/interface/IIInflationPercentageProvider.sol/IIInflationPercentageProvider.json +24 -0
  182. package/dist/coston2/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +57 -0
  183. package/dist/coston2/artifacts/contracts/inflation/interface/IIInflationSharingPercentageProvider.sol/IIInflationSharingPercentageProvider.json +36 -0
  184. package/dist/coston2/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +82 -0
  185. package/dist/coston2/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +10 -0
  186. package/dist/coston2/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +10 -0
  187. package/dist/coston2/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +30 -0
  188. package/dist/coston2/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +49 -0
  189. package/dist/coston2/artifacts/contracts/mockXAsset/interface/ICollateralizable.sol/ICollateralizable.json +234 -0
  190. package/dist/coston2/artifacts/contracts/token/implementation/CheckPointable.sol/CheckPointable.json +142 -0
  191. package/dist/coston2/artifacts/contracts/token/implementation/CleanupBlockNumberManager.sol/CleanupBlockNumberManager.json +389 -0
  192. package/dist/coston2/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +235 -0
  193. package/dist/coston2/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +324 -0
  194. package/dist/coston2/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +798 -0
  195. package/dist/coston2/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +1264 -0
  196. package/dist/coston2/artifacts/contracts/token/implementation/WNat.sol/WNat.json +1357 -0
  197. package/dist/coston2/artifacts/contracts/token/interface/IICleanable.sol/IICleanable.json +50 -0
  198. package/dist/coston2/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +252 -0
  199. package/dist/coston2/artifacts/contracts/token/interface/IIVPContract.sol/IIVPContract.json +620 -0
  200. package/dist/coston2/artifacts/contracts/token/interface/IIVPToken.sol/IIVPToken.json +832 -0
  201. package/dist/coston2/artifacts/contracts/token/lib/CheckPointHistory.sol/CheckPointHistory.json +10 -0
  202. package/dist/coston2/artifacts/contracts/token/lib/CheckPointHistoryCache.sol/CheckPointHistoryCache.json +10 -0
  203. package/dist/coston2/artifacts/contracts/token/lib/CheckPointsByAddress.sol/CheckPointsByAddress.json +10 -0
  204. package/dist/coston2/artifacts/contracts/token/lib/DelegateCheckPointHistory.sol/DelegateCheckPointHistory.json +10 -0
  205. package/dist/coston2/artifacts/contracts/token/lib/DelegateCheckPointsByAddress.sol/DelegateCheckPointsByAddress.json +10 -0
  206. package/dist/coston2/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +24 -0
  207. package/dist/coston2/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +10 -0
  208. package/dist/coston2/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +24 -0
  209. package/dist/coston2/artifacts/contracts/token/lib/VotePower.sol/VotePower.json +10 -0
  210. package/dist/coston2/artifacts/contracts/token/lib/VotePowerCache.sol/VotePowerCache.json +10 -0
  211. package/dist/coston2/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +741 -0
  212. package/dist/coston2/artifacts/contracts/tokenPools/implementation/Distribution.sol/Distribution.json +561 -0
  213. package/dist/coston2/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +1121 -0
  214. package/dist/coston2/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +769 -0
  215. package/dist/coston2/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +1412 -0
  216. package/dist/coston2/artifacts/contracts/tokenPools/implementation/GenericRewardManager.sol/GenericRewardManager.json +720 -0
  217. package/dist/coston2/artifacts/contracts/tokenPools/implementation/IncentivePool.sol/IncentivePool.json +927 -0
  218. package/dist/coston2/artifacts/contracts/tokenPools/implementation/IncentivePoolAllocation.sol/IncentivePoolAllocation.json +463 -0
  219. package/dist/coston2/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +741 -0
  220. package/dist/coston2/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +962 -0
  221. package/dist/coston2/artifacts/contracts/tokenPools/interface/IIGenericRewardManager.sol/IIGenericRewardManager.json +413 -0
  222. package/dist/coston2/artifacts/contracts/tokenPools/interface/IIIncentivePoolAllocation.sol/IIIncentivePoolAllocation.json +49 -0
  223. package/dist/coston2/artifacts/contracts/tokenPools/interface/IIIncentivePoolPercentageProvider.sol/IIIncentivePoolPercentageProvider.json +24 -0
  224. package/dist/coston2/artifacts/contracts/tokenPools/interface/IIIncentivePoolReceiver.sol/IIIncentivePoolReceiver.json +57 -0
  225. package/dist/coston2/artifacts/contracts/tokenPools/interface/IIIncentivePoolSharingPercentageProvider.sol/IIIncentivePoolSharingPercentageProvider.json +36 -0
  226. package/dist/coston2/artifacts/contracts/tokenPools/interface/IITokenPool.sol/IITokenPool.json +34 -0
  227. package/dist/coston2/artifacts/contracts/tokenPools/lib/DataProviderFee.sol/DataProviderFee.json +10 -0
  228. package/dist/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolAnnum.sol/IncentivePoolAnnum.json +10 -0
  229. package/dist/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolAnnums.sol/IncentivePoolAnnums.json +10 -0
  230. package/dist/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolRewardService.sol/IncentivePoolRewardService.json +30 -0
  231. package/dist/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolRewardServices.sol/IncentivePoolRewardServices.json +49 -0
  232. package/dist/coston2/artifacts/contracts/utils/implementation/AddressSet.sol/AddressSet.json +10 -0
  233. package/dist/coston2/artifacts/contracts/utils/implementation/DateTimeLibrary.sol/BokkyPooBahsDateTimeLibrary.json +154 -0
  234. package/dist/coston2/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +769 -0
  235. package/dist/coston2/artifacts/contracts/utils/implementation/FtsoRegistryProxy.sol/FtsoRegistryProxy.json +272 -0
  236. package/dist/coston2/artifacts/contracts/utils/implementation/FundDistributor.sol/FundDistributor.json +71 -0
  237. package/dist/coston2/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +238 -0
  238. package/dist/coston2/artifacts/contracts/utils/implementation/ProxyGoverned.sol/ProxyGoverned.json +256 -0
  239. package/dist/coston2/artifacts/contracts/utils/implementation/RevertErrorTracking.sol/RevertErrorTracking.json +131 -0
  240. package/dist/coston2/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +10 -0
  241. package/dist/coston2/artifacts/contracts/utils/implementation/SelfdestructTransfer.sol/SelfdestructTransfer.json +91 -0
  242. package/dist/coston2/artifacts/contracts/utils/implementation/ValidatorRegistry.sol/ValidatorRegistry.json +149 -0
  243. package/dist/coston2/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +530 -0
  244. package/dist/coston2/artifacts/contracts/utils/interface/IIFtsoRegistry.sol/IIFtsoRegistry.json +477 -0
  245. package/dist/coston2/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +236 -0
  246. package/dist/coston2/artifacts/contracts/utils/interface/IUpdateValidators.sol/IUpdateValidators.json +18 -0
  247. package/dist/coston2/deploys/contractAddresses.d.ts +45 -0
  248. package/dist/coston2/deploys/contractAddresses.d.ts.map +1 -0
  249. package/dist/coston2/deploys/contractAddresses.js +48 -0
  250. package/dist/coston2/deploys/contractAddresses.js.map +1 -0
  251. package/dist/coston2/deploys/coston2.json +212 -0
  252. package/dist/coston2/deploys/mapper.d.ts +7 -0
  253. package/dist/coston2/deploys/mapper.d.ts.map +1 -0
  254. package/dist/coston2/deploys/mapper.js +40 -0
  255. package/dist/coston2/deploys/mapper.js.map +1 -0
  256. package/dist/coston2/index.d.ts +3 -0
  257. package/dist/coston2/index.d.ts.map +1 -0
  258. package/dist/coston2/index.js +20 -0
  259. package/dist/coston2/index.js.map +1 -0
  260. package/dist/flare/abis.flare.d.ts +4 -0
  261. package/dist/flare/abis.flare.d.ts.map +1 -0
  262. package/dist/flare/abis.flare.js +251 -0
  263. package/dist/flare/abis.flare.js.map +1 -0
  264. package/dist/flare/artifacts/contracts/addressUpdater/implementation/AddressUpdatable.sol/AddressUpdatable.json +42 -0
  265. package/dist/flare/artifacts/contracts/addressUpdater/implementation/AddressUpdater.sol/AddressUpdater.json +311 -0
  266. package/dist/flare/artifacts/contracts/addressUpdater/interface/IIAddressUpdatable.sol/IIAddressUpdatable.json +29 -0
  267. package/dist/flare/artifacts/contracts/assetRegistry/implementation/FlareAssetRegistry.sol/FlareAssetRegistry.json +525 -0
  268. package/dist/flare/artifacts/contracts/assetRegistry/implementation/WNatRegistryProvider.sol/WNatRegistryProvider.json +113 -0
  269. package/dist/flare/artifacts/contracts/assetRegistry/interface/IIERC20WithMetadata.sol/IIERC20WithMetadata.json +233 -0
  270. package/dist/flare/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistry.sol/IIFlareAssetRegistry.json +316 -0
  271. package/dist/flare/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistryProvider.sol/IIFlareAssetRegistryProvider.json +66 -0
  272. package/dist/flare/artifacts/contracts/assetRegistry/lib/StandardAttributes.sol/StandardAttributes.json +10 -0
  273. package/dist/flare/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +1151 -0
  274. package/dist/flare/artifacts/contracts/claiming/implementation/CloneFactory.sol/CloneFactory.json +10 -0
  275. package/dist/flare/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +346 -0
  276. package/dist/flare/artifacts/contracts/claiming/interface/IIClaimSetupManager.sol/IIClaimSetupManager.json +795 -0
  277. package/dist/flare/artifacts/contracts/claiming/interface/IIDelegationAccount.sol/IIDelegationAccount.json +316 -0
  278. package/dist/flare/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +1007 -0
  279. package/dist/flare/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +1647 -0
  280. package/dist/flare/artifacts/contracts/ftso/interface/IIFtso.sol/IIFtso.json +856 -0
  281. package/dist/flare/artifacts/contracts/ftso/interface/IIFtsoManager.sol/IIFtsoManager.json +837 -0
  282. package/dist/flare/artifacts/contracts/ftso/interface/IIFtsoManagerV1.sol/IIFtsoManagerV1.json +102 -0
  283. package/dist/flare/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +10 -0
  284. package/dist/flare/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +43 -0
  285. package/dist/flare/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +10 -0
  286. package/dist/flare/artifacts/contracts/ftso/lib/FtsoMedian.sol/FtsoMedian.json +10 -0
  287. package/dist/flare/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +10 -0
  288. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +718 -0
  289. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +338 -0
  290. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +198 -0
  291. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +951 -0
  292. package/dist/flare/artifacts/contracts/genesis/implementation/DistributionTreasury.sol/DistributionTreasury.json +336 -0
  293. package/dist/flare/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +794 -0
  294. package/dist/flare/artifacts/contracts/genesis/implementation/GovernanceSettings.sol/GovernanceSettings.json +219 -0
  295. package/dist/flare/artifacts/contracts/genesis/implementation/IncentivePoolTreasury.sol/IncentivePoolTreasury.json +292 -0
  296. package/dist/flare/artifacts/contracts/genesis/implementation/InitialAirdrop.sol/InitialAirdrop.json +493 -0
  297. package/dist/flare/artifacts/contracts/genesis/implementation/PriceSubmitter.sol/PriceSubmitter.json +569 -0
  298. package/dist/flare/artifacts/contracts/genesis/implementation/StateConnector.sol/StateConnector.json +324 -0
  299. package/dist/flare/artifacts/contracts/genesis/interface/IFlareDaemonize.sol/IFlareDaemonize.json +50 -0
  300. package/dist/flare/artifacts/contracts/genesis/interface/IFtsoGenesis.sol/IFtsoGenesis.json +63 -0
  301. package/dist/flare/artifacts/contracts/genesis/interface/IFtsoManagerGenesis.sol/IFtsoManagerGenesis.json +24 -0
  302. package/dist/flare/artifacts/contracts/genesis/interface/IFtsoRegistryGenesis.sol/IFtsoRegistryGenesis.json +30 -0
  303. package/dist/flare/artifacts/contracts/genesis/interface/IIPriceSubmitter.sol/IIPriceSubmitter.json +283 -0
  304. package/dist/flare/artifacts/contracts/genesis/interface/IInflationGenesis.sol/IInflationGenesis.json +18 -0
  305. package/dist/flare/artifacts/contracts/governance/implementation/Governed.sol/Governed.json +220 -0
  306. package/dist/flare/artifacts/contracts/governance/implementation/GovernedAtGenesis.sol/GovernedAtGenesis.json +233 -0
  307. package/dist/flare/artifacts/contracts/governance/implementation/GovernedBase.sol/GovernedBase.json +209 -0
  308. package/dist/flare/artifacts/contracts/governance/implementation/Governor.sol/Governor.json +653 -0
  309. package/dist/flare/artifacts/contracts/governance/implementation/GovernorProposals.sol/GovernorProposals.json +24 -0
  310. package/dist/flare/artifacts/contracts/governance/implementation/GovernorProposer.sol/GovernorProposer.json +265 -0
  311. package/dist/flare/artifacts/contracts/governance/implementation/GovernorVotePower.sol/GovernorVotePower.json +24 -0
  312. package/dist/flare/artifacts/contracts/governance/implementation/GovernorVotes.sol/GovernorVotes.json +10 -0
  313. package/dist/flare/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +1070 -0
  314. package/dist/flare/artifacts/contracts/governance/interface/IIGovernorProposer.sol/IIGovernorProposer.json +30 -0
  315. package/dist/flare/artifacts/contracts/governance/interface/IIPollingFoundation.sol/IIPollingFoundation.json +640 -0
  316. package/dist/flare/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +926 -0
  317. package/dist/flare/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +463 -0
  318. package/dist/flare/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +543 -0
  319. package/dist/flare/artifacts/contracts/inflation/interface/IIInflationAllocation.sol/IIInflationAllocation.json +49 -0
  320. package/dist/flare/artifacts/contracts/inflation/interface/IIInflationPercentageProvider.sol/IIInflationPercentageProvider.json +24 -0
  321. package/dist/flare/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +57 -0
  322. package/dist/flare/artifacts/contracts/inflation/interface/IIInflationSharingPercentageProvider.sol/IIInflationSharingPercentageProvider.json +36 -0
  323. package/dist/flare/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +82 -0
  324. package/dist/flare/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +10 -0
  325. package/dist/flare/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +10 -0
  326. package/dist/flare/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +30 -0
  327. package/dist/flare/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +49 -0
  328. package/dist/flare/artifacts/contracts/mockXAsset/interface/ICollateralizable.sol/ICollateralizable.json +234 -0
  329. package/dist/flare/artifacts/contracts/token/implementation/CheckPointable.sol/CheckPointable.json +142 -0
  330. package/dist/flare/artifacts/contracts/token/implementation/CleanupBlockNumberManager.sol/CleanupBlockNumberManager.json +389 -0
  331. package/dist/flare/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +235 -0
  332. package/dist/flare/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +324 -0
  333. package/dist/flare/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +798 -0
  334. package/dist/flare/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +1264 -0
  335. package/dist/flare/artifacts/contracts/token/implementation/WNat.sol/WNat.json +1357 -0
  336. package/dist/flare/artifacts/contracts/token/interface/IICleanable.sol/IICleanable.json +50 -0
  337. package/dist/flare/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +252 -0
  338. package/dist/flare/artifacts/contracts/token/interface/IIVPContract.sol/IIVPContract.json +620 -0
  339. package/dist/flare/artifacts/contracts/token/interface/IIVPToken.sol/IIVPToken.json +832 -0
  340. package/dist/flare/artifacts/contracts/token/lib/CheckPointHistory.sol/CheckPointHistory.json +10 -0
  341. package/dist/flare/artifacts/contracts/token/lib/CheckPointHistoryCache.sol/CheckPointHistoryCache.json +10 -0
  342. package/dist/flare/artifacts/contracts/token/lib/CheckPointsByAddress.sol/CheckPointsByAddress.json +10 -0
  343. package/dist/flare/artifacts/contracts/token/lib/DelegateCheckPointHistory.sol/DelegateCheckPointHistory.json +10 -0
  344. package/dist/flare/artifacts/contracts/token/lib/DelegateCheckPointsByAddress.sol/DelegateCheckPointsByAddress.json +10 -0
  345. package/dist/flare/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +24 -0
  346. package/dist/flare/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +10 -0
  347. package/dist/flare/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +24 -0
  348. package/dist/flare/artifacts/contracts/token/lib/VotePower.sol/VotePower.json +10 -0
  349. package/dist/flare/artifacts/contracts/token/lib/VotePowerCache.sol/VotePowerCache.json +10 -0
  350. package/dist/flare/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +741 -0
  351. package/dist/flare/artifacts/contracts/tokenPools/implementation/Distribution.sol/Distribution.json +561 -0
  352. package/dist/flare/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +1121 -0
  353. package/dist/flare/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +769 -0
  354. package/dist/flare/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +1412 -0
  355. package/dist/flare/artifacts/contracts/tokenPools/implementation/GenericRewardManager.sol/GenericRewardManager.json +720 -0
  356. package/dist/flare/artifacts/contracts/tokenPools/implementation/IncentivePool.sol/IncentivePool.json +927 -0
  357. package/dist/flare/artifacts/contracts/tokenPools/implementation/IncentivePoolAllocation.sol/IncentivePoolAllocation.json +463 -0
  358. package/dist/flare/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +741 -0
  359. package/dist/flare/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +962 -0
  360. package/dist/flare/artifacts/contracts/tokenPools/interface/IIGenericRewardManager.sol/IIGenericRewardManager.json +413 -0
  361. package/dist/flare/artifacts/contracts/tokenPools/interface/IIIncentivePoolAllocation.sol/IIIncentivePoolAllocation.json +49 -0
  362. package/dist/flare/artifacts/contracts/tokenPools/interface/IIIncentivePoolPercentageProvider.sol/IIIncentivePoolPercentageProvider.json +24 -0
  363. package/dist/flare/artifacts/contracts/tokenPools/interface/IIIncentivePoolReceiver.sol/IIIncentivePoolReceiver.json +57 -0
  364. package/dist/flare/artifacts/contracts/tokenPools/interface/IIIncentivePoolSharingPercentageProvider.sol/IIIncentivePoolSharingPercentageProvider.json +36 -0
  365. package/dist/flare/artifacts/contracts/tokenPools/interface/IITokenPool.sol/IITokenPool.json +34 -0
  366. package/dist/flare/artifacts/contracts/tokenPools/lib/DataProviderFee.sol/DataProviderFee.json +10 -0
  367. package/dist/flare/artifacts/contracts/tokenPools/lib/IncentivePoolAnnum.sol/IncentivePoolAnnum.json +10 -0
  368. package/dist/flare/artifacts/contracts/tokenPools/lib/IncentivePoolAnnums.sol/IncentivePoolAnnums.json +10 -0
  369. package/dist/flare/artifacts/contracts/tokenPools/lib/IncentivePoolRewardService.sol/IncentivePoolRewardService.json +30 -0
  370. package/dist/flare/artifacts/contracts/tokenPools/lib/IncentivePoolRewardServices.sol/IncentivePoolRewardServices.json +49 -0
  371. package/dist/flare/artifacts/contracts/utils/implementation/AddressSet.sol/AddressSet.json +10 -0
  372. package/dist/flare/artifacts/contracts/utils/implementation/DateTimeLibrary.sol/BokkyPooBahsDateTimeLibrary.json +154 -0
  373. package/dist/flare/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +769 -0
  374. package/dist/flare/artifacts/contracts/utils/implementation/FtsoRegistryProxy.sol/FtsoRegistryProxy.json +272 -0
  375. package/dist/flare/artifacts/contracts/utils/implementation/FundDistributor.sol/FundDistributor.json +71 -0
  376. package/dist/flare/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +238 -0
  377. package/dist/flare/artifacts/contracts/utils/implementation/ProxyGoverned.sol/ProxyGoverned.json +256 -0
  378. package/dist/flare/artifacts/contracts/utils/implementation/RevertErrorTracking.sol/RevertErrorTracking.json +131 -0
  379. package/dist/flare/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +10 -0
  380. package/dist/flare/artifacts/contracts/utils/implementation/ValidatorRegistry.sol/ValidatorRegistry.json +149 -0
  381. package/dist/flare/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +530 -0
  382. package/dist/flare/artifacts/contracts/utils/interface/IIFtsoRegistry.sol/IIFtsoRegistry.json +477 -0
  383. package/dist/flare/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +236 -0
  384. package/dist/flare/artifacts/contracts/utils/interface/IUpdateValidators.sol/IUpdateValidators.json +18 -0
  385. package/dist/flare/deploys/contractAddresses.d.ts +44 -0
  386. package/dist/flare/deploys/contractAddresses.d.ts.map +1 -0
  387. package/dist/flare/deploys/contractAddresses.js +47 -0
  388. package/dist/flare/deploys/contractAddresses.js.map +1 -0
  389. package/dist/flare/deploys/flare.json +207 -0
  390. package/dist/flare/deploys/mapper.d.ts +7 -0
  391. package/dist/flare/deploys/mapper.d.ts.map +1 -0
  392. package/dist/flare/deploys/mapper.js +40 -0
  393. package/dist/flare/deploys/mapper.js.map +1 -0
  394. package/dist/flare/index.d.ts +3 -0
  395. package/dist/flare/index.d.ts.map +1 -0
  396. package/dist/flare/index.js +20 -0
  397. package/dist/flare/index.js.map +1 -0
  398. package/dist/index.d.ts +7 -0
  399. package/dist/index.d.ts.map +1 -0
  400. package/dist/index.js +48 -0
  401. package/dist/index.js.map +1 -0
  402. package/dist/package.json +28 -0
  403. package/dist/songbird/abis.songbird.d.ts +4 -0
  404. package/dist/songbird/abis.songbird.d.ts.map +1 -0
  405. package/dist/songbird/abis.songbird.js +165 -0
  406. package/dist/songbird/abis.songbird.js.map +1 -0
  407. package/dist/songbird/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +955 -0
  408. package/dist/songbird/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +1111 -0
  409. package/dist/songbird/artifacts/contracts/ftso/interface/IIFtso.sol/IIFtso.json +811 -0
  410. package/dist/songbird/artifacts/contracts/ftso/interface/IIFtsoManager.sol/IIFtsoManager.json +603 -0
  411. package/dist/songbird/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +10 -0
  412. package/dist/songbird/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +10 -0
  413. package/dist/songbird/artifacts/contracts/ftso/lib/FtsoMedian.sol/FtsoMedian.json +10 -0
  414. package/dist/songbird/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +10 -0
  415. package/dist/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +443 -0
  416. package/dist/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +241 -0
  417. package/dist/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +198 -0
  418. package/dist/songbird/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +906 -0
  419. package/dist/songbird/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +676 -0
  420. package/dist/songbird/artifacts/contracts/genesis/implementation/PriceSubmitter.sol/PriceSubmitter.json +407 -0
  421. package/dist/songbird/artifacts/contracts/genesis/implementation/StateConnector.sol/StateConnector.json +1003 -0
  422. package/dist/songbird/artifacts/contracts/genesis/interface/IFlareDaemonize.sol/IFlareDaemonize.json +37 -0
  423. package/dist/songbird/artifacts/contracts/genesis/interface/IFtsoGenesis.sol/IFtsoGenesis.json +91 -0
  424. package/dist/songbird/artifacts/contracts/genesis/interface/IFtsoRegistryGenesis.sol/IFtsoRegistryGenesis.json +30 -0
  425. package/dist/songbird/artifacts/contracts/genesis/interface/IIPriceSubmitter.sol/IIPriceSubmitter.json +285 -0
  426. package/dist/songbird/artifacts/contracts/genesis/interface/IInflationGenesis.sol/IInflationGenesis.json +18 -0
  427. package/dist/songbird/artifacts/contracts/governance/implementation/Governed.sol/Governed.json +126 -0
  428. package/dist/songbird/artifacts/contracts/governance/implementation/GovernedAtGenesis.sol/GovernedAtGenesis.json +139 -0
  429. package/dist/songbird/artifacts/contracts/governance/implementation/GovernedBase.sol/GovernedBase.json +115 -0
  430. package/dist/songbird/artifacts/contracts/governance/implementation/Governor.sol/Governor.json +785 -0
  431. package/dist/songbird/artifacts/contracts/governance/implementation/GovernorProposals.sol/GovernorProposals.json +24 -0
  432. package/dist/songbird/artifacts/contracts/governance/implementation/GovernorProposer.sol/GovernorProposer.json +171 -0
  433. package/dist/songbird/artifacts/contracts/governance/implementation/GovernorVotePower.sol/GovernorVotePower.json +24 -0
  434. package/dist/songbird/artifacts/contracts/governance/implementation/GovernorVotes.sol/GovernorVotes.json +10 -0
  435. package/dist/songbird/artifacts/contracts/governance/implementation/InflationAllocation.sol/InflationAllocation.json +351 -0
  436. package/dist/songbird/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +994 -0
  437. package/dist/songbird/artifacts/contracts/governance/interface/IIGovernorProposer.sol/IIGovernorProposer.json +30 -0
  438. package/dist/songbird/artifacts/contracts/governance/interface/IIPollingFoundation.sol/IIPollingFoundation.json +671 -0
  439. package/dist/songbird/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +879 -0
  440. package/dist/songbird/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +403 -0
  441. package/dist/songbird/artifacts/contracts/inflation/interface/IIInflationPercentageProvider.sol/IIInflationPercentageProvider.json +24 -0
  442. package/dist/songbird/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +44 -0
  443. package/dist/songbird/artifacts/contracts/inflation/interface/IIInflationSharingPercentageProvider.sol/IIInflationSharingPercentageProvider.json +36 -0
  444. package/dist/songbird/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +88 -0
  445. package/dist/songbird/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +10 -0
  446. package/dist/songbird/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +10 -0
  447. package/dist/songbird/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +30 -0
  448. package/dist/songbird/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +49 -0
  449. package/dist/songbird/artifacts/contracts/mockXAsset/interface/ICollateralizable.sol/ICollateralizable.json +234 -0
  450. package/dist/songbird/artifacts/contracts/token/implementation/CheckPointable.sol/CheckPointable.json +129 -0
  451. package/dist/songbird/artifacts/contracts/token/implementation/CleanupBlockNumberManager.sol/CleanupBlockNumberManager.json +254 -0
  452. package/dist/songbird/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +222 -0
  453. package/dist/songbird/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +324 -0
  454. package/dist/songbird/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +774 -0
  455. package/dist/songbird/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +1102 -0
  456. package/dist/songbird/artifacts/contracts/token/implementation/WNat.sol/WNat.json +1195 -0
  457. package/dist/songbird/artifacts/contracts/token/interface/IICleanable.sol/IICleanable.json +63 -0
  458. package/dist/songbird/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +252 -0
  459. package/dist/songbird/artifacts/contracts/token/interface/IIVPContract.sol/IIVPContract.json +609 -0
  460. package/dist/songbird/artifacts/contracts/token/interface/IIVPToken.sol/IIVPToken.json +790 -0
  461. package/dist/songbird/artifacts/contracts/token/lib/CheckPointHistory.sol/CheckPointHistory.json +10 -0
  462. package/dist/songbird/artifacts/contracts/token/lib/CheckPointHistoryCache.sol/CheckPointHistoryCache.json +10 -0
  463. package/dist/songbird/artifacts/contracts/token/lib/CheckPointsByAddress.sol/CheckPointsByAddress.json +10 -0
  464. package/dist/songbird/artifacts/contracts/token/lib/DelegateCheckPointHistory.sol/DelegateCheckPointHistory.json +10 -0
  465. package/dist/songbird/artifacts/contracts/token/lib/DelegateCheckPointsByAddress.sol/DelegateCheckPointsByAddress.json +10 -0
  466. package/dist/songbird/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +24 -0
  467. package/dist/songbird/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +10 -0
  468. package/dist/songbird/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +24 -0
  469. package/dist/songbird/artifacts/contracts/token/lib/VotePower.sol/VotePower.json +10 -0
  470. package/dist/songbird/artifacts/contracts/token/lib/VotePowerCache.sol/VotePowerCache.json +10 -0
  471. package/dist/songbird/artifacts/contracts/tokenPools/implementation/DataAvailabilityRewardManager.sol/DataAvailabilityRewardManager.json +566 -0
  472. package/dist/songbird/artifacts/contracts/tokenPools/implementation/Distribution.sol/Distribution.json +391 -0
  473. package/dist/songbird/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +1027 -0
  474. package/dist/songbird/artifacts/contracts/tokenPools/interface/IIDataAvailabilityRewardManager.sol/IIDataAvailabilityRewardManager.json +203 -0
  475. package/dist/songbird/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +558 -0
  476. package/dist/songbird/artifacts/contracts/tokenPools/interface/IITokenPool.sol/IITokenPool.json +34 -0
  477. package/dist/songbird/artifacts/contracts/utils/implementation/DateTimeLibrary.sol/BokkyPooBahsDateTimeLibrary.json +154 -0
  478. package/dist/songbird/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +475 -0
  479. package/dist/songbird/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +144 -0
  480. package/dist/songbird/artifacts/contracts/utils/implementation/RevertErrorTracking.sol/RevertErrorTracking.json +149 -0
  481. package/dist/songbird/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +10 -0
  482. package/dist/songbird/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +418 -0
  483. package/dist/songbird/artifacts/contracts/utils/interface/IIFtsoRegistry.sol/IIFtsoRegistry.json +315 -0
  484. package/dist/songbird/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +236 -0
  485. package/dist/songbird/deploys/contractAddresses.d.ts +29 -0
  486. package/dist/songbird/deploys/contractAddresses.d.ts.map +1 -0
  487. package/dist/songbird/deploys/contractAddresses.js +32 -0
  488. package/dist/songbird/deploys/contractAddresses.js.map +1 -0
  489. package/dist/songbird/deploys/mapper.d.ts +7 -0
  490. package/dist/songbird/deploys/mapper.d.ts.map +1 -0
  491. package/dist/songbird/deploys/mapper.js +40 -0
  492. package/dist/songbird/deploys/mapper.js.map +1 -0
  493. package/dist/songbird/deploys/songbird.json +132 -0
  494. package/dist/songbird/index.d.ts +3 -0
  495. package/dist/songbird/index.d.ts.map +1 -0
  496. package/dist/songbird/index.js +20 -0
  497. package/dist/songbird/index.js.map +1 -0
  498. package/package.json +28 -0
@@ -0,0 +1,1357 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "WNat",
4
+ "sourceName": "contracts/token/implementation/WNat.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "_governance",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "string",
15
+ "name": "_name",
16
+ "type": "string"
17
+ },
18
+ {
19
+ "internalType": "string",
20
+ "name": "_symbol",
21
+ "type": "string"
22
+ }
23
+ ],
24
+ "stateMutability": "nonpayable",
25
+ "type": "constructor"
26
+ },
27
+ {
28
+ "anonymous": false,
29
+ "inputs": [
30
+ {
31
+ "indexed": true,
32
+ "internalType": "address",
33
+ "name": "owner",
34
+ "type": "address"
35
+ },
36
+ {
37
+ "indexed": true,
38
+ "internalType": "address",
39
+ "name": "spender",
40
+ "type": "address"
41
+ },
42
+ {
43
+ "indexed": false,
44
+ "internalType": "uint256",
45
+ "name": "value",
46
+ "type": "uint256"
47
+ }
48
+ ],
49
+ "name": "Approval",
50
+ "type": "event"
51
+ },
52
+ {
53
+ "anonymous": false,
54
+ "inputs": [
55
+ {
56
+ "indexed": false,
57
+ "internalType": "uint256",
58
+ "name": "_blockNumber",
59
+ "type": "uint256"
60
+ }
61
+ ],
62
+ "name": "CreatedTotalSupplyCache",
63
+ "type": "event"
64
+ },
65
+ {
66
+ "anonymous": false,
67
+ "inputs": [
68
+ {
69
+ "indexed": true,
70
+ "internalType": "address",
71
+ "name": "dst",
72
+ "type": "address"
73
+ },
74
+ {
75
+ "indexed": false,
76
+ "internalType": "uint256",
77
+ "name": "amount",
78
+ "type": "uint256"
79
+ }
80
+ ],
81
+ "name": "Deposit",
82
+ "type": "event"
83
+ },
84
+ {
85
+ "anonymous": false,
86
+ "inputs": [
87
+ {
88
+ "indexed": false,
89
+ "internalType": "bytes4",
90
+ "name": "selector",
91
+ "type": "bytes4"
92
+ },
93
+ {
94
+ "indexed": false,
95
+ "internalType": "uint256",
96
+ "name": "allowedAfterTimestamp",
97
+ "type": "uint256"
98
+ },
99
+ {
100
+ "indexed": false,
101
+ "internalType": "bytes",
102
+ "name": "encodedCall",
103
+ "type": "bytes"
104
+ }
105
+ ],
106
+ "name": "GovernanceCallTimelocked",
107
+ "type": "event"
108
+ },
109
+ {
110
+ "anonymous": false,
111
+ "inputs": [
112
+ {
113
+ "indexed": false,
114
+ "internalType": "address",
115
+ "name": "initialGovernance",
116
+ "type": "address"
117
+ }
118
+ ],
119
+ "name": "GovernanceInitialised",
120
+ "type": "event"
121
+ },
122
+ {
123
+ "anonymous": false,
124
+ "inputs": [
125
+ {
126
+ "indexed": false,
127
+ "internalType": "address",
128
+ "name": "governanceSettings",
129
+ "type": "address"
130
+ }
131
+ ],
132
+ "name": "GovernedProductionModeEntered",
133
+ "type": "event"
134
+ },
135
+ {
136
+ "anonymous": false,
137
+ "inputs": [
138
+ {
139
+ "indexed": false,
140
+ "internalType": "bytes4",
141
+ "name": "selector",
142
+ "type": "bytes4"
143
+ },
144
+ {
145
+ "indexed": false,
146
+ "internalType": "uint256",
147
+ "name": "timestamp",
148
+ "type": "uint256"
149
+ }
150
+ ],
151
+ "name": "TimelockedGovernanceCallCanceled",
152
+ "type": "event"
153
+ },
154
+ {
155
+ "anonymous": false,
156
+ "inputs": [
157
+ {
158
+ "indexed": false,
159
+ "internalType": "bytes4",
160
+ "name": "selector",
161
+ "type": "bytes4"
162
+ },
163
+ {
164
+ "indexed": false,
165
+ "internalType": "uint256",
166
+ "name": "timestamp",
167
+ "type": "uint256"
168
+ }
169
+ ],
170
+ "name": "TimelockedGovernanceCallExecuted",
171
+ "type": "event"
172
+ },
173
+ {
174
+ "anonymous": false,
175
+ "inputs": [
176
+ {
177
+ "indexed": true,
178
+ "internalType": "address",
179
+ "name": "from",
180
+ "type": "address"
181
+ },
182
+ {
183
+ "indexed": true,
184
+ "internalType": "address",
185
+ "name": "to",
186
+ "type": "address"
187
+ },
188
+ {
189
+ "indexed": false,
190
+ "internalType": "uint256",
191
+ "name": "value",
192
+ "type": "uint256"
193
+ }
194
+ ],
195
+ "name": "Transfer",
196
+ "type": "event"
197
+ },
198
+ {
199
+ "anonymous": false,
200
+ "inputs": [
201
+ {
202
+ "indexed": false,
203
+ "internalType": "uint256",
204
+ "name": "_contractType",
205
+ "type": "uint256"
206
+ },
207
+ {
208
+ "indexed": false,
209
+ "internalType": "address",
210
+ "name": "_oldContractAddress",
211
+ "type": "address"
212
+ },
213
+ {
214
+ "indexed": false,
215
+ "internalType": "address",
216
+ "name": "_newContractAddress",
217
+ "type": "address"
218
+ }
219
+ ],
220
+ "name": "VotePowerContractChanged",
221
+ "type": "event"
222
+ },
223
+ {
224
+ "anonymous": false,
225
+ "inputs": [
226
+ {
227
+ "indexed": true,
228
+ "internalType": "address",
229
+ "name": "src",
230
+ "type": "address"
231
+ },
232
+ {
233
+ "indexed": false,
234
+ "internalType": "uint256",
235
+ "name": "amount",
236
+ "type": "uint256"
237
+ }
238
+ ],
239
+ "name": "Withdrawal",
240
+ "type": "event"
241
+ },
242
+ {
243
+ "inputs": [
244
+ {
245
+ "internalType": "address",
246
+ "name": "owner",
247
+ "type": "address"
248
+ },
249
+ {
250
+ "internalType": "address",
251
+ "name": "spender",
252
+ "type": "address"
253
+ }
254
+ ],
255
+ "name": "allowance",
256
+ "outputs": [
257
+ {
258
+ "internalType": "uint256",
259
+ "name": "",
260
+ "type": "uint256"
261
+ }
262
+ ],
263
+ "stateMutability": "view",
264
+ "type": "function"
265
+ },
266
+ {
267
+ "inputs": [
268
+ {
269
+ "internalType": "address",
270
+ "name": "spender",
271
+ "type": "address"
272
+ },
273
+ {
274
+ "internalType": "uint256",
275
+ "name": "amount",
276
+ "type": "uint256"
277
+ }
278
+ ],
279
+ "name": "approve",
280
+ "outputs": [
281
+ {
282
+ "internalType": "bool",
283
+ "name": "",
284
+ "type": "bool"
285
+ }
286
+ ],
287
+ "stateMutability": "nonpayable",
288
+ "type": "function"
289
+ },
290
+ {
291
+ "inputs": [
292
+ {
293
+ "internalType": "address",
294
+ "name": "_owner",
295
+ "type": "address"
296
+ },
297
+ {
298
+ "internalType": "uint256",
299
+ "name": "_count",
300
+ "type": "uint256"
301
+ }
302
+ ],
303
+ "name": "balanceHistoryCleanup",
304
+ "outputs": [
305
+ {
306
+ "internalType": "uint256",
307
+ "name": "",
308
+ "type": "uint256"
309
+ }
310
+ ],
311
+ "stateMutability": "nonpayable",
312
+ "type": "function"
313
+ },
314
+ {
315
+ "inputs": [
316
+ {
317
+ "internalType": "address",
318
+ "name": "account",
319
+ "type": "address"
320
+ }
321
+ ],
322
+ "name": "balanceOf",
323
+ "outputs": [
324
+ {
325
+ "internalType": "uint256",
326
+ "name": "",
327
+ "type": "uint256"
328
+ }
329
+ ],
330
+ "stateMutability": "view",
331
+ "type": "function"
332
+ },
333
+ {
334
+ "inputs": [
335
+ {
336
+ "internalType": "address",
337
+ "name": "_owner",
338
+ "type": "address"
339
+ },
340
+ {
341
+ "internalType": "uint256",
342
+ "name": "_blockNumber",
343
+ "type": "uint256"
344
+ }
345
+ ],
346
+ "name": "balanceOfAt",
347
+ "outputs": [
348
+ {
349
+ "internalType": "uint256",
350
+ "name": "",
351
+ "type": "uint256"
352
+ }
353
+ ],
354
+ "stateMutability": "view",
355
+ "type": "function"
356
+ },
357
+ {
358
+ "inputs": [
359
+ {
360
+ "internalType": "address[]",
361
+ "name": "_delegatees",
362
+ "type": "address[]"
363
+ },
364
+ {
365
+ "internalType": "uint256[]",
366
+ "name": "_bips",
367
+ "type": "uint256[]"
368
+ }
369
+ ],
370
+ "name": "batchDelegate",
371
+ "outputs": [],
372
+ "stateMutability": "nonpayable",
373
+ "type": "function"
374
+ },
375
+ {
376
+ "inputs": [
377
+ {
378
+ "internalType": "address[]",
379
+ "name": "_owners",
380
+ "type": "address[]"
381
+ },
382
+ {
383
+ "internalType": "uint256",
384
+ "name": "_blockNumber",
385
+ "type": "uint256"
386
+ }
387
+ ],
388
+ "name": "batchVotePowerOfAt",
389
+ "outputs": [
390
+ {
391
+ "internalType": "uint256[]",
392
+ "name": "",
393
+ "type": "uint256[]"
394
+ }
395
+ ],
396
+ "stateMutability": "view",
397
+ "type": "function"
398
+ },
399
+ {
400
+ "inputs": [
401
+ {
402
+ "internalType": "bytes4",
403
+ "name": "_selector",
404
+ "type": "bytes4"
405
+ }
406
+ ],
407
+ "name": "cancelGovernanceCall",
408
+ "outputs": [],
409
+ "stateMutability": "nonpayable",
410
+ "type": "function"
411
+ },
412
+ {
413
+ "inputs": [],
414
+ "name": "cleanerContract",
415
+ "outputs": [
416
+ {
417
+ "internalType": "address",
418
+ "name": "",
419
+ "type": "address"
420
+ }
421
+ ],
422
+ "stateMutability": "view",
423
+ "type": "function"
424
+ },
425
+ {
426
+ "inputs": [],
427
+ "name": "cleanupBlockNumber",
428
+ "outputs": [
429
+ {
430
+ "internalType": "uint256",
431
+ "name": "",
432
+ "type": "uint256"
433
+ }
434
+ ],
435
+ "stateMutability": "view",
436
+ "type": "function"
437
+ },
438
+ {
439
+ "inputs": [],
440
+ "name": "cleanupBlockNumberManager",
441
+ "outputs": [
442
+ {
443
+ "internalType": "address",
444
+ "name": "",
445
+ "type": "address"
446
+ }
447
+ ],
448
+ "stateMutability": "view",
449
+ "type": "function"
450
+ },
451
+ {
452
+ "inputs": [],
453
+ "name": "decimals",
454
+ "outputs": [
455
+ {
456
+ "internalType": "uint8",
457
+ "name": "",
458
+ "type": "uint8"
459
+ }
460
+ ],
461
+ "stateMutability": "view",
462
+ "type": "function"
463
+ },
464
+ {
465
+ "inputs": [
466
+ {
467
+ "internalType": "address",
468
+ "name": "spender",
469
+ "type": "address"
470
+ },
471
+ {
472
+ "internalType": "uint256",
473
+ "name": "subtractedValue",
474
+ "type": "uint256"
475
+ }
476
+ ],
477
+ "name": "decreaseAllowance",
478
+ "outputs": [
479
+ {
480
+ "internalType": "bool",
481
+ "name": "",
482
+ "type": "bool"
483
+ }
484
+ ],
485
+ "stateMutability": "nonpayable",
486
+ "type": "function"
487
+ },
488
+ {
489
+ "inputs": [
490
+ {
491
+ "internalType": "address",
492
+ "name": "_to",
493
+ "type": "address"
494
+ },
495
+ {
496
+ "internalType": "uint256",
497
+ "name": "_bips",
498
+ "type": "uint256"
499
+ }
500
+ ],
501
+ "name": "delegate",
502
+ "outputs": [],
503
+ "stateMutability": "nonpayable",
504
+ "type": "function"
505
+ },
506
+ {
507
+ "inputs": [
508
+ {
509
+ "internalType": "address",
510
+ "name": "_to",
511
+ "type": "address"
512
+ },
513
+ {
514
+ "internalType": "uint256",
515
+ "name": "_amount",
516
+ "type": "uint256"
517
+ }
518
+ ],
519
+ "name": "delegateExplicit",
520
+ "outputs": [],
521
+ "stateMutability": "nonpayable",
522
+ "type": "function"
523
+ },
524
+ {
525
+ "inputs": [
526
+ {
527
+ "internalType": "address",
528
+ "name": "_owner",
529
+ "type": "address"
530
+ }
531
+ ],
532
+ "name": "delegatesOf",
533
+ "outputs": [
534
+ {
535
+ "internalType": "address[]",
536
+ "name": "_delegateAddresses",
537
+ "type": "address[]"
538
+ },
539
+ {
540
+ "internalType": "uint256[]",
541
+ "name": "_bips",
542
+ "type": "uint256[]"
543
+ },
544
+ {
545
+ "internalType": "uint256",
546
+ "name": "_count",
547
+ "type": "uint256"
548
+ },
549
+ {
550
+ "internalType": "uint256",
551
+ "name": "_delegationMode",
552
+ "type": "uint256"
553
+ }
554
+ ],
555
+ "stateMutability": "view",
556
+ "type": "function"
557
+ },
558
+ {
559
+ "inputs": [
560
+ {
561
+ "internalType": "address",
562
+ "name": "_owner",
563
+ "type": "address"
564
+ },
565
+ {
566
+ "internalType": "uint256",
567
+ "name": "_blockNumber",
568
+ "type": "uint256"
569
+ }
570
+ ],
571
+ "name": "delegatesOfAt",
572
+ "outputs": [
573
+ {
574
+ "internalType": "address[]",
575
+ "name": "_delegateAddresses",
576
+ "type": "address[]"
577
+ },
578
+ {
579
+ "internalType": "uint256[]",
580
+ "name": "_bips",
581
+ "type": "uint256[]"
582
+ },
583
+ {
584
+ "internalType": "uint256",
585
+ "name": "_count",
586
+ "type": "uint256"
587
+ },
588
+ {
589
+ "internalType": "uint256",
590
+ "name": "_delegationMode",
591
+ "type": "uint256"
592
+ }
593
+ ],
594
+ "stateMutability": "view",
595
+ "type": "function"
596
+ },
597
+ {
598
+ "inputs": [
599
+ {
600
+ "internalType": "address",
601
+ "name": "_who",
602
+ "type": "address"
603
+ }
604
+ ],
605
+ "name": "delegationModeOf",
606
+ "outputs": [
607
+ {
608
+ "internalType": "uint256",
609
+ "name": "",
610
+ "type": "uint256"
611
+ }
612
+ ],
613
+ "stateMutability": "view",
614
+ "type": "function"
615
+ },
616
+ {
617
+ "inputs": [],
618
+ "name": "deposit",
619
+ "outputs": [],
620
+ "stateMutability": "payable",
621
+ "type": "function"
622
+ },
623
+ {
624
+ "inputs": [
625
+ {
626
+ "internalType": "address",
627
+ "name": "recipient",
628
+ "type": "address"
629
+ }
630
+ ],
631
+ "name": "depositTo",
632
+ "outputs": [],
633
+ "stateMutability": "payable",
634
+ "type": "function"
635
+ },
636
+ {
637
+ "inputs": [
638
+ {
639
+ "internalType": "bytes4",
640
+ "name": "_selector",
641
+ "type": "bytes4"
642
+ }
643
+ ],
644
+ "name": "executeGovernanceCall",
645
+ "outputs": [],
646
+ "stateMutability": "nonpayable",
647
+ "type": "function"
648
+ },
649
+ {
650
+ "inputs": [],
651
+ "name": "governance",
652
+ "outputs": [
653
+ {
654
+ "internalType": "address",
655
+ "name": "",
656
+ "type": "address"
657
+ }
658
+ ],
659
+ "stateMutability": "view",
660
+ "type": "function"
661
+ },
662
+ {
663
+ "inputs": [],
664
+ "name": "governanceSettings",
665
+ "outputs": [
666
+ {
667
+ "internalType": "contract IGovernanceSettings",
668
+ "name": "",
669
+ "type": "address"
670
+ }
671
+ ],
672
+ "stateMutability": "view",
673
+ "type": "function"
674
+ },
675
+ {
676
+ "inputs": [],
677
+ "name": "governanceVotePower",
678
+ "outputs": [
679
+ {
680
+ "internalType": "contract IGovernanceVotePower",
681
+ "name": "",
682
+ "type": "address"
683
+ }
684
+ ],
685
+ "stateMutability": "view",
686
+ "type": "function"
687
+ },
688
+ {
689
+ "inputs": [
690
+ {
691
+ "internalType": "address",
692
+ "name": "spender",
693
+ "type": "address"
694
+ },
695
+ {
696
+ "internalType": "uint256",
697
+ "name": "addedValue",
698
+ "type": "uint256"
699
+ }
700
+ ],
701
+ "name": "increaseAllowance",
702
+ "outputs": [
703
+ {
704
+ "internalType": "bool",
705
+ "name": "",
706
+ "type": "bool"
707
+ }
708
+ ],
709
+ "stateMutability": "nonpayable",
710
+ "type": "function"
711
+ },
712
+ {
713
+ "inputs": [
714
+ {
715
+ "internalType": "address",
716
+ "name": "_initialGovernance",
717
+ "type": "address"
718
+ }
719
+ ],
720
+ "name": "initialise",
721
+ "outputs": [],
722
+ "stateMutability": "nonpayable",
723
+ "type": "function"
724
+ },
725
+ {
726
+ "inputs": [],
727
+ "name": "name",
728
+ "outputs": [
729
+ {
730
+ "internalType": "string",
731
+ "name": "",
732
+ "type": "string"
733
+ }
734
+ ],
735
+ "stateMutability": "view",
736
+ "type": "function"
737
+ },
738
+ {
739
+ "inputs": [],
740
+ "name": "productionMode",
741
+ "outputs": [
742
+ {
743
+ "internalType": "bool",
744
+ "name": "",
745
+ "type": "bool"
746
+ }
747
+ ],
748
+ "stateMutability": "view",
749
+ "type": "function"
750
+ },
751
+ {
752
+ "inputs": [],
753
+ "name": "readVotePowerContract",
754
+ "outputs": [
755
+ {
756
+ "internalType": "contract IVPContractEvents",
757
+ "name": "",
758
+ "type": "address"
759
+ }
760
+ ],
761
+ "stateMutability": "view",
762
+ "type": "function"
763
+ },
764
+ {
765
+ "inputs": [
766
+ {
767
+ "internalType": "address",
768
+ "name": "_who",
769
+ "type": "address"
770
+ },
771
+ {
772
+ "internalType": "uint256",
773
+ "name": "_blockNumber",
774
+ "type": "uint256"
775
+ }
776
+ ],
777
+ "name": "revokeDelegationAt",
778
+ "outputs": [],
779
+ "stateMutability": "nonpayable",
780
+ "type": "function"
781
+ },
782
+ {
783
+ "inputs": [
784
+ {
785
+ "internalType": "address",
786
+ "name": "_cleanerContract",
787
+ "type": "address"
788
+ }
789
+ ],
790
+ "name": "setCleanerContract",
791
+ "outputs": [],
792
+ "stateMutability": "nonpayable",
793
+ "type": "function"
794
+ },
795
+ {
796
+ "inputs": [
797
+ {
798
+ "internalType": "uint256",
799
+ "name": "_blockNumber",
800
+ "type": "uint256"
801
+ }
802
+ ],
803
+ "name": "setCleanupBlockNumber",
804
+ "outputs": [],
805
+ "stateMutability": "nonpayable",
806
+ "type": "function"
807
+ },
808
+ {
809
+ "inputs": [
810
+ {
811
+ "internalType": "address",
812
+ "name": "_cleanupBlockNumberManager",
813
+ "type": "address"
814
+ }
815
+ ],
816
+ "name": "setCleanupBlockNumberManager",
817
+ "outputs": [],
818
+ "stateMutability": "nonpayable",
819
+ "type": "function"
820
+ },
821
+ {
822
+ "inputs": [
823
+ {
824
+ "internalType": "contract IIGovernanceVotePower",
825
+ "name": "_governanceVotePower",
826
+ "type": "address"
827
+ }
828
+ ],
829
+ "name": "setGovernanceVotePower",
830
+ "outputs": [],
831
+ "stateMutability": "nonpayable",
832
+ "type": "function"
833
+ },
834
+ {
835
+ "inputs": [
836
+ {
837
+ "internalType": "contract IIVPContract",
838
+ "name": "_vpContract",
839
+ "type": "address"
840
+ }
841
+ ],
842
+ "name": "setReadVpContract",
843
+ "outputs": [],
844
+ "stateMutability": "nonpayable",
845
+ "type": "function"
846
+ },
847
+ {
848
+ "inputs": [
849
+ {
850
+ "internalType": "contract IIVPContract",
851
+ "name": "_vpContract",
852
+ "type": "address"
853
+ }
854
+ ],
855
+ "name": "setWriteVpContract",
856
+ "outputs": [],
857
+ "stateMutability": "nonpayable",
858
+ "type": "function"
859
+ },
860
+ {
861
+ "inputs": [],
862
+ "name": "switchToProductionMode",
863
+ "outputs": [],
864
+ "stateMutability": "nonpayable",
865
+ "type": "function"
866
+ },
867
+ {
868
+ "inputs": [],
869
+ "name": "symbol",
870
+ "outputs": [
871
+ {
872
+ "internalType": "string",
873
+ "name": "",
874
+ "type": "string"
875
+ }
876
+ ],
877
+ "stateMutability": "view",
878
+ "type": "function"
879
+ },
880
+ {
881
+ "inputs": [
882
+ {
883
+ "internalType": "bytes4",
884
+ "name": "",
885
+ "type": "bytes4"
886
+ }
887
+ ],
888
+ "name": "timelockedCalls",
889
+ "outputs": [
890
+ {
891
+ "internalType": "uint256",
892
+ "name": "allowedAfterTimestamp",
893
+ "type": "uint256"
894
+ },
895
+ {
896
+ "internalType": "bytes",
897
+ "name": "encodedCall",
898
+ "type": "bytes"
899
+ }
900
+ ],
901
+ "stateMutability": "view",
902
+ "type": "function"
903
+ },
904
+ {
905
+ "inputs": [],
906
+ "name": "totalSupply",
907
+ "outputs": [
908
+ {
909
+ "internalType": "uint256",
910
+ "name": "",
911
+ "type": "uint256"
912
+ }
913
+ ],
914
+ "stateMutability": "view",
915
+ "type": "function"
916
+ },
917
+ {
918
+ "inputs": [
919
+ {
920
+ "internalType": "uint256",
921
+ "name": "_blockNumber",
922
+ "type": "uint256"
923
+ }
924
+ ],
925
+ "name": "totalSupplyAt",
926
+ "outputs": [
927
+ {
928
+ "internalType": "uint256",
929
+ "name": "",
930
+ "type": "uint256"
931
+ }
932
+ ],
933
+ "stateMutability": "view",
934
+ "type": "function"
935
+ },
936
+ {
937
+ "inputs": [
938
+ {
939
+ "internalType": "uint256",
940
+ "name": "_blockNumber",
941
+ "type": "uint256"
942
+ }
943
+ ],
944
+ "name": "totalSupplyCacheCleanup",
945
+ "outputs": [
946
+ {
947
+ "internalType": "uint256",
948
+ "name": "",
949
+ "type": "uint256"
950
+ }
951
+ ],
952
+ "stateMutability": "nonpayable",
953
+ "type": "function"
954
+ },
955
+ {
956
+ "inputs": [
957
+ {
958
+ "internalType": "uint256",
959
+ "name": "_count",
960
+ "type": "uint256"
961
+ }
962
+ ],
963
+ "name": "totalSupplyHistoryCleanup",
964
+ "outputs": [
965
+ {
966
+ "internalType": "uint256",
967
+ "name": "",
968
+ "type": "uint256"
969
+ }
970
+ ],
971
+ "stateMutability": "nonpayable",
972
+ "type": "function"
973
+ },
974
+ {
975
+ "inputs": [],
976
+ "name": "totalVotePower",
977
+ "outputs": [
978
+ {
979
+ "internalType": "uint256",
980
+ "name": "",
981
+ "type": "uint256"
982
+ }
983
+ ],
984
+ "stateMutability": "view",
985
+ "type": "function"
986
+ },
987
+ {
988
+ "inputs": [
989
+ {
990
+ "internalType": "uint256",
991
+ "name": "_blockNumber",
992
+ "type": "uint256"
993
+ }
994
+ ],
995
+ "name": "totalVotePowerAt",
996
+ "outputs": [
997
+ {
998
+ "internalType": "uint256",
999
+ "name": "",
1000
+ "type": "uint256"
1001
+ }
1002
+ ],
1003
+ "stateMutability": "view",
1004
+ "type": "function"
1005
+ },
1006
+ {
1007
+ "inputs": [
1008
+ {
1009
+ "internalType": "uint256",
1010
+ "name": "_blockNumber",
1011
+ "type": "uint256"
1012
+ }
1013
+ ],
1014
+ "name": "totalVotePowerAtCached",
1015
+ "outputs": [
1016
+ {
1017
+ "internalType": "uint256",
1018
+ "name": "",
1019
+ "type": "uint256"
1020
+ }
1021
+ ],
1022
+ "stateMutability": "nonpayable",
1023
+ "type": "function"
1024
+ },
1025
+ {
1026
+ "inputs": [
1027
+ {
1028
+ "internalType": "address",
1029
+ "name": "recipient",
1030
+ "type": "address"
1031
+ },
1032
+ {
1033
+ "internalType": "uint256",
1034
+ "name": "amount",
1035
+ "type": "uint256"
1036
+ }
1037
+ ],
1038
+ "name": "transfer",
1039
+ "outputs": [
1040
+ {
1041
+ "internalType": "bool",
1042
+ "name": "",
1043
+ "type": "bool"
1044
+ }
1045
+ ],
1046
+ "stateMutability": "nonpayable",
1047
+ "type": "function"
1048
+ },
1049
+ {
1050
+ "inputs": [
1051
+ {
1052
+ "internalType": "address",
1053
+ "name": "sender",
1054
+ "type": "address"
1055
+ },
1056
+ {
1057
+ "internalType": "address",
1058
+ "name": "recipient",
1059
+ "type": "address"
1060
+ },
1061
+ {
1062
+ "internalType": "uint256",
1063
+ "name": "amount",
1064
+ "type": "uint256"
1065
+ }
1066
+ ],
1067
+ "name": "transferFrom",
1068
+ "outputs": [
1069
+ {
1070
+ "internalType": "bool",
1071
+ "name": "",
1072
+ "type": "bool"
1073
+ }
1074
+ ],
1075
+ "stateMutability": "nonpayable",
1076
+ "type": "function"
1077
+ },
1078
+ {
1079
+ "inputs": [],
1080
+ "name": "undelegateAll",
1081
+ "outputs": [],
1082
+ "stateMutability": "nonpayable",
1083
+ "type": "function"
1084
+ },
1085
+ {
1086
+ "inputs": [
1087
+ {
1088
+ "internalType": "address[]",
1089
+ "name": "_delegateAddresses",
1090
+ "type": "address[]"
1091
+ }
1092
+ ],
1093
+ "name": "undelegateAllExplicit",
1094
+ "outputs": [
1095
+ {
1096
+ "internalType": "uint256",
1097
+ "name": "_remainingDelegation",
1098
+ "type": "uint256"
1099
+ }
1100
+ ],
1101
+ "stateMutability": "nonpayable",
1102
+ "type": "function"
1103
+ },
1104
+ {
1105
+ "inputs": [
1106
+ {
1107
+ "internalType": "address",
1108
+ "name": "_owner",
1109
+ "type": "address"
1110
+ }
1111
+ ],
1112
+ "name": "undelegatedVotePowerOf",
1113
+ "outputs": [
1114
+ {
1115
+ "internalType": "uint256",
1116
+ "name": "",
1117
+ "type": "uint256"
1118
+ }
1119
+ ],
1120
+ "stateMutability": "view",
1121
+ "type": "function"
1122
+ },
1123
+ {
1124
+ "inputs": [
1125
+ {
1126
+ "internalType": "address",
1127
+ "name": "_owner",
1128
+ "type": "address"
1129
+ },
1130
+ {
1131
+ "internalType": "uint256",
1132
+ "name": "_blockNumber",
1133
+ "type": "uint256"
1134
+ }
1135
+ ],
1136
+ "name": "undelegatedVotePowerOfAt",
1137
+ "outputs": [
1138
+ {
1139
+ "internalType": "uint256",
1140
+ "name": "",
1141
+ "type": "uint256"
1142
+ }
1143
+ ],
1144
+ "stateMutability": "view",
1145
+ "type": "function"
1146
+ },
1147
+ {
1148
+ "inputs": [
1149
+ {
1150
+ "internalType": "address",
1151
+ "name": "_from",
1152
+ "type": "address"
1153
+ },
1154
+ {
1155
+ "internalType": "address",
1156
+ "name": "_to",
1157
+ "type": "address"
1158
+ }
1159
+ ],
1160
+ "name": "votePowerFromTo",
1161
+ "outputs": [
1162
+ {
1163
+ "internalType": "uint256",
1164
+ "name": "",
1165
+ "type": "uint256"
1166
+ }
1167
+ ],
1168
+ "stateMutability": "view",
1169
+ "type": "function"
1170
+ },
1171
+ {
1172
+ "inputs": [
1173
+ {
1174
+ "internalType": "address",
1175
+ "name": "_from",
1176
+ "type": "address"
1177
+ },
1178
+ {
1179
+ "internalType": "address",
1180
+ "name": "_to",
1181
+ "type": "address"
1182
+ },
1183
+ {
1184
+ "internalType": "uint256",
1185
+ "name": "_blockNumber",
1186
+ "type": "uint256"
1187
+ }
1188
+ ],
1189
+ "name": "votePowerFromToAt",
1190
+ "outputs": [
1191
+ {
1192
+ "internalType": "uint256",
1193
+ "name": "",
1194
+ "type": "uint256"
1195
+ }
1196
+ ],
1197
+ "stateMutability": "view",
1198
+ "type": "function"
1199
+ },
1200
+ {
1201
+ "inputs": [
1202
+ {
1203
+ "internalType": "address",
1204
+ "name": "_owner",
1205
+ "type": "address"
1206
+ }
1207
+ ],
1208
+ "name": "votePowerOf",
1209
+ "outputs": [
1210
+ {
1211
+ "internalType": "uint256",
1212
+ "name": "",
1213
+ "type": "uint256"
1214
+ }
1215
+ ],
1216
+ "stateMutability": "view",
1217
+ "type": "function"
1218
+ },
1219
+ {
1220
+ "inputs": [
1221
+ {
1222
+ "internalType": "address",
1223
+ "name": "_owner",
1224
+ "type": "address"
1225
+ },
1226
+ {
1227
+ "internalType": "uint256",
1228
+ "name": "_blockNumber",
1229
+ "type": "uint256"
1230
+ }
1231
+ ],
1232
+ "name": "votePowerOfAt",
1233
+ "outputs": [
1234
+ {
1235
+ "internalType": "uint256",
1236
+ "name": "",
1237
+ "type": "uint256"
1238
+ }
1239
+ ],
1240
+ "stateMutability": "view",
1241
+ "type": "function"
1242
+ },
1243
+ {
1244
+ "inputs": [
1245
+ {
1246
+ "internalType": "address",
1247
+ "name": "_owner",
1248
+ "type": "address"
1249
+ },
1250
+ {
1251
+ "internalType": "uint256",
1252
+ "name": "_blockNumber",
1253
+ "type": "uint256"
1254
+ }
1255
+ ],
1256
+ "name": "votePowerOfAtCached",
1257
+ "outputs": [
1258
+ {
1259
+ "internalType": "uint256",
1260
+ "name": "",
1261
+ "type": "uint256"
1262
+ }
1263
+ ],
1264
+ "stateMutability": "nonpayable",
1265
+ "type": "function"
1266
+ },
1267
+ {
1268
+ "inputs": [
1269
+ {
1270
+ "internalType": "address",
1271
+ "name": "_owner",
1272
+ "type": "address"
1273
+ },
1274
+ {
1275
+ "internalType": "uint256",
1276
+ "name": "_blockNumber",
1277
+ "type": "uint256"
1278
+ }
1279
+ ],
1280
+ "name": "votePowerOfAtIgnoringRevocation",
1281
+ "outputs": [
1282
+ {
1283
+ "internalType": "uint256",
1284
+ "name": "",
1285
+ "type": "uint256"
1286
+ }
1287
+ ],
1288
+ "stateMutability": "view",
1289
+ "type": "function"
1290
+ },
1291
+ {
1292
+ "inputs": [],
1293
+ "name": "vpContractInitialized",
1294
+ "outputs": [
1295
+ {
1296
+ "internalType": "bool",
1297
+ "name": "",
1298
+ "type": "bool"
1299
+ }
1300
+ ],
1301
+ "stateMutability": "view",
1302
+ "type": "function"
1303
+ },
1304
+ {
1305
+ "inputs": [
1306
+ {
1307
+ "internalType": "uint256",
1308
+ "name": "amount",
1309
+ "type": "uint256"
1310
+ }
1311
+ ],
1312
+ "name": "withdraw",
1313
+ "outputs": [],
1314
+ "stateMutability": "nonpayable",
1315
+ "type": "function"
1316
+ },
1317
+ {
1318
+ "inputs": [
1319
+ {
1320
+ "internalType": "address",
1321
+ "name": "owner",
1322
+ "type": "address"
1323
+ },
1324
+ {
1325
+ "internalType": "uint256",
1326
+ "name": "amount",
1327
+ "type": "uint256"
1328
+ }
1329
+ ],
1330
+ "name": "withdrawFrom",
1331
+ "outputs": [],
1332
+ "stateMutability": "nonpayable",
1333
+ "type": "function"
1334
+ },
1335
+ {
1336
+ "inputs": [],
1337
+ "name": "writeVotePowerContract",
1338
+ "outputs": [
1339
+ {
1340
+ "internalType": "contract IVPContractEvents",
1341
+ "name": "",
1342
+ "type": "address"
1343
+ }
1344
+ ],
1345
+ "stateMutability": "view",
1346
+ "type": "function"
1347
+ },
1348
+ {
1349
+ "stateMutability": "payable",
1350
+ "type": "receive"
1351
+ }
1352
+ ],
1353
+ "bytecode": "0x60806040526011805460ff60a01b191690553480156200001e57600080fd5b506040516200560338038062005603833981810160405260608110156200004457600080fd5b8151602083018051604051929492938301929190846401000000008211156200006c57600080fd5b9083019060208201858111156200008257600080fd5b82516401000000008111828201881017156200009d57600080fd5b82525081516020918201929091019080838360005b83811015620000cc578181015183820152602001620000b2565b50505050905090810190601f168015620000fa5780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011e57600080fd5b9083019060208201858111156200013457600080fd5b82516401000000008111828201881017156200014f57600080fd5b82525081516020918201929091019080838360005b838110156200017e57818101518382015260200162000164565b50505050905090810190601f168015620001ac5780820380516001836020036101000a031916815260200191505b50604052505050828282828083838160039080519060200190620001d292919062000333565b508051620001e890600490602084019062000333565b50506005805460ff19166012179055506001600160a01b038116156200021357620002138162000270565b506001600160a01b03811662000263576040805162461bcd60e51b815260206004820152601060248201526f5f676f7665726e616e6365207a65726f60801b604482015290519081900360640190fd5b50505050505050620003df565b600c54600160a01b900460ff1615620002d0576040805162461bcd60e51b815260206004820152601460248201527f696e697469616c6973656420213d2066616c7365000000000000000000000000604482015290519081900360640190fd5b600c8054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826200036b5760008555620003b6565b82601f106200038657805160ff1916838001178555620003b6565b82800160010185558215620003b6579182015b82811115620003b657825182559160200191906001019062000399565b50620003c4929150620003c8565b5090565b5b80821115620003c45760008155600101620003c9565b61521480620003ef6000396000f3fe6080604052600436106103b15760003560e01c80639470b0bd116101e7578063d06dc3ad1161010d578063e64767aa116100a0578063f5f3d4f71161006f578063f5f3d4f7146111ca578063f62f8f3a146111df578063f683776714611209578063f6a494af1461123c576103c0565b8063e64767aa14611100578063ed475a7914611143578063f0e292c91461117c578063f5a98383146111b5576103c0565b8063dd62ed3e116100dc578063dd62ed3e14611062578063deea13e71461109d578063e17f212e146110b2578063e587497e146110c7576103c0565b8063d06dc3ad14610ebe578063d0e30db014610ef7578063d6aa0b7714610eff578063dc4fcda714610f32576103c0565b8063a457c2d711610185578063bbd6fbf811610154578063bbd6fbf814610e0b578063be0ca74714610e44578063c787a8fc14610e7f578063caeb942b14610e94576103c0565b8063a457c2d714610d5e578063a9059cbb14610d97578063b302f39314610dd0578063b760faf914610de5576103c0565b80639b3baa0e116101c15780639b3baa0e14610cce5780639ca20e4e14610ce35780639ca2231a14610cf85780639d6a890f14610d2b576103c0565b80639470b0bd14610c5657806395d89b4114610c8f578063981b24d014610ca4576103c0565b806349e3c7e5116102d757806370a082311161026a5780637f4fcaa9116102395780637f4fcaa914610b9c57806383035a8214610bcf5780638c2b8ae114610c0857806392bfe6d814610c1d576103c0565b806370a08231146109a957806374e6310e146109dc578063755d10a414610a8f5780637de5b8ed14610ac2576103c0565b80635d6d11eb116102a65780635d6d11eb1461087e5780635ff270791461092c57806362354e031461096057806367fc402914610975576103c0565b806349e3c7e51461071b5780634eac870f1461081b5780634ee2cd7e146108305780635aa6e67514610869576103c0565b80631fec092a1161034f57806331d12a161161031e57806331d12a161461065b578063395093511461068e5780633e5aa26a146106c757806343ea370b146106f1576103c0565b80631fec092a1461059257806323b872dd146105c35780632e1a7d4d14610606578063313ce56714610630576103c0565b8063095ea7b31161038b578063095ea7b3146104d357806313de97f514610520578063142d10181461054a57806318160ddd1461057d576103c0565b8063026e402b146103c557806304bb4e43146103fe57806306fdde0314610449576103c0565b366103c0576103be61126f565b005b600080fd5b3480156103d157600080fd5b506103be600480360360408110156103e857600080fd5b506001600160a01b0381351690602001356112b1565b34801561040a57600080fd5b506104376004803603604081101561042157600080fd5b506001600160a01b03813516906020013561134c565b60408051918252519081900360200190f35b34801561045557600080fd5b5061045e6113df565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610498578181015183820152602001610480565b50505050905090810190601f1680156104c55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156104df57600080fd5b5061050c600480360360408110156104f657600080fd5b506001600160a01b0381351690602001356113ee565b604080519115158252519081900360200190f35b34801561052c57600080fd5b506103be6004803603602081101561054357600080fd5b503561140b565b34801561055657600080fd5b506104376004803603602081101561056d57600080fd5b50356001600160a01b03166115fa565b34801561058957600080fd5b50610437611684565b34801561059e57600080fd5b506105a761168a565b604080516001600160a01b039092168252519081900360200190f35b3480156105cf57600080fd5b5061050c600480360360608110156105e657600080fd5b506001600160a01b03813581169160208101359091169060400135611699565b34801561061257600080fd5b506103be6004803603602081101561062957600080fd5b5035611721565b34801561063c57600080fd5b50610645611792565b6040805160ff9092168252519081900360200190f35b34801561066757600080fd5b506103be6004803603602081101561067e57600080fd5b50356001600160a01b031661179c565b34801561069a57600080fd5b5061050c600480360360408110156106b157600080fd5b506001600160a01b03813516906020013561196c565b3480156106d357600080fd5b50610437600480360360208110156106ea57600080fd5b50356119ba565b3480156106fd57600080fd5b506104376004803603602081101561071457600080fd5b50356119c5565b34801561072757600080fd5b506107cb6004803603604081101561073e57600080fd5b810190602081018135600160201b81111561075857600080fd5b82018360208201111561076a57600080fd5b803590602001918460208302840111600160201b8311171561078b57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295505091359250611a80915050565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156108075781810151838201526020016107ef565b505050509050019250505060405180910390f35b34801561082757600080fd5b506105a7611be2565b34801561083c57600080fd5b506104376004803603604081101561085357600080fd5b506001600160a01b038135169060200135611bf1565b34801561087557600080fd5b506105a7611bfd565b34801561088a57600080fd5b50610437600480360360208110156108a157600080fd5b810190602081018135600160201b8111156108bb57600080fd5b8201836020820111156108cd57600080fd5b803590602001918460208302840111600160201b831117156108ee57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550611c93945050505050565b34801561093857600080fd5b506103be6004803603602081101561094f57600080fd5b50356001600160e01b031916611d45565b34801561096c57600080fd5b506105a761209c565b34801561098157600080fd5b506103be6004803603602081101561099857600080fd5b50356001600160e01b0319166120a7565b3480156109b557600080fd5b50610437600480360360208110156109cc57600080fd5b50356001600160a01b031661218d565b3480156109e857600080fd5b50610a10600480360360208110156109ff57600080fd5b50356001600160e01b0319166121a8565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610a53578181015183820152602001610a3b565b50505050905090810190601f168015610a805780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b348015610a9b57600080fd5b506103be60048036036020811015610ab257600080fd5b50356001600160a01b031661224f565b348015610ace57600080fd5b50610af560048036036020811015610ae557600080fd5b50356001600160a01b03166124dc565b604051808060200180602001858152602001848152602001838103835287818151815260200191508051906020019060200280838360005b83811015610b45578181015183820152602001610b2d565b50505050905001838103825286818151815260200191508051906020019060200280838360005b83811015610b84578181015183820152602001610b6c565b50505050905001965050505050505060405180910390f35b348015610ba857600080fd5b506103be60048036036020811015610bbf57600080fd5b50356001600160a01b031661269f565b348015610bdb57600080fd5b5061043760048036036040811015610bf257600080fd5b506001600160a01b0381351690602001356126ee565b348015610c1457600080fd5b506105a761275d565b348015610c2957600080fd5b5061043760048036036040811015610c4057600080fd5b506001600160a01b03813516906020013561276c565b348015610c6257600080fd5b506103be60048036036040811015610c7957600080fd5b506001600160a01b0381351690602001356127ca565b348015610c9b57600080fd5b5061045e612887565b348015610cb057600080fd5b5061043760048036036020811015610cc757600080fd5b5035612891565b348015610cda57600080fd5b506105a761289c565b348015610cef57600080fd5b506105a76128ab565b348015610d0457600080fd5b506103be60048036036020811015610d1b57600080fd5b50356001600160a01b03166128ba565b348015610d3757600080fd5b506103be60048036036020811015610d4e57600080fd5b50356001600160a01b0316612a0a565b348015610d6a57600080fd5b5061050c60048036036040811015610d8157600080fd5b506001600160a01b038135169060200135612ac3565b348015610da357600080fd5b5061050c60048036036040811015610dba57600080fd5b506001600160a01b038135169060200135612b2b565b348015610ddc57600080fd5b506103be612b3f565b6103be60048036036020811015610dfb57600080fd5b50356001600160a01b0316612bb9565b348015610e1757600080fd5b506103be60048036036040811015610e2e57600080fd5b506001600160a01b038135169060200135612c60565b348015610e5057600080fd5b5061043760048036036040811015610e6757600080fd5b506001600160a01b0381358116916020013516612dcd565b348015610e8b57600080fd5b5061050c612e44565b348015610ea057600080fd5b5061043760048036036020811015610eb757600080fd5b5035612e54565b348015610eca57600080fd5b506103be60048036036040811015610ee157600080fd5b506001600160a01b038135169060200135612e5f565b6103be61126f565b348015610f0b57600080fd5b5061043760048036036020811015610f2257600080fd5b50356001600160a01b0316612e80565b348015610f3e57600080fd5b506103be60048036036040811015610f5557600080fd5b810190602081018135600160201b811115610f6f57600080fd5b820183602082011115610f8157600080fd5b803590602001918460208302840111600160201b83111715610fa257600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b811115610ff157600080fd5b82018360208201111561100357600080fd5b803590602001918460208302840111600160201b8311171561102457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550612ee6945050505050565b34801561106e57600080fd5b506104376004803603604081101561108557600080fd5b506001600160a01b0381358116916020013516613082565b3480156110a957600080fd5b506104376130ad565b3480156110be57600080fd5b5061050c6130b7565b3480156110d357600080fd5b50610437600480360360408110156110ea57600080fd5b506001600160a01b0381351690602001356130c7565b34801561110c57600080fd5b506104376004803603606081101561112357600080fd5b506001600160a01b0381358116916020810135909116906040013561313b565b34801561114f57600080fd5b50610af56004803603604081101561116657600080fd5b506001600160a01b0381351690602001356131ef565b34801561118857600080fd5b506104376004803603604081101561119f57600080fd5b506001600160a01b0381351690602001356133bb565b3480156111c157600080fd5b506103be613428565b3480156111d657600080fd5b506104376134e2565b3480156111eb57600080fd5b506104376004803603602081101561120257600080fd5b50356134ec565b34801561121557600080fd5b506104376004803603602081101561122c57600080fd5b50356001600160a01b0316613557565b34801561124857600080fd5b506103be6004803603602081101561125f57600080fd5b50356001600160a01b03166135ad565b6112793334613771565b60408051348152905133917fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c919081900360200190a2565b6112b9613861565b6001600160a01b0316636230001a33846112d23361218d565b856040518563ffffffff1660e01b815260040180856001600160a01b03168152602001846001600160a01b03168152602001838152602001828152602001945050505050600060405180830381600087803b15801561133057600080fd5b505af1158015611344573d6000803e3d6000fd5b505050505050565b60006113566138c2565b6001600160a01b03166304bb4e4384846040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b1580156113aa57600080fd5b505afa1580156113be573d6000803e3d6000fd5b505050506040513d60208110156113d457600080fd5b505190505b92915050565b60606113e9613923565b905090565b60006114026113fb6139b9565b84846139bd565b50600192915050565b6011546001600160a01b0316331461146a576040805162461bcd60e51b815260206004820152601a60248201527f6f6e6c7920636c65616e757020626c6f636b206d616e61676572000000000000604482015290519081900360640190fd5b61147381613aa9565b600e546001600160a01b0316156114ea57600e54604080516313de97f560e01b81526004810184905290516001600160a01b03909216916313de97f59160248082019260009290919082900301818387803b1580156114d157600080fd5b505af11580156114e5573d6000803e3d6000fd5b505050505b600f546001600160a01b0316158015906115155750600e54600f546001600160a01b03908116911614155b1561158057600f54604080516313de97f560e01b81526004810184905290516001600160a01b03909216916313de97f59160248082019260009290919082900301818387803b15801561156757600080fd5b505af115801561157b573d6000803e3d6000fd5b505050505b6010546001600160a01b0316156115f757601054604080516313de97f560e01b81526004810184905290516001600160a01b03909216916313de97f59160248082019260009290919082900301818387803b1580156115de57600080fd5b505af11580156115f2573d6000803e3d6000fd5b505050505b50565b60006116046138c2565b6001600160a01b031663142d1018836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561165057600080fd5b505afa158015611664573d6000803e3d6000fd5b505050506040513d602081101561167a57600080fd5b505190505b919050565b60025490565b600f546001600160a01b031690565b60006116a6848484613b2d565b611716846116b26139b9565b61171185604051806060016040528060288152602001615099602891396001600160a01b038a166000908152600160205260408120906116f06139b9565b6001600160a01b031681526020810191909152604001600020549190613c88565b6139bd565b5060015b9392505050565b61172b3382613d1f565b60408051828152905133917f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65919081900360200190a2604051339082156108fc029083906000818181858888f1935050505015801561178e573d6000803e3d6000fd5b5050565b60006113e9613e1b565b600c54600160b01b900460ff16806117be5750600c54600160a81b900460ff16155b15611961576117cb613e24565b6001600160a01b038116156118f457306001600160a01b0316816001600160a01b031663653718836040518163ffffffff1660e01b815260040160206040518083038186803b15801561181d57600080fd5b505afa158015611831573d6000803e3d6000fd5b505050506040513d602081101561184757600080fd5b50516001600160a01b03161461188e5760405162461bcd60e51b81526004018080602001828103825260228152602001806151bd6022913960400191505060405180910390fd5b806001600160a01b03166313de97f56118a5613e5b565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156118db57600080fd5b505af11580156118ef573d6000803e3d6000fd5b505050505b600e5460408051600081526001600160a01b03928316602082015291831682820152517fbec98a6c0f609cda6b9f23b95824ba6ac733cb57edd17d344f2f2796844007399181900360600190a1600e80546001600160a01b0319166001600160a01b0383161790556115f7565b6115f7600036613e61565b60006114026119796139b9565b84611711856001600061198a6139b9565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490613fe6565b60006113d982612891565b600b546000906001600160a01b03163314611a1f576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b600a548210611a75576040805162461bcd60e51b815260206004820152601e60248201527f4e6f20636c65616e757020616674657220636c65616e757020626c6f636b0000604482015290519081900360640190fd5b6113d9600983614040565b6060611a8a6138c2565b6001600160a01b03166349e3c7e584846040518363ffffffff1660e01b81526004018080602001838152602001828103825284818151815260200191508051906020019060200280838360005b83811015611aef578181015183820152602001611ad7565b50505050905001935050505060006040518083038186803b158015611b1357600080fd5b505afa158015611b27573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015611b5057600080fd5b8101908080516040519392919084600160201b821115611b6f57600080fd5b908301906020820185811115611b8457600080fd5b82518660208202830111600160201b82111715611ba057600080fd5b82525081516020918201928201910280838360005b83811015611bcd578181015183820152602001611bb5565b50505050905001604052505050905092915050565b6011546001600160a01b031681565b600061171a8383614074565b600c54600090600160a81b900460ff16611c2257600c546001600160a01b03166113e9565b60076001609c1b016001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b158015611c6257600080fd5b505afa158015611c76573d6000803e3d6000fd5b505050506040513d6020811015611c8c57600080fd5b5051905090565b6000611c9d613861565b6001600160a01b0316630f8b8af733846040518363ffffffff1660e01b815260040180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015611d0b578181015183820152602001611cf3565b505050509050019350505050602060405180830381600087803b158015611d3157600080fd5b505af1158015611664573d6000803e3d6000fd5b60408051630debfda360e41b8152336004820152905160076001609c1b019163debfda30916024808301926020929190829003018186803b158015611d8957600080fd5b505afa158015611d9d573d6000803e3d6000fd5b505050506040513d6020811015611db357600080fd5b5051611df6576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b031981166000908152600d602052604090208054611e62576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b8054421015611eb8576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611f525780601f10611f2757610100808354040283529160200191611f52565b820191906000526020600020905b815481529060010190602001808311611f3557829003601f168201915b505050506001600160e01b031985166000908152600d602052604081208181559293509050611f846001830182614e69565b5050600c805460ff60b01b1916600160b01b17905560405181516000913091849190819060208401908083835b60208310611fd05780518252601f199092019160209182019101611fb1565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612032576040519150601f19603f3d011682016040523d82523d6000602084013e612037565b606091505b5050600c805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a1612096816140cc565b50505050565b60076001609c1b0181565b6120af6140e9565b6001600160e01b031981166000908152600d602052604090205461211a576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b031981166000908152600d60205260408120818155906121886001830182614e69565b505050565b6001600160a01b031660009081526020819052604090205490565b600d602090815260009182526040918290208054600180830180548651600293821615610100026000190190911692909204601f8101869004860283018601909652858252919492939092908301828280156122455780601f1061221a57610100808354040283529160200191612245565b820191906000526020600020905b81548152906001019060200180831161222857829003601f168201915b5050505050905082565b600c54600160b01b900460ff16806122715750600c54600160a81b900460ff16155b156119615761227e613e24565b6001600160a01b0381161561246f57306001600160a01b0316816001600160a01b031663653718836040518163ffffffff1660e01b815260040160206040518083038186803b1580156122d057600080fd5b505afa1580156122e4573d6000803e3d6000fd5b505050506040513d60208110156122fa57600080fd5b50516001600160a01b0316146123415760405162461bcd60e51b81526004018080602001828103825260228152602001806151bd6022913960400191505060405180910390fd5b601154600160a01b900460ff1615806123bb5750806001600160a01b031663aa94d3f26040518163ffffffff1660e01b815260040160206040518083038186803b15801561238e57600080fd5b505afa1580156123a2573d6000803e3d6000fd5b505050506040513d60208110156123b857600080fd5b50515b6123f65760405162461bcd60e51b815260040180806020018281038252602981526020018061504a6029913960400191505060405180910390fd5b806001600160a01b03166313de97f561240d613e5b565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561244357600080fd5b505af1158015612457573d6000803e3d6000fd5b50506011805460ff60a01b1916600160a01b17905550505b600f5460408051600181526001600160a01b03928316602082015291831682820152517fbec98a6c0f609cda6b9f23b95824ba6ac733cb57edd17d344f2f2796844007399181900360600190a1600f80546001600160a01b0319166001600160a01b0383161790556115f7565b6060806000806124ea6138c2565b6001600160a01b0316637de5b8ed866040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060006040518083038186803b15801561253657600080fd5b505afa15801561254a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052608081101561257357600080fd5b8101908080516040519392919084600160201b82111561259257600080fd5b9083019060208201858111156125a757600080fd5b82518660208202830111600160201b821117156125c357600080fd5b82525081516020918201928201910280838360005b838110156125f05781810151838201526020016125d8565b5050505090500160405260200180516040519392919084600160201b82111561261857600080fd5b90830190602082018581111561262d57600080fd5b82518660208202830111600160201b8211171561264957600080fd5b82525081516020918201928201910280838360005b8381101561267657818101518382015260200161265e565b505050509190910160409081526020830151920151959b949a5090985093965091945050505050565b600c54600160b01b900460ff16806126c15750600c54600160a81b900460ff16155b15611961576126ce613e24565b601180546001600160a01b0319166001600160a01b0383161790556115f7565b60006126f86138c2565b6001600160a01b03166331503927846127118686611bf1565b856040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001828152602001935050505060206040518083038186803b1580156113aa57600080fd5b6010546001600160a01b031690565b60006127766138c2565b6001600160a01b03166392bfe6d884846040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b1580156113aa57600080fd5b61281182336117118460405180604001604052806014815260200173616c6c6f77616e63652062656c6f77207a65726f60601b81525061280a8833613082565b9190613c88565b61281b8282613d1f565b6040805182815290516001600160a01b038416917f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65919081900360200190a2604051339082156108fc029083906000818181858888f19350505050158015612188573d6000803e3d6000fd5b60606113e9614148565b60006113d9826141a9565b600e546001600160a01b031690565b600b546001600160a01b031681565b600c54600160b01b900460ff16806128dc5750600c54600160a81b900460ff16155b15611961576128e9613e24565b306001600160a01b0316816001600160a01b031663653718836040518163ffffffff1660e01b815260040160206040518083038186803b15801561292c57600080fd5b505afa158015612940573d6000803e3d6000fd5b505050506040513d602081101561295657600080fd5b50516001600160a01b03161461299d5760405162461bcd60e51b815260040180806020018281038252603d8152602001806150c1603d913960400191505060405180910390fd5b60105460408051600281526001600160a01b03928316602082015291831682820152517fbec98a6c0f609cda6b9f23b95824ba6ac733cb57edd17d344f2f2796844007399181900360600190a1601080546001600160a01b0319166001600160a01b0383161790556115f7565b600c54600160a01b900460ff1615612a60576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b600c8054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b6000611402612ad06139b9565b84611711856040518060600160405280602581526020016151986025913960016000612afa6139b9565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190613c88565b6000611402612b386139b9565b8484613b2d565b612b47613861565b6001600160a01b03166305109ecf33612b5f3361218d565b6040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612ba557600080fd5b505af1158015612096573d6000803e3d6000fd5b6001600160a01b038116612c14576040805162461bcd60e51b815260206004820152601e60248201527f43616e6e6f74206465706f73697420746f207a65726f20616464726573730000604482015290519081900360640190fd5b612c1e8134613771565b6040805134815290516001600160a01b038316917fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c919081900360200190a250565b600f54600e546001600160a01b0391821691168115612d0b57816001600160a01b031663c7c62fab3386612c943388611bf1565b876040518563ffffffff1660e01b815260040180856001600160a01b03168152602001846001600160a01b03168152602001838152602001828152602001945050505050600060405180830381600087803b158015612cf257600080fd5b505af1158015612d06573d6000803e3d6000fd5b505050505b816001600160a01b0316816001600160a01b031614158015612d3557506001600160a01b03811615155b1561209657806001600160a01b031663c7c62fab3386612d553388611bf1565b876040518563ffffffff1660e01b815260040180856001600160a01b03168152602001846001600160a01b03168152602001838152602001828152602001945050505050600060405180830381600087803b158015612db357600080fd5b505af1925050508015612dc4575060015b61209657612096565b6000612dd76138c2565b6001600160a01b0316639dc6b9f28484612df08761218d565b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b03168152602001828152602001935050505060206040518083038186803b1580156113aa57600080fd5b601154600160a01b900460ff1681565b60006113d9826141f8565b612e67613861565b6001600160a01b031663404d9e8233846112d23361218d565b6000612e8a6138c2565b6001600160a01b0316634a03d55683612ea28561218d565b6040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b15801561165057600080fd5b8051825114612f34576040805162461bcd60e51b8152602060048201526015602482015274082e4e4c2f240d8cadccee8d040dad2e6dac2e8c6d605b1b604482015290519081900360640190fd5b6000612f3e613861565b90506000612f4b3361218d565b9050816001600160a01b03166305109ecf33836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612fa457600080fd5b505af1158015612fb8573d6000803e3d6000fd5b5050505060005b84518110156115f257826001600160a01b0316636230001a33878481518110612fe457fe5b602002602001015185888681518110612ff957fe5b60200260200101516040518563ffffffff1660e01b815260040180856001600160a01b03168152602001846001600160a01b03168152602001838152602001828152602001945050505050600060405180830381600087803b15801561305e57600080fd5b505af1158015613072573d6000803e3d6000fd5b505060019092019150612fbf9050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60006113e9613e5b565b600c54600160a81b900460ff1681565b60006130d16138c2565b6001600160a01b031663e587497e84846040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561312757600080fd5b505af11580156113be573d6000803e3d6000fd5b60006131456138c2565b6001600160a01b031663833aca92858561315f8887611bf1565b866040518563ffffffff1660e01b815260040180856001600160a01b03168152602001846001600160a01b0316815260200183815260200182815260200194505050505060206040518083038186803b1580156131bb57600080fd5b505afa1580156131cf573d6000803e3d6000fd5b505050506040513d60208110156131e557600080fd5b5051949350505050565b6060806000806131fd6138c2565b6001600160a01b031663ed475a7987876040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060006040518083038186803b15801561325157600080fd5b505afa158015613265573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052608081101561328e57600080fd5b8101908080516040519392919084600160201b8211156132ad57600080fd5b9083019060208201858111156132c257600080fd5b82518660208202830111600160201b821117156132de57600080fd5b82525081516020918201928201910280838360005b8381101561330b5781810151838201526020016132f3565b5050505090500160405260200180516040519392919084600160201b82111561333357600080fd5b90830190602082018581111561334857600080fd5b82518660208202830111600160201b8211171561336457600080fd5b82525081516020918201928201910280838360005b83811015613391578181015183820152602001613379565b505050509190910160409081526020830151920151959c949b509099509397509195505050505050565b600b546000906001600160a01b03163314613415576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b600a5461171a90600690859085906142e6565b6134306140e9565b600c54600160a81b900460ff161561348f576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b600c8054600161ff0160a01b031916600160a81b1790556040805160076001609c1b01815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b60006113e9611684565b600b546000906001600160a01b03163314613546576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b600a546113d990600790849061432c565b60006135616138c2565b6001600160a01b031663f6837767836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561165057600080fd5b600c54600160b01b900460ff16806135cf5750600c54600160a81b900460ff16155b15611961576135dc613e24565b6135e581614419565b600e546001600160a01b03161561365d57600e546040805163f6a494af60e01b81526001600160a01b0384811660048301529151919092169163f6a494af91602480830192600092919082900301818387803b15801561364457600080fd5b505af1158015613658573d6000803e3d6000fd5b505050505b600f546001600160a01b0316158015906136885750600e54600f546001600160a01b03908116911614155b156136f457600f546040805163f6a494af60e01b81526001600160a01b0384811660048301529151919092169163f6a494af91602480830192600092919082900301818387803b1580156136db57600080fd5b505af11580156136ef573d6000803e3d6000fd5b505050505b6010546001600160a01b03161561376c576010546040805163f6a494af60e01b81526001600160a01b0384811660048301529151919092169163f6a494af91602480830192600092919082900301818387803b15801561375357600080fd5b505af1158015613767573d6000803e3d6000fd5b505050505b6115f7565b6001600160a01b0382166137cc576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6137d86000838361443b565b6002546137e59082613fe6565b6002556001600160a01b03821660009081526020819052604090205461380b9082613fe6565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600f546000906001600160a01b0316806113e9576040805162461bcd60e51b815260206004820152601e60248201527f546f6b656e206d697373696e67207772697465205650436f6e74726163740000604482015290519081900360640190fd5b600e546000906001600160a01b0316806113e9576040805162461bcd60e51b815260206004820152601d60248201527f546f6b656e206d697373696e672072656164205650436f6e7472616374000000604482015290519081900360640190fd5b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156139af5780601f10613984576101008083540402835291602001916139af565b820191906000526020600020905b81548152906001019060200180831161399257829003601f168201915b5050505050905090565b3390565b6001600160a01b038316613a025760405162461bcd60e51b81526004018080602001828103825260248152602001806151446024913960400191505060405180910390fd5b6001600160a01b038216613a475760405162461bcd60e51b8152600401808060200182810382526022815260200180614fad6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600a54811015613aea5760405162461bcd60e51b8152600401808060200182810382526028815260200180614ff56028913960400191505060405180910390fd5b438110613b285760405162461bcd60e51b8152600401808060200182810382526021815260200180614f8c6021913960400191505060405180910390fd5b600a55565b6001600160a01b038316613b725760405162461bcd60e51b815260040180806020018281038252602581526020018061511f6025913960400191505060405180910390fd5b6001600160a01b038216613bb75760405162461bcd60e51b8152600401808060200182810382526023815260200180614f476023913960400191505060405180910390fd5b613bc283838361443b565b613bff81604051806060016040528060268152602001614fcf602691396001600160a01b0386166000908152602081905260409020549190613c88565b6001600160a01b038085166000908152602081905260408082209390935590841681522054613c2e9082613fe6565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115613d175760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613cdc578181015183820152602001613cc4565b50505050905090810190601f168015613d095780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b038216613d645760405162461bcd60e51b81526004018080602001828103825260218152602001806150fe6021913960400191505060405180910390fd5b613d708260008361443b565b613dad81604051806060016040528060228152602001614f6a602291396001600160a01b0385166000908152602081905260409020549190613c88565b6001600160a01b038316600090815260208190526040902055600254613dd3908261464a565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b60055460ff1690565b600c54600160b01b900460ff1615613e5157333014613e3f57fe5b600c805460ff60b01b19169055613e59565b613e596140e9565b565b600a5490565b613e696140e9565b600082359050600060076001609c1b016001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b158015613eb157600080fd5b505afa158015613ec5573d6000803e3d6000fd5b505050506040513d6020811015613edb57600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b031986168152600d6020908152604090912083518155838201518051919350613f61926001850192910190614ead565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b60008282018381101561171a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000818152602083905260408120541561406b575060008181526020839052604081205560016113d9565b50600092915050565b600081600a548110156140b85760405162461bcd60e51b815260040180806020018281038252602d81526020018061501d602d913960400191505060405180910390fd5b6140c4600685856146a7565b949350505050565b3d604051818101604052816000823e82156140e5578181f35b8181fd5b6140f1611bfd565b6001600160a01b0316336001600160a01b031614613e59576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156139af5780601f10613984576101008083540402835291602001916139af565b600081600a548110156141ed5760405162461bcd60e51b815260040180806020018281038252602d81526020018061501d602d913960400191505060405180910390fd5b61171a6007846146d2565b600081600a5481101561423c5760405162461bcd60e51b815260040180806020018281038252602d81526020018061501d602d913960400191505060405180910390fd5b438310614290576040805162461bcd60e51b815260206004820181905260248201527f43616e206f6e6c79206265207573656420666f72207061737420626c6f636b73604482015290519081900360640190fd5b6000806142a06009600787614815565b9150915080156142de576040805186815290517ffec477a10b4fcdfdf1114eb32b3caf6118b2d76d20e1fcb70007274bb4b616be9181900360200190a15b509392505050565b60006001600160a01b03841615614321576001600160a01b038416600090815260208690526040902061431a90848461432c565b90506140c4565b506000949350505050565b60008161433b5750600061171a565b6001840154600160401b90046001600160401b03168061435f57600091505061171a565b60018501546001600160401b0316600061438561437c8388613fe6565b60018503614873565b9050815b81811080156143ba575060018101600090815260208990526040902054600160c01b90046001600160401b03168610155b156143d657600081815260208990526040812055600101614389565b8281111561440b576143e781614889565b60018901805467ffffffffffffffff19166001600160401b03929092169190911790555b919091039695505050505050565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b816001600160a01b0316836001600160a01b031614156144a2576040805162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c66000000000000000000604482015290519081900360640190fd5b60006001600160a01b0384166144b95760006144c2565b6144c28461218d565b905060006001600160a01b0384166144db5760006144e4565b6144e48461218d565b600f549091506001600160a01b0316801561457e576040805163756da1b160e11b81526001600160a01b038881166004830152878116602483015260448201869052606482018590526084820187905291519183169163eadb43629160a48082019260009290919082900301818387803b15801561456157600080fd5b505af1158015614575573d6000803e3d6000fd5b505050506145a3565b601154600160a01b900460ff166145a3576011805460ff60a01b1916600160a01b1790555b6010546001600160a01b03168015614636576040805163756da1b160e11b81526001600160a01b038981166004830152888116602483015260448201879052606482018690526084820188905291519183169163eadb43629160a48082019260009290919082900301818387803b15801561461d57600080fd5b505af1158015614631573d6000803e3d6000fd5b505050505b6146418787876148d1565b50505050505050565b6000828211156146a1576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b03821660009081526020849052604081206146c981846146d2565b95945050505050565b6001820154600090600160401b90046001600160401b0316806146f95760009150506113d9565b438310158061472b57506000198101600090815260208590526040902054600160c01b90046001600160401b03168310155b1561475357600019016000908152602084905260409020546001600160c01b031690506113d9565b60018401546001600160401b039081166000818152602087905260409020549091600160c01b909104168410156147cc5780156147c15760405162461bcd60e51b81526004018080602001828103825260308152602001806151686030913960400191505060405180910390fd5b6000925050506113d9565b60018501546000906147f29087908490600160401b90046001600160401b031688614911565b6000908152602087905260409020546001600160c01b0316935050505092915050565b6000818152602084905260408120548190801561483b576000190191506000905061486b565b600061484786866146d2565b9050614854816001613fe6565b600086815260208990526040902055925060019150505b935093915050565b6000818310614882578161171a565b5090919050565b6000600160401b82106148cd5760405162461bcd60e51b81526004018080602001828103825260268152602001806150736026913960400191505060405180910390fd5b5090565b6001600160a01b0383166148ee576148e9828261499b565b612188565b6001600160a01b038216614906576148e983826149f8565b612188838383614aa0565b6000838161492085600161464a565b90505b8181111561499157600061494d600261494760016149418688613fe6565b90613fe6565b90614ad6565b600081815260208a90526040902054909150600160c01b90046001600160401b0316851061497d5780925061498b565b61498881600161464a565b91505b50614923565b5095945050505050565b60006149ab826149418543611bf1565b90506149b960068483614b3d565b600a546149cd9060069085906002906142e6565b506149e66149de8361494143612891565b600790614b5b565b600a546120969060079060029061432c565b6000614a378260405180604001604052806016815260200175213ab937103a37b7903134b3903337b91037bbb732b960511b81525061280a8643611bf1565b9050614a4560068483614b3d565b600a54614a599060069085906002906142e6565b506149e66149de836040518060400160405280601d81526020017f4275726e20746f6f2062696720666f7220746f74616c20737570706c7900000081525061280a43612891565b614aad6006848484614d1c565b600a54614ac19060069085906002906142e6565b50600a546120969060069084906002906142e6565b6000808211614b2c576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381614b3557fe5b049392505050565b6001600160a01b038216600090815260208490526040902061209681835b6001820154600160401b90046001600160401b031680614c12576040518060400160405280614b8984614dab565b6001600160c01b03168152602001614ba043614889565b6001600160401b03908116909152600080805260208681526040909120835181549490920151909216600160c01b026001600160c01b039182166001600160c01b0319909416939093171691909117905560018301805467ffffffffffffffff60401b1916600160401b179055612188565b600019810160009081526020849052604090208054600160c01b90046001600160401b031643811415614c6857614c4884614dab565b82546001600160c01b0319166001600160c01b03919091161782556115f2565b804311614c7157fe5b6040518060400160405280614c8586614dab565b6001600160c01b03168152602001614c9c43614889565b6001600160401b039081169091526000858152602088815260409091208351815494909201518316600160c01b026001600160c01b039283166001600160c01b0319909516949094179091169290921790915560018087018054918601909216600160401b0267ffffffffffffffff60401b199091161790555050505050565b80614d2657612096565b6001600160a01b038316158015614d4457506001600160a01b038216155b15614d4b57fe5b6001600160a01b03831615614d7f576000614d7082614d6a8787614e05565b9061464a565b9050614d7d858583614b3d565b505b6001600160a01b03821615612096576000614d9e826149418786614e05565b90506115f2858483614b3d565b6000600160c01b82106148cd576040805162461bcd60e51b815260206004820152601d60248201527f76616c756520646f65736e27742066697420696e203139322062697473000000604482015290519081900360640190fd5b6001600160a01b03811660009081526020839052604081206140c4816001810154600090600160401b90046001600160401b031680614e4857600091505061167f565b6000190160009081526020929092525060409020546001600160c01b031690565b50805460018160011615610100020316600290046000825580601f10614e8f57506115f7565b601f0160209004906000526020600020908101906115f79190614f31565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282614ee35760008555614f29565b82601f10614efc57805160ff1916838001178555614f29565b82800160010185558215614f29579182015b82811115614f29578251825591602001919060010190614f0e565b506148cd9291505b5b808211156148cd5760008155600101614f3256fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e6365436c65616e757020626c6f636b206d75737420626520696e20746865207061737445524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365436c65616e757020626c6f636b206e756d626572206d757374206e65766572206465637265617365436865636b506f696e7461626c653a2072656164696e672066726f6d20636c65616e65642d757020626c6f636b5650436f6e7472616374206e6f7420636f6e6669677572656420666f72207265706c6163656d656e7453616665436173743a2076616c756520646f65736e27742066697420696e203634206269747345524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365476f7665726e616e636520766f746520706f77657220636f6e747261637420646f6573206e6f742062656c6f6e6720746f207468697320746f6b656e2e45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373436865636b506f696e74486973746f72793a2072656164696e672066726f6d20636c65616e65642d757020626c6f636b45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f5650436f6e7472616374206e6f74206f776e6564206279207468697320746f6b656ea2646970667358221220593fa6ac8ac2d09ef99e3c97650469e42dfadcb3c0240fbbe44213a5d343cdc864736f6c63430007060033",
1354
+ "deployedBytecode": "0x6080604052600436106103b15760003560e01c80639470b0bd116101e7578063d06dc3ad1161010d578063e64767aa116100a0578063f5f3d4f71161006f578063f5f3d4f7146111ca578063f62f8f3a146111df578063f683776714611209578063f6a494af1461123c576103c0565b8063e64767aa14611100578063ed475a7914611143578063f0e292c91461117c578063f5a98383146111b5576103c0565b8063dd62ed3e116100dc578063dd62ed3e14611062578063deea13e71461109d578063e17f212e146110b2578063e587497e146110c7576103c0565b8063d06dc3ad14610ebe578063d0e30db014610ef7578063d6aa0b7714610eff578063dc4fcda714610f32576103c0565b8063a457c2d711610185578063bbd6fbf811610154578063bbd6fbf814610e0b578063be0ca74714610e44578063c787a8fc14610e7f578063caeb942b14610e94576103c0565b8063a457c2d714610d5e578063a9059cbb14610d97578063b302f39314610dd0578063b760faf914610de5576103c0565b80639b3baa0e116101c15780639b3baa0e14610cce5780639ca20e4e14610ce35780639ca2231a14610cf85780639d6a890f14610d2b576103c0565b80639470b0bd14610c5657806395d89b4114610c8f578063981b24d014610ca4576103c0565b806349e3c7e5116102d757806370a082311161026a5780637f4fcaa9116102395780637f4fcaa914610b9c57806383035a8214610bcf5780638c2b8ae114610c0857806392bfe6d814610c1d576103c0565b806370a08231146109a957806374e6310e146109dc578063755d10a414610a8f5780637de5b8ed14610ac2576103c0565b80635d6d11eb116102a65780635d6d11eb1461087e5780635ff270791461092c57806362354e031461096057806367fc402914610975576103c0565b806349e3c7e51461071b5780634eac870f1461081b5780634ee2cd7e146108305780635aa6e67514610869576103c0565b80631fec092a1161034f57806331d12a161161031e57806331d12a161461065b578063395093511461068e5780633e5aa26a146106c757806343ea370b146106f1576103c0565b80631fec092a1461059257806323b872dd146105c35780632e1a7d4d14610606578063313ce56714610630576103c0565b8063095ea7b31161038b578063095ea7b3146104d357806313de97f514610520578063142d10181461054a57806318160ddd1461057d576103c0565b8063026e402b146103c557806304bb4e43146103fe57806306fdde0314610449576103c0565b366103c0576103be61126f565b005b600080fd5b3480156103d157600080fd5b506103be600480360360408110156103e857600080fd5b506001600160a01b0381351690602001356112b1565b34801561040a57600080fd5b506104376004803603604081101561042157600080fd5b506001600160a01b03813516906020013561134c565b60408051918252519081900360200190f35b34801561045557600080fd5b5061045e6113df565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610498578181015183820152602001610480565b50505050905090810190601f1680156104c55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156104df57600080fd5b5061050c600480360360408110156104f657600080fd5b506001600160a01b0381351690602001356113ee565b604080519115158252519081900360200190f35b34801561052c57600080fd5b506103be6004803603602081101561054357600080fd5b503561140b565b34801561055657600080fd5b506104376004803603602081101561056d57600080fd5b50356001600160a01b03166115fa565b34801561058957600080fd5b50610437611684565b34801561059e57600080fd5b506105a761168a565b604080516001600160a01b039092168252519081900360200190f35b3480156105cf57600080fd5b5061050c600480360360608110156105e657600080fd5b506001600160a01b03813581169160208101359091169060400135611699565b34801561061257600080fd5b506103be6004803603602081101561062957600080fd5b5035611721565b34801561063c57600080fd5b50610645611792565b6040805160ff9092168252519081900360200190f35b34801561066757600080fd5b506103be6004803603602081101561067e57600080fd5b50356001600160a01b031661179c565b34801561069a57600080fd5b5061050c600480360360408110156106b157600080fd5b506001600160a01b03813516906020013561196c565b3480156106d357600080fd5b50610437600480360360208110156106ea57600080fd5b50356119ba565b3480156106fd57600080fd5b506104376004803603602081101561071457600080fd5b50356119c5565b34801561072757600080fd5b506107cb6004803603604081101561073e57600080fd5b810190602081018135600160201b81111561075857600080fd5b82018360208201111561076a57600080fd5b803590602001918460208302840111600160201b8311171561078b57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295505091359250611a80915050565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156108075781810151838201526020016107ef565b505050509050019250505060405180910390f35b34801561082757600080fd5b506105a7611be2565b34801561083c57600080fd5b506104376004803603604081101561085357600080fd5b506001600160a01b038135169060200135611bf1565b34801561087557600080fd5b506105a7611bfd565b34801561088a57600080fd5b50610437600480360360208110156108a157600080fd5b810190602081018135600160201b8111156108bb57600080fd5b8201836020820111156108cd57600080fd5b803590602001918460208302840111600160201b831117156108ee57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550611c93945050505050565b34801561093857600080fd5b506103be6004803603602081101561094f57600080fd5b50356001600160e01b031916611d45565b34801561096c57600080fd5b506105a761209c565b34801561098157600080fd5b506103be6004803603602081101561099857600080fd5b50356001600160e01b0319166120a7565b3480156109b557600080fd5b50610437600480360360208110156109cc57600080fd5b50356001600160a01b031661218d565b3480156109e857600080fd5b50610a10600480360360208110156109ff57600080fd5b50356001600160e01b0319166121a8565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610a53578181015183820152602001610a3b565b50505050905090810190601f168015610a805780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b348015610a9b57600080fd5b506103be60048036036020811015610ab257600080fd5b50356001600160a01b031661224f565b348015610ace57600080fd5b50610af560048036036020811015610ae557600080fd5b50356001600160a01b03166124dc565b604051808060200180602001858152602001848152602001838103835287818151815260200191508051906020019060200280838360005b83811015610b45578181015183820152602001610b2d565b50505050905001838103825286818151815260200191508051906020019060200280838360005b83811015610b84578181015183820152602001610b6c565b50505050905001965050505050505060405180910390f35b348015610ba857600080fd5b506103be60048036036020811015610bbf57600080fd5b50356001600160a01b031661269f565b348015610bdb57600080fd5b5061043760048036036040811015610bf257600080fd5b506001600160a01b0381351690602001356126ee565b348015610c1457600080fd5b506105a761275d565b348015610c2957600080fd5b5061043760048036036040811015610c4057600080fd5b506001600160a01b03813516906020013561276c565b348015610c6257600080fd5b506103be60048036036040811015610c7957600080fd5b506001600160a01b0381351690602001356127ca565b348015610c9b57600080fd5b5061045e612887565b348015610cb057600080fd5b5061043760048036036020811015610cc757600080fd5b5035612891565b348015610cda57600080fd5b506105a761289c565b348015610cef57600080fd5b506105a76128ab565b348015610d0457600080fd5b506103be60048036036020811015610d1b57600080fd5b50356001600160a01b03166128ba565b348015610d3757600080fd5b506103be60048036036020811015610d4e57600080fd5b50356001600160a01b0316612a0a565b348015610d6a57600080fd5b5061050c60048036036040811015610d8157600080fd5b506001600160a01b038135169060200135612ac3565b348015610da357600080fd5b5061050c60048036036040811015610dba57600080fd5b506001600160a01b038135169060200135612b2b565b348015610ddc57600080fd5b506103be612b3f565b6103be60048036036020811015610dfb57600080fd5b50356001600160a01b0316612bb9565b348015610e1757600080fd5b506103be60048036036040811015610e2e57600080fd5b506001600160a01b038135169060200135612c60565b348015610e5057600080fd5b5061043760048036036040811015610e6757600080fd5b506001600160a01b0381358116916020013516612dcd565b348015610e8b57600080fd5b5061050c612e44565b348015610ea057600080fd5b5061043760048036036020811015610eb757600080fd5b5035612e54565b348015610eca57600080fd5b506103be60048036036040811015610ee157600080fd5b506001600160a01b038135169060200135612e5f565b6103be61126f565b348015610f0b57600080fd5b5061043760048036036020811015610f2257600080fd5b50356001600160a01b0316612e80565b348015610f3e57600080fd5b506103be60048036036040811015610f5557600080fd5b810190602081018135600160201b811115610f6f57600080fd5b820183602082011115610f8157600080fd5b803590602001918460208302840111600160201b83111715610fa257600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b811115610ff157600080fd5b82018360208201111561100357600080fd5b803590602001918460208302840111600160201b8311171561102457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550612ee6945050505050565b34801561106e57600080fd5b506104376004803603604081101561108557600080fd5b506001600160a01b0381358116916020013516613082565b3480156110a957600080fd5b506104376130ad565b3480156110be57600080fd5b5061050c6130b7565b3480156110d357600080fd5b50610437600480360360408110156110ea57600080fd5b506001600160a01b0381351690602001356130c7565b34801561110c57600080fd5b506104376004803603606081101561112357600080fd5b506001600160a01b0381358116916020810135909116906040013561313b565b34801561114f57600080fd5b50610af56004803603604081101561116657600080fd5b506001600160a01b0381351690602001356131ef565b34801561118857600080fd5b506104376004803603604081101561119f57600080fd5b506001600160a01b0381351690602001356133bb565b3480156111c157600080fd5b506103be613428565b3480156111d657600080fd5b506104376134e2565b3480156111eb57600080fd5b506104376004803603602081101561120257600080fd5b50356134ec565b34801561121557600080fd5b506104376004803603602081101561122c57600080fd5b50356001600160a01b0316613557565b34801561124857600080fd5b506103be6004803603602081101561125f57600080fd5b50356001600160a01b03166135ad565b6112793334613771565b60408051348152905133917fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c919081900360200190a2565b6112b9613861565b6001600160a01b0316636230001a33846112d23361218d565b856040518563ffffffff1660e01b815260040180856001600160a01b03168152602001846001600160a01b03168152602001838152602001828152602001945050505050600060405180830381600087803b15801561133057600080fd5b505af1158015611344573d6000803e3d6000fd5b505050505050565b60006113566138c2565b6001600160a01b03166304bb4e4384846040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b1580156113aa57600080fd5b505afa1580156113be573d6000803e3d6000fd5b505050506040513d60208110156113d457600080fd5b505190505b92915050565b60606113e9613923565b905090565b60006114026113fb6139b9565b84846139bd565b50600192915050565b6011546001600160a01b0316331461146a576040805162461bcd60e51b815260206004820152601a60248201527f6f6e6c7920636c65616e757020626c6f636b206d616e61676572000000000000604482015290519081900360640190fd5b61147381613aa9565b600e546001600160a01b0316156114ea57600e54604080516313de97f560e01b81526004810184905290516001600160a01b03909216916313de97f59160248082019260009290919082900301818387803b1580156114d157600080fd5b505af11580156114e5573d6000803e3d6000fd5b505050505b600f546001600160a01b0316158015906115155750600e54600f546001600160a01b03908116911614155b1561158057600f54604080516313de97f560e01b81526004810184905290516001600160a01b03909216916313de97f59160248082019260009290919082900301818387803b15801561156757600080fd5b505af115801561157b573d6000803e3d6000fd5b505050505b6010546001600160a01b0316156115f757601054604080516313de97f560e01b81526004810184905290516001600160a01b03909216916313de97f59160248082019260009290919082900301818387803b1580156115de57600080fd5b505af11580156115f2573d6000803e3d6000fd5b505050505b50565b60006116046138c2565b6001600160a01b031663142d1018836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561165057600080fd5b505afa158015611664573d6000803e3d6000fd5b505050506040513d602081101561167a57600080fd5b505190505b919050565b60025490565b600f546001600160a01b031690565b60006116a6848484613b2d565b611716846116b26139b9565b61171185604051806060016040528060288152602001615099602891396001600160a01b038a166000908152600160205260408120906116f06139b9565b6001600160a01b031681526020810191909152604001600020549190613c88565b6139bd565b5060015b9392505050565b61172b3382613d1f565b60408051828152905133917f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65919081900360200190a2604051339082156108fc029083906000818181858888f1935050505015801561178e573d6000803e3d6000fd5b5050565b60006113e9613e1b565b600c54600160b01b900460ff16806117be5750600c54600160a81b900460ff16155b15611961576117cb613e24565b6001600160a01b038116156118f457306001600160a01b0316816001600160a01b031663653718836040518163ffffffff1660e01b815260040160206040518083038186803b15801561181d57600080fd5b505afa158015611831573d6000803e3d6000fd5b505050506040513d602081101561184757600080fd5b50516001600160a01b03161461188e5760405162461bcd60e51b81526004018080602001828103825260228152602001806151bd6022913960400191505060405180910390fd5b806001600160a01b03166313de97f56118a5613e5b565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156118db57600080fd5b505af11580156118ef573d6000803e3d6000fd5b505050505b600e5460408051600081526001600160a01b03928316602082015291831682820152517fbec98a6c0f609cda6b9f23b95824ba6ac733cb57edd17d344f2f2796844007399181900360600190a1600e80546001600160a01b0319166001600160a01b0383161790556115f7565b6115f7600036613e61565b60006114026119796139b9565b84611711856001600061198a6139b9565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490613fe6565b60006113d982612891565b600b546000906001600160a01b03163314611a1f576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b600a548210611a75576040805162461bcd60e51b815260206004820152601e60248201527f4e6f20636c65616e757020616674657220636c65616e757020626c6f636b0000604482015290519081900360640190fd5b6113d9600983614040565b6060611a8a6138c2565b6001600160a01b03166349e3c7e584846040518363ffffffff1660e01b81526004018080602001838152602001828103825284818151815260200191508051906020019060200280838360005b83811015611aef578181015183820152602001611ad7565b50505050905001935050505060006040518083038186803b158015611b1357600080fd5b505afa158015611b27573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015611b5057600080fd5b8101908080516040519392919084600160201b821115611b6f57600080fd5b908301906020820185811115611b8457600080fd5b82518660208202830111600160201b82111715611ba057600080fd5b82525081516020918201928201910280838360005b83811015611bcd578181015183820152602001611bb5565b50505050905001604052505050905092915050565b6011546001600160a01b031681565b600061171a8383614074565b600c54600090600160a81b900460ff16611c2257600c546001600160a01b03166113e9565b60076001609c1b016001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b158015611c6257600080fd5b505afa158015611c76573d6000803e3d6000fd5b505050506040513d6020811015611c8c57600080fd5b5051905090565b6000611c9d613861565b6001600160a01b0316630f8b8af733846040518363ffffffff1660e01b815260040180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015611d0b578181015183820152602001611cf3565b505050509050019350505050602060405180830381600087803b158015611d3157600080fd5b505af1158015611664573d6000803e3d6000fd5b60408051630debfda360e41b8152336004820152905160076001609c1b019163debfda30916024808301926020929190829003018186803b158015611d8957600080fd5b505afa158015611d9d573d6000803e3d6000fd5b505050506040513d6020811015611db357600080fd5b5051611df6576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b031981166000908152600d602052604090208054611e62576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b8054421015611eb8576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611f525780601f10611f2757610100808354040283529160200191611f52565b820191906000526020600020905b815481529060010190602001808311611f3557829003601f168201915b505050506001600160e01b031985166000908152600d602052604081208181559293509050611f846001830182614e69565b5050600c805460ff60b01b1916600160b01b17905560405181516000913091849190819060208401908083835b60208310611fd05780518252601f199092019160209182019101611fb1565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612032576040519150601f19603f3d011682016040523d82523d6000602084013e612037565b606091505b5050600c805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a1612096816140cc565b50505050565b60076001609c1b0181565b6120af6140e9565b6001600160e01b031981166000908152600d602052604090205461211a576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b031981166000908152600d60205260408120818155906121886001830182614e69565b505050565b6001600160a01b031660009081526020819052604090205490565b600d602090815260009182526040918290208054600180830180548651600293821615610100026000190190911692909204601f8101869004860283018601909652858252919492939092908301828280156122455780601f1061221a57610100808354040283529160200191612245565b820191906000526020600020905b81548152906001019060200180831161222857829003601f168201915b5050505050905082565b600c54600160b01b900460ff16806122715750600c54600160a81b900460ff16155b156119615761227e613e24565b6001600160a01b0381161561246f57306001600160a01b0316816001600160a01b031663653718836040518163ffffffff1660e01b815260040160206040518083038186803b1580156122d057600080fd5b505afa1580156122e4573d6000803e3d6000fd5b505050506040513d60208110156122fa57600080fd5b50516001600160a01b0316146123415760405162461bcd60e51b81526004018080602001828103825260228152602001806151bd6022913960400191505060405180910390fd5b601154600160a01b900460ff1615806123bb5750806001600160a01b031663aa94d3f26040518163ffffffff1660e01b815260040160206040518083038186803b15801561238e57600080fd5b505afa1580156123a2573d6000803e3d6000fd5b505050506040513d60208110156123b857600080fd5b50515b6123f65760405162461bcd60e51b815260040180806020018281038252602981526020018061504a6029913960400191505060405180910390fd5b806001600160a01b03166313de97f561240d613e5b565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561244357600080fd5b505af1158015612457573d6000803e3d6000fd5b50506011805460ff60a01b1916600160a01b17905550505b600f5460408051600181526001600160a01b03928316602082015291831682820152517fbec98a6c0f609cda6b9f23b95824ba6ac733cb57edd17d344f2f2796844007399181900360600190a1600f80546001600160a01b0319166001600160a01b0383161790556115f7565b6060806000806124ea6138c2565b6001600160a01b0316637de5b8ed866040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060006040518083038186803b15801561253657600080fd5b505afa15801561254a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052608081101561257357600080fd5b8101908080516040519392919084600160201b82111561259257600080fd5b9083019060208201858111156125a757600080fd5b82518660208202830111600160201b821117156125c357600080fd5b82525081516020918201928201910280838360005b838110156125f05781810151838201526020016125d8565b5050505090500160405260200180516040519392919084600160201b82111561261857600080fd5b90830190602082018581111561262d57600080fd5b82518660208202830111600160201b8211171561264957600080fd5b82525081516020918201928201910280838360005b8381101561267657818101518382015260200161265e565b505050509190910160409081526020830151920151959b949a5090985093965091945050505050565b600c54600160b01b900460ff16806126c15750600c54600160a81b900460ff16155b15611961576126ce613e24565b601180546001600160a01b0319166001600160a01b0383161790556115f7565b60006126f86138c2565b6001600160a01b03166331503927846127118686611bf1565b856040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001828152602001935050505060206040518083038186803b1580156113aa57600080fd5b6010546001600160a01b031690565b60006127766138c2565b6001600160a01b03166392bfe6d884846040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b1580156113aa57600080fd5b61281182336117118460405180604001604052806014815260200173616c6c6f77616e63652062656c6f77207a65726f60601b81525061280a8833613082565b9190613c88565b61281b8282613d1f565b6040805182815290516001600160a01b038416917f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65919081900360200190a2604051339082156108fc029083906000818181858888f19350505050158015612188573d6000803e3d6000fd5b60606113e9614148565b60006113d9826141a9565b600e546001600160a01b031690565b600b546001600160a01b031681565b600c54600160b01b900460ff16806128dc5750600c54600160a81b900460ff16155b15611961576128e9613e24565b306001600160a01b0316816001600160a01b031663653718836040518163ffffffff1660e01b815260040160206040518083038186803b15801561292c57600080fd5b505afa158015612940573d6000803e3d6000fd5b505050506040513d602081101561295657600080fd5b50516001600160a01b03161461299d5760405162461bcd60e51b815260040180806020018281038252603d8152602001806150c1603d913960400191505060405180910390fd5b60105460408051600281526001600160a01b03928316602082015291831682820152517fbec98a6c0f609cda6b9f23b95824ba6ac733cb57edd17d344f2f2796844007399181900360600190a1601080546001600160a01b0319166001600160a01b0383161790556115f7565b600c54600160a01b900460ff1615612a60576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b600c8054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b6000611402612ad06139b9565b84611711856040518060600160405280602581526020016151986025913960016000612afa6139b9565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190613c88565b6000611402612b386139b9565b8484613b2d565b612b47613861565b6001600160a01b03166305109ecf33612b5f3361218d565b6040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612ba557600080fd5b505af1158015612096573d6000803e3d6000fd5b6001600160a01b038116612c14576040805162461bcd60e51b815260206004820152601e60248201527f43616e6e6f74206465706f73697420746f207a65726f20616464726573730000604482015290519081900360640190fd5b612c1e8134613771565b6040805134815290516001600160a01b038316917fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c919081900360200190a250565b600f54600e546001600160a01b0391821691168115612d0b57816001600160a01b031663c7c62fab3386612c943388611bf1565b876040518563ffffffff1660e01b815260040180856001600160a01b03168152602001846001600160a01b03168152602001838152602001828152602001945050505050600060405180830381600087803b158015612cf257600080fd5b505af1158015612d06573d6000803e3d6000fd5b505050505b816001600160a01b0316816001600160a01b031614158015612d3557506001600160a01b03811615155b1561209657806001600160a01b031663c7c62fab3386612d553388611bf1565b876040518563ffffffff1660e01b815260040180856001600160a01b03168152602001846001600160a01b03168152602001838152602001828152602001945050505050600060405180830381600087803b158015612db357600080fd5b505af1925050508015612dc4575060015b61209657612096565b6000612dd76138c2565b6001600160a01b0316639dc6b9f28484612df08761218d565b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b03168152602001828152602001935050505060206040518083038186803b1580156113aa57600080fd5b601154600160a01b900460ff1681565b60006113d9826141f8565b612e67613861565b6001600160a01b031663404d9e8233846112d23361218d565b6000612e8a6138c2565b6001600160a01b0316634a03d55683612ea28561218d565b6040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b15801561165057600080fd5b8051825114612f34576040805162461bcd60e51b8152602060048201526015602482015274082e4e4c2f240d8cadccee8d040dad2e6dac2e8c6d605b1b604482015290519081900360640190fd5b6000612f3e613861565b90506000612f4b3361218d565b9050816001600160a01b03166305109ecf33836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612fa457600080fd5b505af1158015612fb8573d6000803e3d6000fd5b5050505060005b84518110156115f257826001600160a01b0316636230001a33878481518110612fe457fe5b602002602001015185888681518110612ff957fe5b60200260200101516040518563ffffffff1660e01b815260040180856001600160a01b03168152602001846001600160a01b03168152602001838152602001828152602001945050505050600060405180830381600087803b15801561305e57600080fd5b505af1158015613072573d6000803e3d6000fd5b505060019092019150612fbf9050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60006113e9613e5b565b600c54600160a81b900460ff1681565b60006130d16138c2565b6001600160a01b031663e587497e84846040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561312757600080fd5b505af11580156113be573d6000803e3d6000fd5b60006131456138c2565b6001600160a01b031663833aca92858561315f8887611bf1565b866040518563ffffffff1660e01b815260040180856001600160a01b03168152602001846001600160a01b0316815260200183815260200182815260200194505050505060206040518083038186803b1580156131bb57600080fd5b505afa1580156131cf573d6000803e3d6000fd5b505050506040513d60208110156131e557600080fd5b5051949350505050565b6060806000806131fd6138c2565b6001600160a01b031663ed475a7987876040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060006040518083038186803b15801561325157600080fd5b505afa158015613265573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052608081101561328e57600080fd5b8101908080516040519392919084600160201b8211156132ad57600080fd5b9083019060208201858111156132c257600080fd5b82518660208202830111600160201b821117156132de57600080fd5b82525081516020918201928201910280838360005b8381101561330b5781810151838201526020016132f3565b5050505090500160405260200180516040519392919084600160201b82111561333357600080fd5b90830190602082018581111561334857600080fd5b82518660208202830111600160201b8211171561336457600080fd5b82525081516020918201928201910280838360005b83811015613391578181015183820152602001613379565b505050509190910160409081526020830151920151959c949b509099509397509195505050505050565b600b546000906001600160a01b03163314613415576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b600a5461171a90600690859085906142e6565b6134306140e9565b600c54600160a81b900460ff161561348f576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b600c8054600161ff0160a01b031916600160a81b1790556040805160076001609c1b01815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b60006113e9611684565b600b546000906001600160a01b03163314613546576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b600a546113d990600790849061432c565b60006135616138c2565b6001600160a01b031663f6837767836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561165057600080fd5b600c54600160b01b900460ff16806135cf5750600c54600160a81b900460ff16155b15611961576135dc613e24565b6135e581614419565b600e546001600160a01b03161561365d57600e546040805163f6a494af60e01b81526001600160a01b0384811660048301529151919092169163f6a494af91602480830192600092919082900301818387803b15801561364457600080fd5b505af1158015613658573d6000803e3d6000fd5b505050505b600f546001600160a01b0316158015906136885750600e54600f546001600160a01b03908116911614155b156136f457600f546040805163f6a494af60e01b81526001600160a01b0384811660048301529151919092169163f6a494af91602480830192600092919082900301818387803b1580156136db57600080fd5b505af11580156136ef573d6000803e3d6000fd5b505050505b6010546001600160a01b03161561376c576010546040805163f6a494af60e01b81526001600160a01b0384811660048301529151919092169163f6a494af91602480830192600092919082900301818387803b15801561375357600080fd5b505af1158015613767573d6000803e3d6000fd5b505050505b6115f7565b6001600160a01b0382166137cc576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6137d86000838361443b565b6002546137e59082613fe6565b6002556001600160a01b03821660009081526020819052604090205461380b9082613fe6565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600f546000906001600160a01b0316806113e9576040805162461bcd60e51b815260206004820152601e60248201527f546f6b656e206d697373696e67207772697465205650436f6e74726163740000604482015290519081900360640190fd5b600e546000906001600160a01b0316806113e9576040805162461bcd60e51b815260206004820152601d60248201527f546f6b656e206d697373696e672072656164205650436f6e7472616374000000604482015290519081900360640190fd5b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156139af5780601f10613984576101008083540402835291602001916139af565b820191906000526020600020905b81548152906001019060200180831161399257829003601f168201915b5050505050905090565b3390565b6001600160a01b038316613a025760405162461bcd60e51b81526004018080602001828103825260248152602001806151446024913960400191505060405180910390fd5b6001600160a01b038216613a475760405162461bcd60e51b8152600401808060200182810382526022815260200180614fad6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600a54811015613aea5760405162461bcd60e51b8152600401808060200182810382526028815260200180614ff56028913960400191505060405180910390fd5b438110613b285760405162461bcd60e51b8152600401808060200182810382526021815260200180614f8c6021913960400191505060405180910390fd5b600a55565b6001600160a01b038316613b725760405162461bcd60e51b815260040180806020018281038252602581526020018061511f6025913960400191505060405180910390fd5b6001600160a01b038216613bb75760405162461bcd60e51b8152600401808060200182810382526023815260200180614f476023913960400191505060405180910390fd5b613bc283838361443b565b613bff81604051806060016040528060268152602001614fcf602691396001600160a01b0386166000908152602081905260409020549190613c88565b6001600160a01b038085166000908152602081905260408082209390935590841681522054613c2e9082613fe6565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115613d175760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613cdc578181015183820152602001613cc4565b50505050905090810190601f168015613d095780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b038216613d645760405162461bcd60e51b81526004018080602001828103825260218152602001806150fe6021913960400191505060405180910390fd5b613d708260008361443b565b613dad81604051806060016040528060228152602001614f6a602291396001600160a01b0385166000908152602081905260409020549190613c88565b6001600160a01b038316600090815260208190526040902055600254613dd3908261464a565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b60055460ff1690565b600c54600160b01b900460ff1615613e5157333014613e3f57fe5b600c805460ff60b01b19169055613e59565b613e596140e9565b565b600a5490565b613e696140e9565b600082359050600060076001609c1b016001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b158015613eb157600080fd5b505afa158015613ec5573d6000803e3d6000fd5b505050506040513d6020811015613edb57600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b031986168152600d6020908152604090912083518155838201518051919350613f61926001850192910190614ead565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b60008282018381101561171a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000818152602083905260408120541561406b575060008181526020839052604081205560016113d9565b50600092915050565b600081600a548110156140b85760405162461bcd60e51b815260040180806020018281038252602d81526020018061501d602d913960400191505060405180910390fd5b6140c4600685856146a7565b949350505050565b3d604051818101604052816000823e82156140e5578181f35b8181fd5b6140f1611bfd565b6001600160a01b0316336001600160a01b031614613e59576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156139af5780601f10613984576101008083540402835291602001916139af565b600081600a548110156141ed5760405162461bcd60e51b815260040180806020018281038252602d81526020018061501d602d913960400191505060405180910390fd5b61171a6007846146d2565b600081600a5481101561423c5760405162461bcd60e51b815260040180806020018281038252602d81526020018061501d602d913960400191505060405180910390fd5b438310614290576040805162461bcd60e51b815260206004820181905260248201527f43616e206f6e6c79206265207573656420666f72207061737420626c6f636b73604482015290519081900360640190fd5b6000806142a06009600787614815565b9150915080156142de576040805186815290517ffec477a10b4fcdfdf1114eb32b3caf6118b2d76d20e1fcb70007274bb4b616be9181900360200190a15b509392505050565b60006001600160a01b03841615614321576001600160a01b038416600090815260208690526040902061431a90848461432c565b90506140c4565b506000949350505050565b60008161433b5750600061171a565b6001840154600160401b90046001600160401b03168061435f57600091505061171a565b60018501546001600160401b0316600061438561437c8388613fe6565b60018503614873565b9050815b81811080156143ba575060018101600090815260208990526040902054600160c01b90046001600160401b03168610155b156143d657600081815260208990526040812055600101614389565b8281111561440b576143e781614889565b60018901805467ffffffffffffffff19166001600160401b03929092169190911790555b919091039695505050505050565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b816001600160a01b0316836001600160a01b031614156144a2576040805162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c66000000000000000000604482015290519081900360640190fd5b60006001600160a01b0384166144b95760006144c2565b6144c28461218d565b905060006001600160a01b0384166144db5760006144e4565b6144e48461218d565b600f549091506001600160a01b0316801561457e576040805163756da1b160e11b81526001600160a01b038881166004830152878116602483015260448201869052606482018590526084820187905291519183169163eadb43629160a48082019260009290919082900301818387803b15801561456157600080fd5b505af1158015614575573d6000803e3d6000fd5b505050506145a3565b601154600160a01b900460ff166145a3576011805460ff60a01b1916600160a01b1790555b6010546001600160a01b03168015614636576040805163756da1b160e11b81526001600160a01b038981166004830152888116602483015260448201879052606482018690526084820188905291519183169163eadb43629160a48082019260009290919082900301818387803b15801561461d57600080fd5b505af1158015614631573d6000803e3d6000fd5b505050505b6146418787876148d1565b50505050505050565b6000828211156146a1576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b03821660009081526020849052604081206146c981846146d2565b95945050505050565b6001820154600090600160401b90046001600160401b0316806146f95760009150506113d9565b438310158061472b57506000198101600090815260208590526040902054600160c01b90046001600160401b03168310155b1561475357600019016000908152602084905260409020546001600160c01b031690506113d9565b60018401546001600160401b039081166000818152602087905260409020549091600160c01b909104168410156147cc5780156147c15760405162461bcd60e51b81526004018080602001828103825260308152602001806151686030913960400191505060405180910390fd5b6000925050506113d9565b60018501546000906147f29087908490600160401b90046001600160401b031688614911565b6000908152602087905260409020546001600160c01b0316935050505092915050565b6000818152602084905260408120548190801561483b576000190191506000905061486b565b600061484786866146d2565b9050614854816001613fe6565b600086815260208990526040902055925060019150505b935093915050565b6000818310614882578161171a565b5090919050565b6000600160401b82106148cd5760405162461bcd60e51b81526004018080602001828103825260268152602001806150736026913960400191505060405180910390fd5b5090565b6001600160a01b0383166148ee576148e9828261499b565b612188565b6001600160a01b038216614906576148e983826149f8565b612188838383614aa0565b6000838161492085600161464a565b90505b8181111561499157600061494d600261494760016149418688613fe6565b90613fe6565b90614ad6565b600081815260208a90526040902054909150600160c01b90046001600160401b0316851061497d5780925061498b565b61498881600161464a565b91505b50614923565b5095945050505050565b60006149ab826149418543611bf1565b90506149b960068483614b3d565b600a546149cd9060069085906002906142e6565b506149e66149de8361494143612891565b600790614b5b565b600a546120969060079060029061432c565b6000614a378260405180604001604052806016815260200175213ab937103a37b7903134b3903337b91037bbb732b960511b81525061280a8643611bf1565b9050614a4560068483614b3d565b600a54614a599060069085906002906142e6565b506149e66149de836040518060400160405280601d81526020017f4275726e20746f6f2062696720666f7220746f74616c20737570706c7900000081525061280a43612891565b614aad6006848484614d1c565b600a54614ac19060069085906002906142e6565b50600a546120969060069084906002906142e6565b6000808211614b2c576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381614b3557fe5b049392505050565b6001600160a01b038216600090815260208490526040902061209681835b6001820154600160401b90046001600160401b031680614c12576040518060400160405280614b8984614dab565b6001600160c01b03168152602001614ba043614889565b6001600160401b03908116909152600080805260208681526040909120835181549490920151909216600160c01b026001600160c01b039182166001600160c01b0319909416939093171691909117905560018301805467ffffffffffffffff60401b1916600160401b179055612188565b600019810160009081526020849052604090208054600160c01b90046001600160401b031643811415614c6857614c4884614dab565b82546001600160c01b0319166001600160c01b03919091161782556115f2565b804311614c7157fe5b6040518060400160405280614c8586614dab565b6001600160c01b03168152602001614c9c43614889565b6001600160401b039081169091526000858152602088815260409091208351815494909201518316600160c01b026001600160c01b039283166001600160c01b0319909516949094179091169290921790915560018087018054918601909216600160401b0267ffffffffffffffff60401b199091161790555050505050565b80614d2657612096565b6001600160a01b038316158015614d4457506001600160a01b038216155b15614d4b57fe5b6001600160a01b03831615614d7f576000614d7082614d6a8787614e05565b9061464a565b9050614d7d858583614b3d565b505b6001600160a01b03821615612096576000614d9e826149418786614e05565b90506115f2858483614b3d565b6000600160c01b82106148cd576040805162461bcd60e51b815260206004820152601d60248201527f76616c756520646f65736e27742066697420696e203139322062697473000000604482015290519081900360640190fd5b6001600160a01b03811660009081526020839052604081206140c4816001810154600090600160401b90046001600160401b031680614e4857600091505061167f565b6000190160009081526020929092525060409020546001600160c01b031690565b50805460018160011615610100020316600290046000825580601f10614e8f57506115f7565b601f0160209004906000526020600020908101906115f79190614f31565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282614ee35760008555614f29565b82601f10614efc57805160ff1916838001178555614f29565b82800160010185558215614f29579182015b82811115614f29578251825591602001919060010190614f0e565b506148cd9291505b5b808211156148cd5760008155600101614f3256fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e6365436c65616e757020626c6f636b206d75737420626520696e20746865207061737445524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365436c65616e757020626c6f636b206e756d626572206d757374206e65766572206465637265617365436865636b506f696e7461626c653a2072656164696e672066726f6d20636c65616e65642d757020626c6f636b5650436f6e7472616374206e6f7420636f6e6669677572656420666f72207265706c6163656d656e7453616665436173743a2076616c756520646f65736e27742066697420696e203634206269747345524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365476f7665726e616e636520766f746520706f77657220636f6e747261637420646f6573206e6f742062656c6f6e6720746f207468697320746f6b656e2e45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373436865636b506f696e74486973746f72793a2072656164696e672066726f6d20636c65616e65642d757020626c6f636b45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f5650436f6e7472616374206e6f74206f776e6564206279207468697320746f6b656ea2646970667358221220593fa6ac8ac2d09ef99e3c97650469e42dfadcb3c0240fbbe44213a5d343cdc864736f6c63430007060033",
1355
+ "linkReferences": {},
1356
+ "deployedLinkReferences": {}
1357
+ }