@flarenetwork/flare-periphery-contract-artifacts 0.0.3 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (848) hide show
  1. package/{dist/README.md → README.md} +2 -1
  2. package/coston/README.md +7 -0
  3. package/coston/artifacts/contracts/addressUpdater/implementation/AddressUpdatable.sol/AddressUpdatable.json +42 -0
  4. package/coston/artifacts/contracts/addressUpdater/implementation/AddressUpdater.sol/AddressUpdater.json +381 -0
  5. package/coston/artifacts/contracts/addressUpdater/interface/IIAddressUpdatable.sol/IIAddressUpdatable.json +29 -0
  6. package/coston/artifacts/contracts/addressUpdater/interface/IIAddressUpdater.sol/IIAddressUpdater.json +105 -0
  7. package/coston/artifacts/contracts/assetRegistry/implementation/FlareAssetRegistry.sol/FlareAssetRegistry.json +525 -0
  8. package/coston/artifacts/contracts/assetRegistry/implementation/WNatRegistryProvider.sol/WNatRegistryProvider.json +113 -0
  9. package/coston/artifacts/contracts/assetRegistry/interface/IIERC20WithMetadata.sol/IIERC20WithMetadata.json +233 -0
  10. package/coston/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistry.sol/IIFlareAssetRegistry.json +316 -0
  11. package/coston/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistryProvider.sol/IIFlareAssetRegistryProvider.json +66 -0
  12. package/coston/artifacts/contracts/assetRegistry/lib/StandardAttributes.sol/StandardAttributes.json +10 -0
  13. package/coston/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +1151 -0
  14. package/coston/artifacts/contracts/claiming/implementation/CloneFactory.sol/CloneFactory.json +10 -0
  15. package/coston/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +346 -0
  16. package/coston/artifacts/contracts/claiming/interface/IIClaimSetupManager.sol/IIClaimSetupManager.json +795 -0
  17. package/coston/artifacts/contracts/claiming/interface/IIDelegationAccount.sol/IIDelegationAccount.json +316 -0
  18. package/coston/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +1104 -0
  19. package/coston/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +1723 -0
  20. package/coston/artifacts/contracts/ftso/interface/IIFtso.sol/IIFtso.json +953 -0
  21. package/coston/artifacts/contracts/ftso/interface/IIFtsoManager.sol/IIFtsoManager.json +878 -0
  22. package/coston/artifacts/contracts/ftso/interface/IIFtsoManagerV1.sol/IIFtsoManagerV1.json +102 -0
  23. package/coston/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +10 -0
  24. package/coston/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +43 -0
  25. package/coston/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +10 -0
  26. package/coston/artifacts/contracts/ftso/lib/FtsoMedian.sol/FtsoMedian.json +10 -0
  27. package/coston/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +10 -0
  28. package/coston/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +624 -0
  29. package/coston/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +241 -0
  30. package/coston/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +236 -0
  31. package/coston/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +1048 -0
  32. package/coston/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +676 -0
  33. package/coston/artifacts/contracts/genesis/implementation/GovernanceSettings.sol/GovernanceSettings.json +224 -0
  34. package/coston/artifacts/contracts/genesis/implementation/PriceSubmitter.sol/PriceSubmitter.json +407 -0
  35. package/coston/artifacts/contracts/genesis/implementation/StateConnector.sol/StateConnector.json +324 -0
  36. package/coston/artifacts/contracts/genesis/interface/IFlareDaemonize.sol/IFlareDaemonize.json +37 -0
  37. package/coston/artifacts/contracts/genesis/interface/IFtsoGenesis.sol/IFtsoGenesis.json +91 -0
  38. package/coston/artifacts/contracts/genesis/interface/IFtsoManagerGenesis.sol/IFtsoManagerGenesis.json +24 -0
  39. package/coston/artifacts/contracts/genesis/interface/IFtsoRegistryGenesis.sol/IFtsoRegistryGenesis.json +30 -0
  40. package/coston/artifacts/contracts/genesis/interface/IIPriceSubmitter.sol/IIPriceSubmitter.json +285 -0
  41. package/coston/artifacts/contracts/genesis/interface/IInflationGenesis.sol/IInflationGenesis.json +18 -0
  42. package/coston/artifacts/contracts/governance/implementation/Governed.sol/Governed.json +126 -0
  43. package/coston/artifacts/contracts/governance/implementation/GovernedAtGenesis.sol/GovernedAtGenesis.json +139 -0
  44. package/coston/artifacts/contracts/governance/implementation/GovernedBase.sol/GovernedBase.json +115 -0
  45. package/coston/artifacts/contracts/governance/implementation/GovernedBaseV2.sol/GovernedBaseV2.json +209 -0
  46. package/coston/artifacts/contracts/governance/implementation/GovernedV2.sol/GovernedV2.json +220 -0
  47. package/coston/artifacts/contracts/governance/implementation/Governor.sol/Governor.json +653 -0
  48. package/coston/artifacts/contracts/governance/implementation/GovernorProposals.sol/GovernorProposals.json +24 -0
  49. package/coston/artifacts/contracts/governance/implementation/GovernorProposer.sol/GovernorProposer.json +265 -0
  50. package/coston/artifacts/contracts/governance/implementation/GovernorVotePower.sol/GovernorVotePower.json +24 -0
  51. package/coston/artifacts/contracts/governance/implementation/GovernorVotes.sol/GovernorVotes.json +10 -0
  52. package/coston/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +1065 -0
  53. package/coston/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +1187 -0
  54. package/coston/artifacts/contracts/governance/interface/IIGovernorProposer.sol/IIGovernorProposer.json +30 -0
  55. package/coston/artifacts/contracts/governance/interface/IIPollingFoundation.sol/IIPollingFoundation.json +640 -0
  56. package/coston/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +854 -0
  57. package/coston/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +463 -0
  58. package/coston/artifacts/contracts/inflation/implementation/SelfDestructBurner.sol/SelfDestructBurner.json +73 -0
  59. package/coston/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +642 -0
  60. package/coston/artifacts/contracts/inflation/interface/IIInflationAllocation.sol/IIInflationAllocation.json +49 -0
  61. package/coston/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +70 -0
  62. package/coston/artifacts/contracts/inflation/interface/IIInflationV1.sol/IIInflationV1.json +142 -0
  63. package/coston/artifacts/contracts/inflation/interface/IIPreInflationCalculation.sol/IIPreInflationCalculation.json +18 -0
  64. package/coston/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +82 -0
  65. package/coston/artifacts/contracts/inflation/lib/InflationRewardServices.sol/InflationRewardServices.json +68 -0
  66. package/coston/artifacts/contracts/inflation/lib/InflationTimeSlots.sol/InflationTimeSlots.json +10 -0
  67. package/coston/artifacts/contracts/mockXAsset/interface/ICollateralizable.sol/ICollateralizable.json +234 -0
  68. package/coston/artifacts/contracts/token/implementation/CheckPointable.sol/CheckPointable.json +129 -0
  69. package/coston/artifacts/contracts/token/implementation/CleanupBlockNumberManager.sol/CleanupBlockNumberManager.json +389 -0
  70. package/coston/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +222 -0
  71. package/coston/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +324 -0
  72. package/coston/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +774 -0
  73. package/coston/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +1102 -0
  74. package/coston/artifacts/contracts/token/implementation/WNat.sol/WNat.json +1195 -0
  75. package/coston/artifacts/contracts/token/interface/IICleanable.sol/IICleanable.json +63 -0
  76. package/coston/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +252 -0
  77. package/coston/artifacts/contracts/token/interface/IIVPContract.sol/IIVPContract.json +609 -0
  78. package/coston/artifacts/contracts/token/interface/IIVPToken.sol/IIVPToken.json +790 -0
  79. package/coston/artifacts/contracts/token/lib/CheckPointHistory.sol/CheckPointHistory.json +10 -0
  80. package/coston/artifacts/contracts/token/lib/CheckPointHistoryCache.sol/CheckPointHistoryCache.json +10 -0
  81. package/coston/artifacts/contracts/token/lib/CheckPointsByAddress.sol/CheckPointsByAddress.json +10 -0
  82. package/coston/artifacts/contracts/token/lib/DelegateCheckPointHistory.sol/DelegateCheckPointHistory.json +10 -0
  83. package/coston/artifacts/contracts/token/lib/DelegateCheckPointsByAddress.sol/DelegateCheckPointsByAddress.json +10 -0
  84. package/coston/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +24 -0
  85. package/coston/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +10 -0
  86. package/coston/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +24 -0
  87. package/coston/artifacts/contracts/token/lib/VotePower.sol/VotePower.json +10 -0
  88. package/coston/artifacts/contracts/token/lib/VotePowerCache.sol/VotePowerCache.json +10 -0
  89. package/coston/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +1425 -0
  90. package/coston/artifacts/contracts/tokenPools/implementation/InflationReceiver.sol/InflationReceiver.json +127 -0
  91. package/coston/artifacts/contracts/tokenPools/implementation/TokenPoolBase.sol/TokenPoolBase.json +10 -0
  92. package/coston/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +975 -0
  93. package/coston/artifacts/contracts/tokenPools/interface/IITokenPool.sol/IITokenPool.json +34 -0
  94. package/coston/artifacts/contracts/tokenPools/lib/DataProviderFee.sol/DataProviderFee.json +10 -0
  95. package/coston/artifacts/contracts/userInterfaces/IClaimSetupManager.sol/IClaimSetupManager.json +665 -0
  96. package/coston/artifacts/contracts/userInterfaces/IDelegationAccount.sol/IDelegationAccount.json +144 -0
  97. package/coston/artifacts/contracts/userInterfaces/IFlareAssetRegistry.sol/IFlareAssetRegistry.json +241 -0
  98. package/coston/artifacts/contracts/userInterfaces/IFlareContractRegistry.sol/IFlareContractRegistry.json +105 -0
  99. package/coston/artifacts/contracts/userInterfaces/IFtso.sol/IFtso.json +512 -0
  100. package/coston/artifacts/contracts/userInterfaces/IFtsoManager.sol/IFtsoManager.json +376 -0
  101. package/coston/artifacts/contracts/userInterfaces/IFtsoRegistry.sol/IFtsoRegistry.json +445 -0
  102. package/coston/artifacts/contracts/userInterfaces/IFtsoRewardManager.sol/IFtsoRewardManager.json +702 -0
  103. package/coston/artifacts/contracts/userInterfaces/IGenericRewardManager.sol/IGenericRewardManager.json +248 -0
  104. package/coston/artifacts/contracts/userInterfaces/IGovernanceSettings.sol/IGovernanceSettings.json +69 -0
  105. package/coston/artifacts/contracts/userInterfaces/IGovernanceVotePower.sol/IGovernanceVotePower.json +117 -0
  106. package/coston/artifacts/contracts/userInterfaces/IGovernor.sol/IGovernor.json +484 -0
  107. package/coston/artifacts/contracts/userInterfaces/IPollingFtso.sol/IPollingFtso.json +639 -0
  108. package/coston/artifacts/contracts/userInterfaces/IPriceSubmitter.sol/IPriceSubmitter.json +200 -0
  109. package/coston/artifacts/contracts/userInterfaces/IVPContractEvents.sol/IVPContractEvents.json +73 -0
  110. package/coston/artifacts/contracts/userInterfaces/IVPToken.sol/IVPToken.json +658 -0
  111. package/coston/artifacts/contracts/userInterfaces/IVoterWhitelister.sol/IVoterWhitelister.json +199 -0
  112. package/coston/artifacts/contracts/userInterfaces/IWNat.sol/IWNat.json +62 -0
  113. package/coston/artifacts/contracts/utils/implementation/AddressSet.sol/AddressSet.json +10 -0
  114. package/coston/artifacts/contracts/utils/implementation/DateTimeLibrary.sol/BokkyPooBahsDateTimeLibrary.json +154 -0
  115. package/coston/artifacts/contracts/utils/implementation/FlareContractRegistry.sol/FlareContractRegistry.json +147 -0
  116. package/coston/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +769 -0
  117. package/coston/artifacts/contracts/utils/implementation/FtsoRegistryProxy.sol/FtsoRegistryProxy.json +272 -0
  118. package/coston/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +440 -0
  119. package/coston/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +144 -0
  120. package/coston/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonizedV2.sol/GovernedAndFlareDaemonizedV2.json +238 -0
  121. package/coston/artifacts/contracts/utils/implementation/ProxyGoverned.sol/ProxyGoverned.json +256 -0
  122. package/coston/artifacts/contracts/utils/implementation/RevertErrorTracking.sol/RevertErrorTracking.json +131 -0
  123. package/coston/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +10 -0
  124. package/coston/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +653 -0
  125. package/coston/artifacts/contracts/utils/interface/IIFtsoRegistry.sol/IIFtsoRegistry.json +477 -0
  126. package/coston/artifacts/contracts/utils/interface/IIFtsoRegistryV1.sol/IIFtsoRegistryV1.json +120 -0
  127. package/coston/artifacts/contracts/utils/interface/IIRandomProvider.sol/IIRandomProvider.json +60 -0
  128. package/coston/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +308 -0
  129. package/coston/artifacts/contracts/utils/interface/IUpdateValidators.sol/IUpdateValidators.json +18 -0
  130. package/{dist/coston/deploys/coston.json → coston/deploys/contracts.json} +71 -16
  131. package/coston2/README.md +7 -0
  132. package/coston2/artifacts/contracts/addressUpdater/implementation/AddressUpdatable.sol/AddressUpdatable.json +42 -0
  133. package/coston2/artifacts/contracts/addressUpdater/implementation/AddressUpdater.sol/AddressUpdater.json +381 -0
  134. package/coston2/artifacts/contracts/addressUpdater/interface/IIAddressUpdatable.sol/IIAddressUpdatable.json +29 -0
  135. package/coston2/artifacts/contracts/addressUpdater/interface/IIAddressUpdater.sol/IIAddressUpdater.json +105 -0
  136. package/coston2/artifacts/contracts/assetRegistry/implementation/FlareAssetRegistry.sol/FlareAssetRegistry.json +525 -0
  137. package/coston2/artifacts/contracts/assetRegistry/implementation/WNatRegistryProvider.sol/WNatRegistryProvider.json +113 -0
  138. package/coston2/artifacts/contracts/assetRegistry/interface/IIERC20WithMetadata.sol/IIERC20WithMetadata.json +233 -0
  139. package/coston2/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistry.sol/IIFlareAssetRegistry.json +316 -0
  140. package/coston2/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistryProvider.sol/IIFlareAssetRegistryProvider.json +66 -0
  141. package/coston2/artifacts/contracts/assetRegistry/lib/StandardAttributes.sol/StandardAttributes.json +10 -0
  142. package/coston2/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +1151 -0
  143. package/coston2/artifacts/contracts/claiming/implementation/CloneFactory.sol/CloneFactory.json +10 -0
  144. package/coston2/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +346 -0
  145. package/coston2/artifacts/contracts/claiming/interface/IIClaimSetupManager.sol/IIClaimSetupManager.json +795 -0
  146. package/coston2/artifacts/contracts/claiming/interface/IIDelegationAccount.sol/IIDelegationAccount.json +316 -0
  147. package/coston2/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +1039 -0
  148. package/coston2/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +1723 -0
  149. package/coston2/artifacts/contracts/ftso/interface/IIFtso.sol/IIFtso.json +888 -0
  150. package/coston2/artifacts/contracts/ftso/interface/IIFtsoManager.sol/IIFtsoManager.json +891 -0
  151. package/coston2/artifacts/contracts/ftso/interface/IIFtsoManagerV1.sol/IIFtsoManagerV1.json +102 -0
  152. package/coston2/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +10 -0
  153. package/coston2/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +43 -0
  154. package/coston2/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +10 -0
  155. package/coston2/artifacts/contracts/ftso/lib/FtsoMedian.sol/FtsoMedian.json +10 -0
  156. package/coston2/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +10 -0
  157. package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +718 -0
  158. package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +338 -0
  159. package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +236 -0
  160. package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +983 -0
  161. package/coston2/artifacts/contracts/genesis/implementation/DistributionTreasury.sol/DistributionTreasury.json +289 -0
  162. package/coston2/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +794 -0
  163. package/coston2/artifacts/contracts/genesis/implementation/GovernanceSettings.sol/GovernanceSettings.json +219 -0
  164. package/coston2/artifacts/contracts/genesis/implementation/IncentivePoolTreasury.sol/IncentivePoolTreasury.json +292 -0
  165. package/coston2/artifacts/contracts/genesis/implementation/InitialAirdrop.sol/InitialAirdrop.json +493 -0
  166. package/coston2/artifacts/contracts/genesis/implementation/PriceSubmitter.sol/PriceSubmitter.json +569 -0
  167. package/coston2/artifacts/contracts/genesis/implementation/StateConnector.sol/StateConnector.json +324 -0
  168. package/coston2/artifacts/contracts/genesis/interface/IFlareDaemonize.sol/IFlareDaemonize.json +50 -0
  169. package/coston2/artifacts/contracts/genesis/interface/IFtsoGenesis.sol/IFtsoGenesis.json +63 -0
  170. package/coston2/artifacts/contracts/genesis/interface/IFtsoManagerGenesis.sol/IFtsoManagerGenesis.json +24 -0
  171. package/coston2/artifacts/contracts/genesis/interface/IFtsoRegistryGenesis.sol/IFtsoRegistryGenesis.json +30 -0
  172. package/coston2/artifacts/contracts/genesis/interface/IIPriceSubmitter.sol/IIPriceSubmitter.json +283 -0
  173. package/coston2/artifacts/contracts/genesis/interface/IInflationGenesis.sol/IInflationGenesis.json +18 -0
  174. package/coston2/artifacts/contracts/governance/implementation/Governed.sol/Governed.json +220 -0
  175. package/coston2/artifacts/contracts/governance/implementation/GovernedAtGenesis.sol/GovernedAtGenesis.json +233 -0
  176. package/coston2/artifacts/contracts/governance/implementation/GovernedBase.sol/GovernedBase.json +209 -0
  177. package/coston2/artifacts/contracts/governance/implementation/Governor.sol/Governor.json +653 -0
  178. package/coston2/artifacts/contracts/governance/implementation/GovernorProposals.sol/GovernorProposals.json +24 -0
  179. package/coston2/artifacts/contracts/governance/implementation/GovernorProposer.sol/GovernorProposer.json +265 -0
  180. package/coston2/artifacts/contracts/governance/implementation/GovernorVotePower.sol/GovernorVotePower.json +24 -0
  181. package/coston2/artifacts/contracts/governance/implementation/GovernorVotes.sol/GovernorVotes.json +10 -0
  182. package/coston2/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +1070 -0
  183. package/coston2/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +1187 -0
  184. package/coston2/artifacts/contracts/governance/interface/IIGovernorProposer.sol/IIGovernorProposer.json +30 -0
  185. package/coston2/artifacts/contracts/governance/interface/IIPollingFoundation.sol/IIPollingFoundation.json +640 -0
  186. package/coston2/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +926 -0
  187. package/coston2/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +463 -0
  188. package/coston2/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +543 -0
  189. package/coston2/artifacts/contracts/inflation/interface/IIInflationAllocation.sol/IIInflationAllocation.json +49 -0
  190. package/coston2/artifacts/contracts/inflation/interface/IIInflationPercentageProvider.sol/IIInflationPercentageProvider.json +24 -0
  191. package/coston2/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +57 -0
  192. package/coston2/artifacts/contracts/inflation/interface/IIInflationSharingPercentageProvider.sol/IIInflationSharingPercentageProvider.json +36 -0
  193. package/coston2/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +82 -0
  194. package/coston2/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +10 -0
  195. package/coston2/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +10 -0
  196. package/coston2/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +30 -0
  197. package/coston2/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +49 -0
  198. package/coston2/artifacts/contracts/mockXAsset/interface/ICollateralizable.sol/ICollateralizable.json +234 -0
  199. package/coston2/artifacts/contracts/token/implementation/CheckPointable.sol/CheckPointable.json +142 -0
  200. package/coston2/artifacts/contracts/token/implementation/CleanupBlockNumberManager.sol/CleanupBlockNumberManager.json +389 -0
  201. package/coston2/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +235 -0
  202. package/coston2/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +324 -0
  203. package/coston2/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +798 -0
  204. package/coston2/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +1264 -0
  205. package/coston2/artifacts/contracts/token/implementation/WNat.sol/WNat.json +1357 -0
  206. package/coston2/artifacts/contracts/token/interface/IICleanable.sol/IICleanable.json +50 -0
  207. package/coston2/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +252 -0
  208. package/coston2/artifacts/contracts/token/interface/IIVPContract.sol/IIVPContract.json +620 -0
  209. package/coston2/artifacts/contracts/token/interface/IIVPToken.sol/IIVPToken.json +832 -0
  210. package/coston2/artifacts/contracts/token/lib/CheckPointHistory.sol/CheckPointHistory.json +10 -0
  211. package/coston2/artifacts/contracts/token/lib/CheckPointHistoryCache.sol/CheckPointHistoryCache.json +10 -0
  212. package/coston2/artifacts/contracts/token/lib/CheckPointsByAddress.sol/CheckPointsByAddress.json +10 -0
  213. package/coston2/artifacts/contracts/token/lib/DelegateCheckPointHistory.sol/DelegateCheckPointHistory.json +10 -0
  214. package/coston2/artifacts/contracts/token/lib/DelegateCheckPointsByAddress.sol/DelegateCheckPointsByAddress.json +10 -0
  215. package/coston2/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +24 -0
  216. package/coston2/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +10 -0
  217. package/coston2/artifacts/contracts/token/lib/IICombinedNatBalance.sol/IICombinedNatBalance.json +54 -0
  218. package/coston2/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +24 -0
  219. package/coston2/artifacts/contracts/token/lib/VotePower.sol/VotePower.json +10 -0
  220. package/coston2/artifacts/contracts/token/lib/VotePowerCache.sol/VotePowerCache.json +10 -0
  221. package/coston2/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +741 -0
  222. package/coston2/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +1038 -0
  223. package/coston2/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +769 -0
  224. package/coston2/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +1412 -0
  225. package/coston2/artifacts/contracts/tokenPools/implementation/GenericRewardManager.sol/GenericRewardManager.json +720 -0
  226. package/coston2/artifacts/contracts/tokenPools/implementation/IncentivePool.sol/IncentivePool.json +927 -0
  227. package/coston2/artifacts/contracts/tokenPools/implementation/IncentivePoolAllocation.sol/IncentivePoolAllocation.json +463 -0
  228. package/coston2/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +741 -0
  229. package/coston2/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +962 -0
  230. package/coston2/artifacts/contracts/tokenPools/interface/IIGenericRewardManager.sol/IIGenericRewardManager.json +413 -0
  231. package/coston2/artifacts/contracts/tokenPools/interface/IIIncentivePoolAllocation.sol/IIIncentivePoolAllocation.json +49 -0
  232. package/coston2/artifacts/contracts/tokenPools/interface/IIIncentivePoolPercentageProvider.sol/IIIncentivePoolPercentageProvider.json +24 -0
  233. package/coston2/artifacts/contracts/tokenPools/interface/IIIncentivePoolReceiver.sol/IIIncentivePoolReceiver.json +57 -0
  234. package/coston2/artifacts/contracts/tokenPools/interface/IIIncentivePoolSharingPercentageProvider.sol/IIIncentivePoolSharingPercentageProvider.json +36 -0
  235. package/coston2/artifacts/contracts/tokenPools/interface/IITokenPool.sol/IITokenPool.json +34 -0
  236. package/coston2/artifacts/contracts/tokenPools/lib/DataProviderFee.sol/DataProviderFee.json +10 -0
  237. package/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolAnnum.sol/IncentivePoolAnnum.json +10 -0
  238. package/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolAnnums.sol/IncentivePoolAnnums.json +10 -0
  239. package/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolRewardService.sol/IncentivePoolRewardService.json +30 -0
  240. package/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolRewardServices.sol/IncentivePoolRewardServices.json +49 -0
  241. package/coston2/artifacts/contracts/userInterfaces/IClaimSetupManager.sol/IClaimSetupManager.json +665 -0
  242. package/coston2/artifacts/contracts/userInterfaces/IDelegationAccount.sol/IDelegationAccount.json +144 -0
  243. package/coston2/artifacts/contracts/userInterfaces/IDistributionToDelegators.sol/IDistributionToDelegators.json +258 -0
  244. package/coston2/artifacts/contracts/userInterfaces/IFlareAssetRegistry.sol/IFlareAssetRegistry.json +241 -0
  245. package/coston2/artifacts/contracts/userInterfaces/IFlareContractRegistry.sol/IFlareContractRegistry.json +105 -0
  246. package/coston2/artifacts/contracts/userInterfaces/IFtso.sol/IFtso.json +475 -0
  247. package/coston2/artifacts/contracts/userInterfaces/IFtsoManager.sol/IFtsoManager.json +376 -0
  248. package/coston2/artifacts/contracts/userInterfaces/IFtsoRegistry.sol/IFtsoRegistry.json +445 -0
  249. package/coston2/artifacts/contracts/userInterfaces/IFtsoRewardManager.sol/IFtsoRewardManager.json +702 -0
  250. package/coston2/artifacts/contracts/userInterfaces/IGenericRewardManager.sol/IGenericRewardManager.json +248 -0
  251. package/coston2/artifacts/contracts/userInterfaces/IGovernanceSettings.sol/IGovernanceSettings.json +69 -0
  252. package/coston2/artifacts/contracts/userInterfaces/IGovernanceVotePower.sol/IGovernanceVotePower.json +117 -0
  253. package/coston2/artifacts/contracts/userInterfaces/IGovernor.sol/IGovernor.json +484 -0
  254. package/coston2/artifacts/contracts/userInterfaces/IPollingFtso.sol/IPollingFtso.json +639 -0
  255. package/coston2/artifacts/contracts/userInterfaces/IPriceSubmitter.sol/IPriceSubmitter.json +221 -0
  256. package/coston2/artifacts/contracts/userInterfaces/IVPContractEvents.sol/IVPContractEvents.json +73 -0
  257. package/coston2/artifacts/contracts/userInterfaces/IVPToken.sol/IVPToken.json +700 -0
  258. package/coston2/artifacts/contracts/userInterfaces/IValidatorRegistry.sol/IValidatorRegistry.json +136 -0
  259. package/coston2/artifacts/contracts/userInterfaces/IVoterWhitelister.sol/IVoterWhitelister.json +199 -0
  260. package/coston2/artifacts/contracts/userInterfaces/IWNat.sol/IWNat.json +62 -0
  261. package/coston2/artifacts/contracts/utils/implementation/AddressSet.sol/AddressSet.json +10 -0
  262. package/coston2/artifacts/contracts/utils/implementation/DateTimeLibrary.sol/BokkyPooBahsDateTimeLibrary.json +154 -0
  263. package/coston2/artifacts/contracts/utils/implementation/FlareContractRegistry.sol/FlareContractRegistry.json +147 -0
  264. package/coston2/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +769 -0
  265. package/coston2/artifacts/contracts/utils/implementation/FtsoRegistryProxy.sol/FtsoRegistryProxy.json +272 -0
  266. package/coston2/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +384 -0
  267. package/coston2/artifacts/contracts/utils/implementation/FundDistributor.sol/FundDistributor.json +71 -0
  268. package/coston2/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +238 -0
  269. package/coston2/artifacts/contracts/utils/implementation/ProxyGoverned.sol/ProxyGoverned.json +256 -0
  270. package/coston2/artifacts/contracts/utils/implementation/RevertErrorTracking.sol/RevertErrorTracking.json +131 -0
  271. package/coston2/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +10 -0
  272. package/coston2/artifacts/contracts/utils/implementation/SelfdestructTransfer.sol/SelfdestructTransfer.json +91 -0
  273. package/coston2/artifacts/contracts/utils/implementation/ValidatorRegistry.sol/ValidatorRegistry.json +149 -0
  274. package/coston2/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +653 -0
  275. package/coston2/artifacts/contracts/utils/interface/IIFtsoRegistry.sol/IIFtsoRegistry.json +477 -0
  276. package/coston2/artifacts/contracts/utils/interface/IIRandomProvider.sol/IIRandomProvider.json +60 -0
  277. package/coston2/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +308 -0
  278. package/coston2/artifacts/contracts/utils/interface/IUpdateValidators.sol/IUpdateValidators.json +18 -0
  279. package/{dist/coston2/deploys/coston2.json → coston2/deploys/contracts.json} +54 -19
  280. package/dist/coston/abis.d.ts +4 -0
  281. package/dist/coston/abis.d.ts.map +1 -0
  282. package/dist/coston/{abis.coston.js → abis.js} +35 -21
  283. package/dist/coston/abis.js.map +1 -0
  284. package/dist/coston/artifacts/contracts/assetRegistry/implementation/FlareAssetRegistry.sol/FlareAssetRegistry.json +525 -0
  285. package/dist/coston/artifacts/contracts/assetRegistry/implementation/WNatRegistryProvider.sol/WNatRegistryProvider.json +113 -0
  286. package/dist/coston/artifacts/contracts/assetRegistry/interface/IIERC20WithMetadata.sol/IIERC20WithMetadata.json +233 -0
  287. package/dist/coston/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistry.sol/IIFlareAssetRegistry.json +316 -0
  288. package/dist/coston/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistryProvider.sol/IIFlareAssetRegistryProvider.json +66 -0
  289. package/dist/coston/artifacts/contracts/assetRegistry/lib/StandardAttributes.sol/StandardAttributes.json +10 -0
  290. package/dist/coston/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
  291. package/dist/coston/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
  292. package/dist/coston/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +2 -2
  293. package/dist/coston/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +3 -3
  294. package/dist/coston/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
  295. package/dist/coston/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
  296. package/dist/coston/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +2 -2
  297. package/dist/coston/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
  298. package/dist/coston/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
  299. package/dist/coston/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +40 -2
  300. package/dist/coston/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +2 -2
  301. package/dist/coston/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
  302. package/dist/coston/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +1187 -0
  303. package/dist/coston/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +273 -298
  304. package/dist/coston/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +463 -0
  305. package/dist/coston/artifacts/contracts/inflation/implementation/SelfDestructBurner.sol/SelfDestructBurner.json +73 -0
  306. package/dist/coston/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +290 -51
  307. package/dist/coston/artifacts/contracts/inflation/interface/{IIInflationSharingPercentageProvider.sol/IIInflationSharingPercentageProvider.json → IIInflationAllocation.sol/IIInflationAllocation.json} +15 -2
  308. package/dist/coston/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +26 -0
  309. package/dist/coston/artifacts/contracts/inflation/interface/IIInflationV1.sol/IIInflationV1.json +142 -0
  310. package/dist/coston/artifacts/contracts/inflation/interface/IIPreInflationCalculation.sol/IIPreInflationCalculation.json +18 -0
  311. package/dist/coston/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +6 -12
  312. package/dist/coston/artifacts/contracts/inflation/lib/{RewardServices.sol/RewardServices.json → InflationRewardServices.sol/InflationRewardServices.json} +25 -6
  313. package/dist/coston/artifacts/contracts/inflation/lib/InflationTimeSlots.sol/InflationTimeSlots.json +10 -0
  314. package/dist/coston/artifacts/contracts/token/implementation/CleanupBlockNumberManager.sol/CleanupBlockNumberManager.json +172 -37
  315. package/dist/coston/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +2 -2
  316. package/dist/coston/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +2 -2
  317. package/dist/coston/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
  318. package/dist/coston/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
  319. package/dist/coston/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
  320. package/dist/coston/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +2 -2
  321. package/dist/coston/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +2 -2
  322. package/dist/coston/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +2 -2
  323. package/dist/coston/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +535 -137
  324. package/dist/coston/artifacts/contracts/tokenPools/implementation/InflationReceiver.sol/InflationReceiver.json +127 -0
  325. package/dist/coston/artifacts/contracts/tokenPools/implementation/TokenPoolBase.sol/TokenPoolBase.json +10 -0
  326. package/dist/coston/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +348 -0
  327. package/dist/coston/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
  328. package/dist/coston/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +2 -2
  329. package/dist/coston/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonizedV2.sol/GovernedAndFlareDaemonizedV2.json +2 -2
  330. package/dist/coston/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +2 -2
  331. package/dist/coston/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +276 -41
  332. package/dist/coston/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +72 -0
  333. package/dist/coston/deploys/{contractAddresses.d.ts → addresses.d.ts} +14 -3
  334. package/dist/coston/deploys/addresses.d.ts.map +1 -0
  335. package/dist/coston/deploys/{contractAddresses.js → addresses.js} +20 -9
  336. package/dist/coston/deploys/addresses.js.map +1 -0
  337. package/dist/coston/deploys/contracts.json +202 -0
  338. package/dist/coston/deploys/mapper.d.ts +2 -2
  339. package/dist/coston/deploys/mapper.d.ts.map +1 -1
  340. package/dist/coston/deploys/mapper.js +13 -19
  341. package/dist/coston/deploys/mapper.js.map +1 -1
  342. package/dist/coston/index.d.ts +1 -1
  343. package/dist/coston/index.d.ts.map +1 -1
  344. package/dist/coston/index.js +1 -2
  345. package/dist/coston/index.js.map +1 -1
  346. package/dist/coston2/abis.d.ts +4 -0
  347. package/dist/coston2/abis.d.ts.map +1 -0
  348. package/dist/coston2/{abis.coston2.js → abis.js} +7 -3
  349. package/dist/coston2/abis.js.map +1 -0
  350. package/dist/coston2/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
  351. package/dist/coston2/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
  352. package/dist/coston2/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +36 -4
  353. package/dist/coston2/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +158 -82
  354. package/dist/coston2/artifacts/contracts/ftso/interface/IIFtso.sol/IIFtso.json +34 -2
  355. package/dist/coston2/artifacts/contracts/ftso/interface/IIFtsoManager.sol/IIFtsoManager.json +54 -0
  356. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
  357. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
  358. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +2 -2
  359. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoMedian.sol/FtsoMedian.json +2 -2
  360. package/dist/coston2/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +2 -2
  361. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
  362. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
  363. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +40 -2
  364. package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +36 -4
  365. package/dist/coston2/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +2 -2
  366. package/dist/coston2/artifacts/contracts/genesis/implementation/InitialAirdrop.sol/InitialAirdrop.json +2 -2
  367. package/dist/coston2/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
  368. package/dist/coston2/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +1187 -0
  369. package/dist/coston2/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +2 -2
  370. package/dist/coston2/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +2 -2
  371. package/dist/coston2/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +2 -2
  372. package/dist/coston2/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +2 -2
  373. package/dist/coston2/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +2 -2
  374. package/dist/coston2/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +2 -2
  375. package/dist/coston2/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +2 -2
  376. package/dist/coston2/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +2 -2
  377. package/dist/coston2/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
  378. package/dist/coston2/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
  379. package/dist/coston2/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
  380. package/dist/coston2/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +2 -2
  381. package/dist/coston2/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +2 -2
  382. package/dist/coston2/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +2 -2
  383. package/dist/coston2/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +2 -2
  384. package/dist/coston2/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +2 -2
  385. package/dist/coston2/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +2 -2
  386. package/dist/coston2/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
  387. package/dist/coston2/artifacts/contracts/tokenPools/implementation/IncentivePool.sol/IncentivePool.json +2 -2
  388. package/dist/coston2/artifacts/contracts/tokenPools/implementation/IncentivePoolAllocation.sol/IncentivePoolAllocation.json +2 -2
  389. package/dist/coston2/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +2 -2
  390. package/dist/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolAnnum.sol/IncentivePoolAnnum.json +2 -2
  391. package/dist/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolAnnums.sol/IncentivePoolAnnums.json +2 -2
  392. package/dist/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolRewardService.sol/IncentivePoolRewardService.json +2 -2
  393. package/dist/coston2/artifacts/contracts/tokenPools/lib/IncentivePoolRewardServices.sol/IncentivePoolRewardServices.json +2 -2
  394. package/dist/coston2/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +2 -2
  395. package/dist/coston2/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +384 -0
  396. package/dist/coston2/artifacts/contracts/utils/implementation/FundDistributor.sol/FundDistributor.json +2 -2
  397. package/dist/coston2/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +2 -2
  398. package/dist/coston2/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +2 -2
  399. package/dist/coston2/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +126 -3
  400. package/dist/coston2/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +72 -0
  401. package/dist/coston2/deploys/{contractAddresses.d.ts → addresses.d.ts} +10 -3
  402. package/dist/coston2/deploys/addresses.d.ts.map +1 -0
  403. package/dist/coston2/deploys/{contractAddresses.js → addresses.js} +22 -15
  404. package/dist/coston2/deploys/addresses.js.map +1 -0
  405. package/dist/coston2/deploys/contracts.json +252 -0
  406. package/dist/coston2/deploys/mapper.d.ts +2 -2
  407. package/dist/coston2/deploys/mapper.d.ts.map +1 -1
  408. package/dist/coston2/deploys/mapper.js +13 -19
  409. package/dist/coston2/deploys/mapper.js.map +1 -1
  410. package/dist/coston2/index.d.ts +1 -1
  411. package/dist/coston2/index.d.ts.map +1 -1
  412. package/dist/coston2/index.js +1 -2
  413. package/dist/coston2/index.js.map +1 -1
  414. package/dist/flare/abis.d.ts +4 -0
  415. package/dist/flare/abis.d.ts.map +1 -0
  416. package/dist/flare/{abis.flare.js → abis.js} +7 -3
  417. package/dist/flare/abis.js.map +1 -0
  418. package/dist/flare/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
  419. package/dist/flare/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
  420. package/dist/flare/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +36 -4
  421. package/dist/flare/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +158 -82
  422. package/dist/flare/artifacts/contracts/ftso/interface/IIFtso.sol/IIFtso.json +34 -2
  423. package/dist/flare/artifacts/contracts/ftso/interface/IIFtsoManager.sol/IIFtsoManager.json +54 -0
  424. package/dist/flare/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
  425. package/dist/flare/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
  426. package/dist/flare/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +2 -2
  427. package/dist/flare/artifacts/contracts/ftso/lib/FtsoMedian.sol/FtsoMedian.json +2 -2
  428. package/dist/flare/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +2 -2
  429. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
  430. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
  431. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +40 -2
  432. package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +36 -4
  433. package/dist/flare/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +2 -2
  434. package/dist/flare/artifacts/contracts/genesis/implementation/InitialAirdrop.sol/InitialAirdrop.json +2 -2
  435. package/dist/flare/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
  436. package/dist/flare/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +1187 -0
  437. package/dist/flare/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +2 -2
  438. package/dist/flare/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +2 -2
  439. package/dist/flare/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +2 -2
  440. package/dist/flare/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +2 -2
  441. package/dist/flare/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +2 -2
  442. package/dist/flare/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +2 -2
  443. package/dist/flare/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +2 -2
  444. package/dist/flare/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +2 -2
  445. package/dist/flare/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
  446. package/dist/flare/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
  447. package/dist/flare/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
  448. package/dist/flare/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +2 -2
  449. package/dist/flare/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +2 -2
  450. package/dist/flare/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +2 -2
  451. package/dist/flare/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +2 -2
  452. package/dist/flare/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +2 -2
  453. package/dist/flare/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +2 -2
  454. package/dist/flare/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
  455. package/dist/flare/artifacts/contracts/tokenPools/implementation/IncentivePool.sol/IncentivePool.json +2 -2
  456. package/dist/flare/artifacts/contracts/tokenPools/implementation/IncentivePoolAllocation.sol/IncentivePoolAllocation.json +2 -2
  457. package/dist/flare/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +2 -2
  458. package/dist/flare/artifacts/contracts/tokenPools/lib/IncentivePoolAnnum.sol/IncentivePoolAnnum.json +2 -2
  459. package/dist/flare/artifacts/contracts/tokenPools/lib/IncentivePoolAnnums.sol/IncentivePoolAnnums.json +2 -2
  460. package/dist/flare/artifacts/contracts/tokenPools/lib/IncentivePoolRewardService.sol/IncentivePoolRewardService.json +2 -2
  461. package/dist/flare/artifacts/contracts/tokenPools/lib/IncentivePoolRewardServices.sol/IncentivePoolRewardServices.json +2 -2
  462. package/dist/flare/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +2 -2
  463. package/dist/flare/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +384 -0
  464. package/dist/flare/artifacts/contracts/utils/implementation/FundDistributor.sol/FundDistributor.json +2 -2
  465. package/dist/flare/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +2 -2
  466. package/dist/flare/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +2 -2
  467. package/dist/flare/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +126 -3
  468. package/dist/flare/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +72 -0
  469. package/dist/flare/deploys/{contractAddresses.d.ts → addresses.d.ts} +11 -3
  470. package/dist/flare/deploys/addresses.d.ts.map +1 -0
  471. package/dist/flare/deploys/{contractAddresses.js → addresses.js} +23 -15
  472. package/dist/flare/deploys/addresses.js.map +1 -0
  473. package/dist/flare/deploys/{flare.json → contracts.json} +60 -20
  474. package/dist/flare/deploys/mapper.d.ts +2 -2
  475. package/dist/flare/deploys/mapper.d.ts.map +1 -1
  476. package/dist/flare/deploys/mapper.js +13 -19
  477. package/dist/flare/deploys/mapper.js.map +1 -1
  478. package/dist/flare/index.d.ts +1 -1
  479. package/dist/flare/index.d.ts.map +1 -1
  480. package/dist/flare/index.js +1 -2
  481. package/dist/flare/index.js.map +1 -1
  482. package/dist/index.d.ts.map +1 -1
  483. package/dist/index.js +5 -9
  484. package/dist/index.js.map +1 -1
  485. package/dist/songbird/abis.d.ts +4 -0
  486. package/dist/songbird/abis.d.ts.map +1 -0
  487. package/dist/songbird/{abis.songbird.js → abis.js} +17 -7
  488. package/dist/songbird/abis.js.map +1 -0
  489. package/dist/songbird/artifacts/contracts/assetRegistry/implementation/FlareAssetRegistry.sol/FlareAssetRegistry.json +525 -0
  490. package/dist/songbird/artifacts/contracts/assetRegistry/implementation/WNatRegistryProvider.sol/WNatRegistryProvider.json +113 -0
  491. package/dist/songbird/artifacts/contracts/assetRegistry/interface/IIERC20WithMetadata.sol/IIERC20WithMetadata.json +233 -0
  492. package/dist/songbird/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistry.sol/IIFlareAssetRegistry.json +316 -0
  493. package/dist/songbird/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistryProvider.sol/IIFlareAssetRegistryProvider.json +66 -0
  494. package/dist/songbird/artifacts/contracts/assetRegistry/lib/StandardAttributes.sol/StandardAttributes.json +10 -0
  495. package/dist/songbird/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
  496. package/dist/songbird/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
  497. package/dist/songbird/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +2 -2
  498. package/dist/songbird/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +3 -3
  499. package/dist/songbird/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
  500. package/dist/songbird/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
  501. package/dist/songbird/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +2 -2
  502. package/dist/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
  503. package/dist/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
  504. package/dist/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +40 -2
  505. package/dist/songbird/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +2 -2
  506. package/dist/songbird/artifacts/contracts/governance/implementation/InflationAllocation.sol/InflationAllocation.json +2 -2
  507. package/dist/songbird/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
  508. package/dist/songbird/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +1187 -0
  509. package/dist/songbird/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +2 -2
  510. package/dist/songbird/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +2 -2
  511. package/dist/songbird/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +2 -2
  512. package/dist/songbird/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +2 -2
  513. package/dist/songbird/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +2 -2
  514. package/dist/songbird/artifacts/contracts/token/implementation/CleanupBlockNumberManager.sol/CleanupBlockNumberManager.json +172 -37
  515. package/dist/songbird/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +2 -2
  516. package/dist/songbird/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +2 -2
  517. package/dist/songbird/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
  518. package/dist/songbird/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
  519. package/dist/songbird/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
  520. package/dist/songbird/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +2 -2
  521. package/dist/songbird/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +2 -2
  522. package/dist/songbird/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +2 -2
  523. package/dist/songbird/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +523 -138
  524. package/dist/songbird/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +322 -0
  525. package/dist/songbird/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
  526. package/dist/songbird/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +2 -2
  527. package/dist/songbird/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonizedV2.sol/GovernedAndFlareDaemonizedV2.json +2 -2
  528. package/dist/songbird/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +2 -2
  529. package/dist/songbird/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +276 -41
  530. package/dist/songbird/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +72 -0
  531. package/dist/songbird/deploys/{contractAddresses.d.ts → addresses.d.ts} +14 -3
  532. package/dist/songbird/deploys/addresses.d.ts.map +1 -0
  533. package/dist/songbird/deploys/{contractAddresses.js → addresses.js} +17 -6
  534. package/dist/songbird/deploys/addresses.js.map +1 -0
  535. package/dist/songbird/deploys/{songbird.json → contracts.json} +68 -13
  536. package/dist/songbird/deploys/mapper.d.ts +2 -2
  537. package/dist/songbird/deploys/mapper.d.ts.map +1 -1
  538. package/dist/songbird/deploys/mapper.js +13 -19
  539. package/dist/songbird/deploys/mapper.js.map +1 -1
  540. package/dist/songbird/index.d.ts +1 -1
  541. package/dist/songbird/index.d.ts.map +1 -1
  542. package/dist/songbird/index.js +1 -2
  543. package/dist/songbird/index.js.map +1 -1
  544. package/flare/README.md +7 -0
  545. package/flare/artifacts/contracts/addressUpdater/implementation/AddressUpdatable.sol/AddressUpdatable.json +42 -0
  546. package/flare/artifacts/contracts/addressUpdater/implementation/AddressUpdater.sol/AddressUpdater.json +381 -0
  547. package/flare/artifacts/contracts/addressUpdater/interface/IIAddressUpdatable.sol/IIAddressUpdatable.json +29 -0
  548. package/flare/artifacts/contracts/addressUpdater/interface/IIAddressUpdater.sol/IIAddressUpdater.json +105 -0
  549. package/flare/artifacts/contracts/assetRegistry/implementation/FlareAssetRegistry.sol/FlareAssetRegistry.json +525 -0
  550. package/flare/artifacts/contracts/assetRegistry/implementation/WNatRegistryProvider.sol/WNatRegistryProvider.json +113 -0
  551. package/flare/artifacts/contracts/assetRegistry/interface/IIERC20WithMetadata.sol/IIERC20WithMetadata.json +233 -0
  552. package/flare/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistry.sol/IIFlareAssetRegistry.json +316 -0
  553. package/flare/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistryProvider.sol/IIFlareAssetRegistryProvider.json +66 -0
  554. package/flare/artifacts/contracts/assetRegistry/lib/StandardAttributes.sol/StandardAttributes.json +10 -0
  555. package/flare/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +1151 -0
  556. package/flare/artifacts/contracts/claiming/implementation/CloneFactory.sol/CloneFactory.json +10 -0
  557. package/flare/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +346 -0
  558. package/flare/artifacts/contracts/claiming/interface/IIClaimSetupManager.sol/IIClaimSetupManager.json +795 -0
  559. package/flare/artifacts/contracts/claiming/interface/IIDelegationAccount.sol/IIDelegationAccount.json +316 -0
  560. package/flare/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +1039 -0
  561. package/flare/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +1723 -0
  562. package/flare/artifacts/contracts/ftso/interface/IIFtso.sol/IIFtso.json +888 -0
  563. package/flare/artifacts/contracts/ftso/interface/IIFtsoManager.sol/IIFtsoManager.json +891 -0
  564. package/flare/artifacts/contracts/ftso/interface/IIFtsoManagerV1.sol/IIFtsoManagerV1.json +102 -0
  565. package/flare/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +10 -0
  566. package/flare/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +43 -0
  567. package/flare/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +10 -0
  568. package/flare/artifacts/contracts/ftso/lib/FtsoMedian.sol/FtsoMedian.json +10 -0
  569. package/flare/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +10 -0
  570. package/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +718 -0
  571. package/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +338 -0
  572. package/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +236 -0
  573. package/flare/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +983 -0
  574. package/flare/artifacts/contracts/genesis/implementation/DistributionTreasury.sol/DistributionTreasury.json +289 -0
  575. package/flare/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +794 -0
  576. package/flare/artifacts/contracts/genesis/implementation/GovernanceSettings.sol/GovernanceSettings.json +219 -0
  577. package/flare/artifacts/contracts/genesis/implementation/IncentivePoolTreasury.sol/IncentivePoolTreasury.json +292 -0
  578. package/flare/artifacts/contracts/genesis/implementation/InitialAirdrop.sol/InitialAirdrop.json +493 -0
  579. package/flare/artifacts/contracts/genesis/implementation/PriceSubmitter.sol/PriceSubmitter.json +569 -0
  580. package/flare/artifacts/contracts/genesis/implementation/StateConnector.sol/StateConnector.json +324 -0
  581. package/flare/artifacts/contracts/genesis/interface/IFlareDaemonize.sol/IFlareDaemonize.json +50 -0
  582. package/flare/artifacts/contracts/genesis/interface/IFtsoGenesis.sol/IFtsoGenesis.json +63 -0
  583. package/flare/artifacts/contracts/genesis/interface/IFtsoManagerGenesis.sol/IFtsoManagerGenesis.json +24 -0
  584. package/flare/artifacts/contracts/genesis/interface/IFtsoRegistryGenesis.sol/IFtsoRegistryGenesis.json +30 -0
  585. package/flare/artifacts/contracts/genesis/interface/IIPriceSubmitter.sol/IIPriceSubmitter.json +283 -0
  586. package/flare/artifacts/contracts/genesis/interface/IInflationGenesis.sol/IInflationGenesis.json +18 -0
  587. package/flare/artifacts/contracts/governance/implementation/Governed.sol/Governed.json +220 -0
  588. package/flare/artifacts/contracts/governance/implementation/GovernedAtGenesis.sol/GovernedAtGenesis.json +233 -0
  589. package/flare/artifacts/contracts/governance/implementation/GovernedBase.sol/GovernedBase.json +209 -0
  590. package/flare/artifacts/contracts/governance/implementation/Governor.sol/Governor.json +653 -0
  591. package/flare/artifacts/contracts/governance/implementation/GovernorProposals.sol/GovernorProposals.json +24 -0
  592. package/flare/artifacts/contracts/governance/implementation/GovernorProposer.sol/GovernorProposer.json +265 -0
  593. package/flare/artifacts/contracts/governance/implementation/GovernorVotePower.sol/GovernorVotePower.json +24 -0
  594. package/flare/artifacts/contracts/governance/implementation/GovernorVotes.sol/GovernorVotes.json +10 -0
  595. package/flare/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +1070 -0
  596. package/flare/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +1187 -0
  597. package/flare/artifacts/contracts/governance/interface/IIGovernorProposer.sol/IIGovernorProposer.json +30 -0
  598. package/flare/artifacts/contracts/governance/interface/IIPollingFoundation.sol/IIPollingFoundation.json +640 -0
  599. package/flare/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +926 -0
  600. package/flare/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +463 -0
  601. package/flare/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +543 -0
  602. package/flare/artifacts/contracts/inflation/interface/IIInflationAllocation.sol/IIInflationAllocation.json +49 -0
  603. package/flare/artifacts/contracts/inflation/interface/IIInflationPercentageProvider.sol/IIInflationPercentageProvider.json +24 -0
  604. package/flare/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +57 -0
  605. package/flare/artifacts/contracts/inflation/interface/IIInflationSharingPercentageProvider.sol/IIInflationSharingPercentageProvider.json +36 -0
  606. package/flare/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +82 -0
  607. package/flare/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +10 -0
  608. package/flare/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +10 -0
  609. package/flare/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +30 -0
  610. package/flare/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +49 -0
  611. package/flare/artifacts/contracts/mockXAsset/interface/ICollateralizable.sol/ICollateralizable.json +234 -0
  612. package/flare/artifacts/contracts/token/implementation/CheckPointable.sol/CheckPointable.json +142 -0
  613. package/flare/artifacts/contracts/token/implementation/CleanupBlockNumberManager.sol/CleanupBlockNumberManager.json +389 -0
  614. package/flare/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +235 -0
  615. package/flare/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +324 -0
  616. package/flare/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +798 -0
  617. package/flare/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +1264 -0
  618. package/flare/artifacts/contracts/token/implementation/WNat.sol/WNat.json +1357 -0
  619. package/flare/artifacts/contracts/token/interface/IICleanable.sol/IICleanable.json +50 -0
  620. package/flare/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +252 -0
  621. package/flare/artifacts/contracts/token/interface/IIVPContract.sol/IIVPContract.json +620 -0
  622. package/flare/artifacts/contracts/token/interface/IIVPToken.sol/IIVPToken.json +832 -0
  623. package/flare/artifacts/contracts/token/lib/CheckPointHistory.sol/CheckPointHistory.json +10 -0
  624. package/flare/artifacts/contracts/token/lib/CheckPointHistoryCache.sol/CheckPointHistoryCache.json +10 -0
  625. package/flare/artifacts/contracts/token/lib/CheckPointsByAddress.sol/CheckPointsByAddress.json +10 -0
  626. package/flare/artifacts/contracts/token/lib/DelegateCheckPointHistory.sol/DelegateCheckPointHistory.json +10 -0
  627. package/flare/artifacts/contracts/token/lib/DelegateCheckPointsByAddress.sol/DelegateCheckPointsByAddress.json +10 -0
  628. package/flare/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +24 -0
  629. package/flare/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +10 -0
  630. package/flare/artifacts/contracts/token/lib/IICombinedNatBalance.sol/IICombinedNatBalance.json +54 -0
  631. package/flare/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +24 -0
  632. package/flare/artifacts/contracts/token/lib/VotePower.sol/VotePower.json +10 -0
  633. package/flare/artifacts/contracts/token/lib/VotePowerCache.sol/VotePowerCache.json +10 -0
  634. package/flare/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +741 -0
  635. package/flare/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +1038 -0
  636. package/flare/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +769 -0
  637. package/flare/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +1412 -0
  638. package/flare/artifacts/contracts/tokenPools/implementation/GenericRewardManager.sol/GenericRewardManager.json +720 -0
  639. package/flare/artifacts/contracts/tokenPools/implementation/IncentivePool.sol/IncentivePool.json +927 -0
  640. package/flare/artifacts/contracts/tokenPools/implementation/IncentivePoolAllocation.sol/IncentivePoolAllocation.json +463 -0
  641. package/flare/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +741 -0
  642. package/flare/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +962 -0
  643. package/flare/artifacts/contracts/tokenPools/interface/IIGenericRewardManager.sol/IIGenericRewardManager.json +413 -0
  644. package/flare/artifacts/contracts/tokenPools/interface/IIIncentivePoolAllocation.sol/IIIncentivePoolAllocation.json +49 -0
  645. package/flare/artifacts/contracts/tokenPools/interface/IIIncentivePoolPercentageProvider.sol/IIIncentivePoolPercentageProvider.json +24 -0
  646. package/flare/artifacts/contracts/tokenPools/interface/IIIncentivePoolReceiver.sol/IIIncentivePoolReceiver.json +57 -0
  647. package/flare/artifacts/contracts/tokenPools/interface/IIIncentivePoolSharingPercentageProvider.sol/IIIncentivePoolSharingPercentageProvider.json +36 -0
  648. package/flare/artifacts/contracts/tokenPools/interface/IITokenPool.sol/IITokenPool.json +34 -0
  649. package/flare/artifacts/contracts/tokenPools/lib/DataProviderFee.sol/DataProviderFee.json +10 -0
  650. package/flare/artifacts/contracts/tokenPools/lib/IncentivePoolAnnum.sol/IncentivePoolAnnum.json +10 -0
  651. package/flare/artifacts/contracts/tokenPools/lib/IncentivePoolAnnums.sol/IncentivePoolAnnums.json +10 -0
  652. package/flare/artifacts/contracts/tokenPools/lib/IncentivePoolRewardService.sol/IncentivePoolRewardService.json +30 -0
  653. package/flare/artifacts/contracts/tokenPools/lib/IncentivePoolRewardServices.sol/IncentivePoolRewardServices.json +49 -0
  654. package/flare/artifacts/contracts/userInterfaces/IClaimSetupManager.sol/IClaimSetupManager.json +665 -0
  655. package/flare/artifacts/contracts/userInterfaces/IDelegationAccount.sol/IDelegationAccount.json +144 -0
  656. package/flare/artifacts/contracts/userInterfaces/IDistributionToDelegators.sol/IDistributionToDelegators.json +258 -0
  657. package/flare/artifacts/contracts/userInterfaces/IFlareAssetRegistry.sol/IFlareAssetRegistry.json +241 -0
  658. package/flare/artifacts/contracts/userInterfaces/IFlareContractRegistry.sol/IFlareContractRegistry.json +105 -0
  659. package/flare/artifacts/contracts/userInterfaces/IFtso.sol/IFtso.json +475 -0
  660. package/flare/artifacts/contracts/userInterfaces/IFtsoManager.sol/IFtsoManager.json +376 -0
  661. package/flare/artifacts/contracts/userInterfaces/IFtsoRegistry.sol/IFtsoRegistry.json +445 -0
  662. package/flare/artifacts/contracts/userInterfaces/IFtsoRewardManager.sol/IFtsoRewardManager.json +702 -0
  663. package/flare/artifacts/contracts/userInterfaces/IGenericRewardManager.sol/IGenericRewardManager.json +248 -0
  664. package/flare/artifacts/contracts/userInterfaces/IGovernanceSettings.sol/IGovernanceSettings.json +69 -0
  665. package/flare/artifacts/contracts/userInterfaces/IGovernanceVotePower.sol/IGovernanceVotePower.json +117 -0
  666. package/flare/artifacts/contracts/userInterfaces/IGovernor.sol/IGovernor.json +484 -0
  667. package/flare/artifacts/contracts/userInterfaces/IPollingFtso.sol/IPollingFtso.json +639 -0
  668. package/flare/artifacts/contracts/userInterfaces/IPriceSubmitter.sol/IPriceSubmitter.json +221 -0
  669. package/flare/artifacts/contracts/userInterfaces/IVPContractEvents.sol/IVPContractEvents.json +73 -0
  670. package/flare/artifacts/contracts/userInterfaces/IVPToken.sol/IVPToken.json +700 -0
  671. package/flare/artifacts/contracts/userInterfaces/IValidatorRegistry.sol/IValidatorRegistry.json +136 -0
  672. package/flare/artifacts/contracts/userInterfaces/IVoterWhitelister.sol/IVoterWhitelister.json +199 -0
  673. package/flare/artifacts/contracts/userInterfaces/IWNat.sol/IWNat.json +62 -0
  674. package/flare/artifacts/contracts/utils/implementation/AddressSet.sol/AddressSet.json +10 -0
  675. package/flare/artifacts/contracts/utils/implementation/DateTimeLibrary.sol/BokkyPooBahsDateTimeLibrary.json +154 -0
  676. package/flare/artifacts/contracts/utils/implementation/FlareContractRegistry.sol/FlareContractRegistry.json +147 -0
  677. package/flare/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +769 -0
  678. package/flare/artifacts/contracts/utils/implementation/FtsoRegistryProxy.sol/FtsoRegistryProxy.json +272 -0
  679. package/flare/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +384 -0
  680. package/flare/artifacts/contracts/utils/implementation/FundDistributor.sol/FundDistributor.json +71 -0
  681. package/flare/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +238 -0
  682. package/flare/artifacts/contracts/utils/implementation/ProxyGoverned.sol/ProxyGoverned.json +256 -0
  683. package/flare/artifacts/contracts/utils/implementation/RevertErrorTracking.sol/RevertErrorTracking.json +131 -0
  684. package/flare/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +10 -0
  685. package/flare/artifacts/contracts/utils/implementation/ValidatorRegistry.sol/ValidatorRegistry.json +149 -0
  686. package/flare/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +653 -0
  687. package/flare/artifacts/contracts/utils/interface/IIFtsoRegistry.sol/IIFtsoRegistry.json +477 -0
  688. package/flare/artifacts/contracts/utils/interface/IIRandomProvider.sol/IIRandomProvider.json +60 -0
  689. package/flare/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +308 -0
  690. package/flare/artifacts/contracts/utils/interface/IUpdateValidators.sol/IUpdateValidators.json +18 -0
  691. package/flare/deploys/contracts.json +252 -0
  692. package/package.json +22 -27
  693. package/songbird/README.md +7 -0
  694. package/songbird/artifacts/contracts/addressUpdater/implementation/AddressUpdatable.sol/AddressUpdatable.json +42 -0
  695. package/songbird/artifacts/contracts/addressUpdater/implementation/AddressUpdater.sol/AddressUpdater.json +381 -0
  696. package/songbird/artifacts/contracts/addressUpdater/interface/IIAddressUpdatable.sol/IIAddressUpdatable.json +29 -0
  697. package/songbird/artifacts/contracts/addressUpdater/interface/IIAddressUpdater.sol/IIAddressUpdater.json +105 -0
  698. package/songbird/artifacts/contracts/assetRegistry/implementation/FlareAssetRegistry.sol/FlareAssetRegistry.json +525 -0
  699. package/songbird/artifacts/contracts/assetRegistry/implementation/WNatRegistryProvider.sol/WNatRegistryProvider.json +113 -0
  700. package/songbird/artifacts/contracts/assetRegistry/interface/IIERC20WithMetadata.sol/IIERC20WithMetadata.json +233 -0
  701. package/songbird/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistry.sol/IIFlareAssetRegistry.json +316 -0
  702. package/songbird/artifacts/contracts/assetRegistry/interface/IIFlareAssetRegistryProvider.sol/IIFlareAssetRegistryProvider.json +66 -0
  703. package/songbird/artifacts/contracts/assetRegistry/lib/StandardAttributes.sol/StandardAttributes.json +10 -0
  704. package/songbird/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +1151 -0
  705. package/songbird/artifacts/contracts/claiming/implementation/CloneFactory.sol/CloneFactory.json +10 -0
  706. package/songbird/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +346 -0
  707. package/songbird/artifacts/contracts/claiming/interface/IIClaimSetupManager.sol/IIClaimSetupManager.json +795 -0
  708. package/songbird/artifacts/contracts/claiming/interface/IIDelegationAccount.sol/IIDelegationAccount.json +316 -0
  709. package/songbird/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +1104 -0
  710. package/songbird/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +1723 -0
  711. package/songbird/artifacts/contracts/ftso/interface/IIFtso.sol/IIFtso.json +953 -0
  712. package/songbird/artifacts/contracts/ftso/interface/IIFtsoManager.sol/IIFtsoManager.json +878 -0
  713. package/songbird/artifacts/contracts/ftso/interface/IIFtsoManagerV1.sol/IIFtsoManagerV1.json +102 -0
  714. package/songbird/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +10 -0
  715. package/songbird/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +43 -0
  716. package/songbird/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +10 -0
  717. package/songbird/artifacts/contracts/ftso/lib/FtsoMedian.sol/FtsoMedian.json +10 -0
  718. package/songbird/artifacts/contracts/ftso/lib/FtsoVote.sol/FtsoVote.json +10 -0
  719. package/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +624 -0
  720. package/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +241 -0
  721. package/songbird/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +236 -0
  722. package/songbird/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +1048 -0
  723. package/songbird/artifacts/contracts/genesis/implementation/FlareDaemon.sol/FlareDaemon.json +676 -0
  724. package/songbird/artifacts/contracts/genesis/implementation/GovernanceSettings.sol/GovernanceSettings.json +224 -0
  725. package/songbird/artifacts/contracts/genesis/implementation/PriceSubmitter.sol/PriceSubmitter.json +407 -0
  726. package/songbird/artifacts/contracts/genesis/implementation/StateConnector.sol/StateConnector.json +324 -0
  727. package/songbird/artifacts/contracts/genesis/interface/IFlareDaemonize.sol/IFlareDaemonize.json +37 -0
  728. package/songbird/artifacts/contracts/genesis/interface/IFtsoGenesis.sol/IFtsoGenesis.json +91 -0
  729. package/songbird/artifacts/contracts/genesis/interface/IFtsoManagerGenesis.sol/IFtsoManagerGenesis.json +24 -0
  730. package/songbird/artifacts/contracts/genesis/interface/IFtsoRegistryGenesis.sol/IFtsoRegistryGenesis.json +30 -0
  731. package/songbird/artifacts/contracts/genesis/interface/IIPriceSubmitter.sol/IIPriceSubmitter.json +285 -0
  732. package/songbird/artifacts/contracts/genesis/interface/IInflationGenesis.sol/IInflationGenesis.json +18 -0
  733. package/songbird/artifacts/contracts/governance/implementation/Governed.sol/Governed.json +126 -0
  734. package/songbird/artifacts/contracts/governance/implementation/GovernedAtGenesis.sol/GovernedAtGenesis.json +139 -0
  735. package/songbird/artifacts/contracts/governance/implementation/GovernedBase.sol/GovernedBase.json +115 -0
  736. package/songbird/artifacts/contracts/governance/implementation/GovernedBaseV2.sol/GovernedBaseV2.json +209 -0
  737. package/songbird/artifacts/contracts/governance/implementation/GovernedV2.sol/GovernedV2.json +220 -0
  738. package/songbird/artifacts/contracts/governance/implementation/Governor.sol/Governor.json +653 -0
  739. package/songbird/artifacts/contracts/governance/implementation/GovernorProposals.sol/GovernorProposals.json +24 -0
  740. package/songbird/artifacts/contracts/governance/implementation/GovernorProposer.sol/GovernorProposer.json +265 -0
  741. package/songbird/artifacts/contracts/governance/implementation/GovernorVotePower.sol/GovernorVotePower.json +24 -0
  742. package/songbird/artifacts/contracts/governance/implementation/GovernorVotes.sol/GovernorVotes.json +10 -0
  743. package/songbird/artifacts/contracts/governance/implementation/InflationAllocation.sol/InflationAllocation.json +351 -0
  744. package/songbird/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +1065 -0
  745. package/songbird/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +1187 -0
  746. package/songbird/artifacts/contracts/governance/interface/IIGovernorProposer.sol/IIGovernorProposer.json +30 -0
  747. package/songbird/artifacts/contracts/governance/interface/IIPollingFoundation.sol/IIPollingFoundation.json +640 -0
  748. package/songbird/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +879 -0
  749. package/songbird/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +403 -0
  750. package/songbird/artifacts/contracts/inflation/interface/IIInflationPercentageProvider.sol/IIInflationPercentageProvider.json +24 -0
  751. package/songbird/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +44 -0
  752. package/songbird/artifacts/contracts/inflation/interface/IIInflationSharingPercentageProvider.sol/IIInflationSharingPercentageProvider.json +36 -0
  753. package/songbird/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +88 -0
  754. package/songbird/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +10 -0
  755. package/songbird/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +10 -0
  756. package/songbird/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +30 -0
  757. package/songbird/artifacts/contracts/inflation/lib/RewardServices.sol/RewardServices.json +49 -0
  758. package/songbird/artifacts/contracts/mockXAsset/interface/ICollateralizable.sol/ICollateralizable.json +234 -0
  759. package/songbird/artifacts/contracts/token/implementation/CheckPointable.sol/CheckPointable.json +129 -0
  760. package/songbird/artifacts/contracts/token/implementation/CleanupBlockNumberManager.sol/CleanupBlockNumberManager.json +389 -0
  761. package/songbird/artifacts/contracts/token/implementation/Delegatable.sol/Delegatable.json +222 -0
  762. package/songbird/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +324 -0
  763. package/songbird/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +774 -0
  764. package/songbird/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +1102 -0
  765. package/songbird/artifacts/contracts/token/implementation/WNat.sol/WNat.json +1195 -0
  766. package/songbird/artifacts/contracts/token/interface/IICleanable.sol/IICleanable.json +63 -0
  767. package/songbird/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +252 -0
  768. package/songbird/artifacts/contracts/token/interface/IIVPContract.sol/IIVPContract.json +609 -0
  769. package/songbird/artifacts/contracts/token/interface/IIVPToken.sol/IIVPToken.json +790 -0
  770. package/songbird/artifacts/contracts/token/lib/CheckPointHistory.sol/CheckPointHistory.json +10 -0
  771. package/songbird/artifacts/contracts/token/lib/CheckPointHistoryCache.sol/CheckPointHistoryCache.json +10 -0
  772. package/songbird/artifacts/contracts/token/lib/CheckPointsByAddress.sol/CheckPointsByAddress.json +10 -0
  773. package/songbird/artifacts/contracts/token/lib/DelegateCheckPointHistory.sol/DelegateCheckPointHistory.json +10 -0
  774. package/songbird/artifacts/contracts/token/lib/DelegateCheckPointsByAddress.sol/DelegateCheckPointsByAddress.json +10 -0
  775. package/songbird/artifacts/contracts/token/lib/DelegationHistory.sol/DelegationHistory.json +24 -0
  776. package/songbird/artifacts/contracts/token/lib/ExplicitDelegation.sol/ExplicitDelegation.json +10 -0
  777. package/songbird/artifacts/contracts/token/lib/PercentageDelegation.sol/PercentageDelegation.json +24 -0
  778. package/songbird/artifacts/contracts/token/lib/VotePower.sol/VotePower.json +10 -0
  779. package/songbird/artifacts/contracts/token/lib/VotePowerCache.sol/VotePowerCache.json +10 -0
  780. package/songbird/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +1412 -0
  781. package/songbird/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +949 -0
  782. package/songbird/artifacts/contracts/tokenPools/interface/IITokenPool.sol/IITokenPool.json +34 -0
  783. package/songbird/artifacts/contracts/tokenPools/lib/DataProviderFee.sol/DataProviderFee.json +10 -0
  784. package/songbird/artifacts/contracts/userInterfaces/IClaimSetupManager.sol/IClaimSetupManager.json +665 -0
  785. package/songbird/artifacts/contracts/userInterfaces/IDelegationAccount.sol/IDelegationAccount.json +144 -0
  786. package/songbird/artifacts/contracts/userInterfaces/IFlareAssetRegistry.sol/IFlareAssetRegistry.json +241 -0
  787. package/songbird/artifacts/contracts/userInterfaces/IFlareContractRegistry.sol/IFlareContractRegistry.json +105 -0
  788. package/songbird/artifacts/contracts/userInterfaces/IFtso.sol/IFtso.json +512 -0
  789. package/songbird/artifacts/contracts/userInterfaces/IFtsoManager.sol/IFtsoManager.json +376 -0
  790. package/songbird/artifacts/contracts/userInterfaces/IFtsoRegistry.sol/IFtsoRegistry.json +445 -0
  791. package/songbird/artifacts/contracts/userInterfaces/IFtsoRewardManager.sol/IFtsoRewardManager.json +702 -0
  792. package/songbird/artifacts/contracts/userInterfaces/IGovernanceSettings.sol/IGovernanceSettings.json +69 -0
  793. package/songbird/artifacts/contracts/userInterfaces/IGovernanceVotePower.sol/IGovernanceVotePower.json +117 -0
  794. package/songbird/artifacts/contracts/userInterfaces/IGovernor.sol/IGovernor.json +484 -0
  795. package/songbird/artifacts/contracts/userInterfaces/IPollingFtso.sol/IPollingFtso.json +639 -0
  796. package/songbird/artifacts/contracts/userInterfaces/IPriceSubmitter.sol/IPriceSubmitter.json +200 -0
  797. package/songbird/artifacts/contracts/userInterfaces/IVPContractEvents.sol/IVPContractEvents.json +73 -0
  798. package/songbird/artifacts/contracts/userInterfaces/IVPToken.sol/IVPToken.json +658 -0
  799. package/songbird/artifacts/contracts/userInterfaces/IVoterWhitelister.sol/IVoterWhitelister.json +199 -0
  800. package/songbird/artifacts/contracts/userInterfaces/IWNat.sol/IWNat.json +62 -0
  801. package/songbird/artifacts/contracts/utils/implementation/AddressSet.sol/AddressSet.json +10 -0
  802. package/songbird/artifacts/contracts/utils/implementation/DateTimeLibrary.sol/BokkyPooBahsDateTimeLibrary.json +154 -0
  803. package/songbird/artifacts/contracts/utils/implementation/FlareContractRegistry.sol/FlareContractRegistry.json +147 -0
  804. package/songbird/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +769 -0
  805. package/songbird/artifacts/contracts/utils/implementation/FtsoRegistryProxy.sol/FtsoRegistryProxy.json +272 -0
  806. package/songbird/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +440 -0
  807. package/songbird/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonized.sol/GovernedAndFlareDaemonized.json +144 -0
  808. package/songbird/artifacts/contracts/utils/implementation/GovernedAndFlareDaemonizedV2.sol/GovernedAndFlareDaemonizedV2.json +238 -0
  809. package/songbird/artifacts/contracts/utils/implementation/ProxyGoverned.sol/ProxyGoverned.json +256 -0
  810. package/songbird/artifacts/contracts/utils/implementation/RevertErrorTracking.sol/RevertErrorTracking.json +131 -0
  811. package/songbird/artifacts/contracts/utils/implementation/SafePct.sol/SafePct.json +10 -0
  812. package/songbird/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +653 -0
  813. package/songbird/artifacts/contracts/utils/interface/IIFtsoRegistry.sol/IIFtsoRegistry.json +477 -0
  814. package/songbird/artifacts/contracts/utils/interface/IIFtsoRegistryV1.sol/IIFtsoRegistryV1.json +120 -0
  815. package/songbird/artifacts/contracts/utils/interface/IIRandomProvider.sol/IIRandomProvider.json +60 -0
  816. package/songbird/artifacts/contracts/utils/interface/IIVoterWhitelister.sol/IIVoterWhitelister.json +308 -0
  817. package/songbird/artifacts/contracts/utils/interface/IUpdateValidators.sol/IUpdateValidators.json +18 -0
  818. package/songbird/deploys/contracts.json +202 -0
  819. package/dist/coston/abis.coston.d.ts +0 -4
  820. package/dist/coston/abis.coston.d.ts.map +0 -1
  821. package/dist/coston/abis.coston.js.map +0 -1
  822. package/dist/coston/artifacts/contracts/governance/implementation/InflationAllocation.sol/InflationAllocation.json +0 -351
  823. package/dist/coston/artifacts/contracts/inflation/interface/IIInflationPercentageProvider.sol/IIInflationPercentageProvider.json +0 -24
  824. package/dist/coston/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +0 -10
  825. package/dist/coston/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +0 -10
  826. package/dist/coston/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +0 -30
  827. package/dist/coston/artifacts/contracts/tokenPools/implementation/Distribution.sol/Distribution.json +0 -414
  828. package/dist/coston/artifacts/contracts/tokenPools/interface/IIFtsoRewardManagerV2.sol/IIFtsoRewardManagerV2.json +0 -949
  829. package/dist/coston/deploys/contractAddresses.d.ts.map +0 -1
  830. package/dist/coston/deploys/contractAddresses.js.map +0 -1
  831. package/dist/coston2/abis.coston2.d.ts +0 -4
  832. package/dist/coston2/abis.coston2.d.ts.map +0 -1
  833. package/dist/coston2/abis.coston2.js.map +0 -1
  834. package/dist/coston2/deploys/contractAddresses.d.ts.map +0 -1
  835. package/dist/coston2/deploys/contractAddresses.js.map +0 -1
  836. package/dist/flare/abis.flare.d.ts +0 -4
  837. package/dist/flare/abis.flare.d.ts.map +0 -1
  838. package/dist/flare/abis.flare.js.map +0 -1
  839. package/dist/flare/deploys/contractAddresses.d.ts.map +0 -1
  840. package/dist/flare/deploys/contractAddresses.js.map +0 -1
  841. package/dist/package.json +0 -28
  842. package/dist/songbird/abis.songbird.d.ts +0 -4
  843. package/dist/songbird/abis.songbird.d.ts.map +0 -1
  844. package/dist/songbird/abis.songbird.js.map +0 -1
  845. package/dist/songbird/artifacts/contracts/tokenPools/implementation/Distribution.sol/Distribution.json +0 -414
  846. package/dist/songbird/artifacts/contracts/tokenPools/interface/IIFtsoRewardManagerV2.sol/IIFtsoRewardManagerV2.json +0 -949
  847. package/dist/songbird/deploys/contractAddresses.d.ts.map +0 -1
  848. package/dist/songbird/deploys/contractAddresses.js.map +0 -1
@@ -919,8 +919,8 @@
919
919
  "type": "function"
920
920
  }
921
921
  ],
922
- "bytecode": "0x60c06040523480156200001157600080fd5b50604051620038fa380380620038fa833981016040819052620000349162000206565b81848481806001600160a01b03811615620000545762000054816200011f565b506001600160a01b038116620000a4576040805162461bcd60e51b815260206004820152601060248201526f5f676f7665726e616e6365207a65726f60801b604482015290519081900360640190fd5b506001600160a01b038116620000f5576040805162461bcd60e51b8152602060048201526011602482015270666c617265206461656d6f6e207a65726f60781b604482015290519081900360640190fd5b60601b6001600160601b031916608052506200011181620001e2565b5060a0525062000278915050565b600054600160a01b900460ff16156200017f576040805162461bcd60e51b815260206004820152601460248201527f696e697469616c6973656420213d2066616c7365000000000000000000000000604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b600080600080608085870312156200021c578384fd5b845162000229816200025f565b60208601519094506200023c816200025f565b60408601519093506200024f816200025f565b6060959095015193969295505050565b6001600160a01b03811681146200027557600080fd5b50565b60805160601c60a051613642620002b860003980610b5d5280611274525080610af55280610df052806111a552806113bb528061151152506136426000f3fe60806040526004361061019c5760003560e01c80639d6a890f116100ec578063e17f212e1161008a578063f5a9838311610064578063f5a9838314610430578063f5f5ba7214610445578063f639c12c14610467578063f64cee611461047c5761019c565b8063e17f212e146103f1578063e22fdece14610406578063f3f8dcf91461041b5761019c565b8063b8cca0cf116100c6578063b8cca0cf1461039d578063c39049e4146103b2578063c611c2c5146103d4578063c9d3dc87146103dc5761019c565b80639d6a890f14610348578063a107753214610368578063b00c0b761461037d5761019c565b806362354e03116101595780636e61ab96116101335780636e61ab96146102be57806372993615146102de57806374e6310e146102f357806384e10a90146103215761019c565b806362354e031461026757806367fc40291461027c5780636d0e8c341461029c5761019c565b8063047fc9aa146101a157806333ed77cc146101cc5780634b13e872146101ee5780635267a15d1461021b5780635aa6e675146102305780635ff2707914610245575b600080fd5b3480156101ad57600080fd5b506101b661049c565b6040516101c39190613241565b60405180910390f35b3480156101d857600080fd5b506101e16104ab565b6040516101c391906133e4565b3480156101fa57600080fd5b5061020e610209366004612f46565b6104b1565b6040516101c39190613381565b34801561022757600080fd5b506101b6610595565b34801561023c57600080fd5b506101b66105ba565b34801561025157600080fd5b506102656102603660046130ea565b610650565b005b34801561027357600080fd5b506101b66109a5565b34801561028857600080fd5b506102656102973660046130ea565b6109b0565b3480156102a857600080fd5b506102b1610a98565b6040516101c39190613255565b3480156102ca57600080fd5b506102656102d9366004613112565b610eb9565b3480156102ea57600080fd5b506101e1611020565b3480156102ff57600080fd5b5061031361030e3660046130ea565b611026565b6040516101c39291906133ed565b34801561032d57600080fd5b506103366110cc565b6040516101c39695949392919061341c565b34801561035457600080fd5b50610265610363366004612f46565b6110ea565b34801561037457600080fd5b506101b66111a3565b34801561038957600080fd5b50610265610398366004612f62565b6111c7565b3480156103a957600080fd5b506101e1611272565b3480156103be57600080fd5b506103c7611296565b6040516101c391906132a6565b6102656113b0565b3480156103e857600080fd5b506101e16114ee565b3480156103fd57600080fd5b506102b16114f4565b34801561041257600080fd5b506102b1611504565b34801561042757600080fd5b506101b661157d565b34801561043c57600080fd5b5061026561158c565b34801561045157600080fd5b5061045a611646565b6040516101c39190613293565b34801561047357600080fd5b506101e1611669565b34801561048857600080fd5b506103c76104973660046131b8565b61167c565b6003546001600160a01b031681565b600e5481565b6104b9612d76565b60408051808201909152600c81526b06164647265737320697320360a41b602082015282906001600160a01b03821661050e5760405162461bcd60e51b81526004016105059190613293565b60405180910390fd5b506001600160a01b0383166000908152600c60205260409020600281015460ff1661055557805460ff19908116825560786001808401919091556002830180549092161790555b8054839060ff16600181111561056757fe5b9081600181111561057457fe5b905250600181015460208401526002015460ff161515604083015250919050565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e77195490565b60008054600160a81b900460ff166105dd576000546001600160a01b031661064a565b60076001609c1b016001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b15801561061d57600080fd5b505afa158015610631573d6000803e3d6000fd5b505050506040513d602081101561064757600080fd5b50515b90505b90565b60408051630debfda360e41b8152336004820152905160076001609c1b019163debfda30916024808301926020929190829003018186803b15801561069457600080fd5b505afa1580156106a8573d6000803e3d6000fd5b505050506040513d60208110156106be57600080fd5b5051610701576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b031981166000908152600160205260409020805461076d576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b80544210156107c3576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561085d5780601f106108325761010080835404028352916020019161085d565b820191906000526020600020905b81548152906001019060200180831161084057829003601f168201915b5050506001600160e01b03198616600090815260016020819052604082208281559495509092506108919150830182612d98565b50506000805460ff60b01b1916600160b01b178155604051825130918491819060208401908083835b602083106108d95780518252601f1990920191602091820191016108ba565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461093b576040519150601f19603f3d011682016040523d82523d6000602084013e610940565b606091505b50506000805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a161099f81611798565b50505050565b60076001609c1b0181565b6109b86117b5565b6001600160e01b03198116600090815260016020526040902054610a23576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b03198116600090815260016020819052604082208281559190610a9390830182612d98565b505050565b60035460408051808201909152600c81526b06164647265737320697320360a41b60208201526000916001600160a01b03169081610ae95760405162461bcd60e51b81526004016105059190613293565b50336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b5b576040805162461bcd60e51b815260206004820152601160248201527037b7363c90333630b932903230b2b6b7b760791b604482015290519081900360640190fd5b7f0000000000000000000000000000000000000000000000000000000000000000421015610b8c5760019150610eb5565b600e54610b985742600e555b610ba26004611816565b610bb457610baf4261181a565b610be3565b6000610bc06004611b65565b60020154905080421115610be157610be1610bdc826001611bda565b61181a565b505b600b544290610bf59062015180611bda565b11610eb05742600b819055506000610c9c42600260009054906101000a90046001600160a01b03166001600160a01b031663c853b8d46040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610c5757600080fd5b505af1158015610c6b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c939190810190613019565b60049190611c3d565b90507fe69ea09c0c2d88b5a023a23e65e8ffeb65667d6b7b4076cbee9ba25f5450235581604051610ccd91906133e4565b60405180910390a1600354604051630512107160e51b81526001600160a01b039091169063a2420e2090610d059084906004016133e4565b600060405180830381600087803b158015610d1f57600080fd5b505af1925050508015610d30575060015b610d9357610d3c6134c2565b80610d475750610d61565b8060405162461bcd60e51b81526004016105059190613293565b6040518060600160405280603c81526020016135d1603c913960405162461bcd60e51b81526004016105059190613293565b6000610da0600430611c9f565b90507f1f0936062e6ce780790714a1ec5787d290675660a8566059ac9d6cfb2a336eec81604051610dd191906133e4565b60405180910390a160405163074ef3eb60e51b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e9de7d6090610e259084906004016133e4565b600060405180830381600087803b158015610e3f57600080fd5b505af1925050508015610e50575060015b610ead57610e5c6134c2565b80610d475750604080518082018252601d81527f756e6b6e6f776e206572726f722e20726571756573744d696e74696e670000006020820152905162461bcd60e51b81526105059190600401613293565b50505b600191505b5090565b60408051808201909152600c81526b06164647265737320697320360a41b602082015283906001600160a01b038216610f055760405162461bcd60e51b81526004016105059190613293565b50600054600160b01b900460ff1680610f285750600054600160a81b900460ff16155b1561101557610f35611ce7565b6000836001811115610f4357fe5b1415610f8c57604080518082019091526009815268746f707570206c6f7760b81b602082015260648311610f8a5760405162461bcd60e51b81526004016105059190613293565b505b6001600160a01b0384166000908152600c6020526040902080548490829060ff191660018381811115610fbb57fe5b0217905550600180820184905560028201805460ff191690911790556040517fcf085312d79a75faa5f1b9f6bec58a64813338f5e5e5759573cab22c6da2d25b906110079083906133b0565b60405180910390a15061099f565b61099f600036611d1c565b600d5481565b600160208181526000928352604092839020805481840180548651600296821615610100026000190190911695909504601f810185900485028601850190965285855290949193929091908301828280156110c25780601f10611097576101008083540402835291602001916110c2565b820191906000526020600020905b8154815290600101906020018083116110a557829003601f168201915b5050505050905082565b600754600854600954600a54600654600d5494959394929391929091565b600054600160a01b900460ff1615611140576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b7f000000000000000000000000000000000000000000000000000000000000000081565b6111cf610595565b6001600160a01b0316336001600160a01b03161461122b576040805162461bcd60e51b815260206004820152601460248201527337b7363c9030b2323932b9b9903ab83230ba32b960611b604482015290519081900360640190fd5b61126461125f83836040518060400160405280600e81526020016d20b2323932b9b9aab83230ba32b960911b815250611e9f565b611fce565b61126e8282611ff2565b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b61129e612ddc565b6112a86004611b65565b604051806080016040529081600082015481526020016001820154815260200160028201548152602001600382016040518060a001604052908160008201805480602002602001604051908101604052809291908181526020016000905b828210156113775760008481526020908190206040805160c0810182526006860290920180546001600160a01b031683526001808201548486015260028201549284019290925260038101546060840152600481015460808401526005015460a08301529083529092019101611306565b50505050815260200160018201548152602001600282015481526020016003820154815260200160048201548152505081525050905090565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611421576040805162461bcd60e51b815260206004820152601160248201527037b7363c90333630b932903230b2b6b7b760791b604482015290519081900360640190fd5b600061142d6004612105565b9050600061143961216e565b90506000611447478361218f565b9050801561146057600d5461145c9082611bda565b600d555b7f992ba5c7b7d6602101783b4d28d0b93011fb883039e68c729b933bf711678627838260405161149192919061340e565b60405180910390a1505050476114a561216e565b146040518060400160405280600e81526020016d6f7574206f662062616c616e636560901b815250906114eb5760405162461bcd60e51b81526004016105059190613293565b50565b600b5481565b600054600160a81b900460ff1681565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611577576040805162461bcd60e51b815260206004820152601160248201527037b7363c90333630b932903230b2b6b7b760791b604482015290519081900360640190fd5b50600090565b6002546001600160a01b031681565b6115946117b5565b600054600160a81b900460ff16156115f3576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b60008054600161ff0160a01b031916600160a81b1790556040805160076001609c1b01815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b60408051808201909152600981526824b7333630ba34b7b760b91b602082015290565b600b5460009061064a9062015180611bda565b611684612ddc565b61168f6004836121ec565b604051806080016040529081600082015481526020016001820154815260200160028201548152602001600382016040518060a001604052908160008201805480602002602001604051908101604052809291908181526020016000905b8282101561175e5760008481526020908190206040805160c0810182526006860290920180546001600160a01b031683526001808201548486015260028201549284019290925260038101546060840152600481015460808401526005015460a083015290835290920191016116ed565b5050509082525060018201546020820152600282015460408201526003820154606082015260049091015460809091015290525092915050565b3d604051818101604052816000823e82156117b1578181f35b8181fd5b6117bd6105ba565b6001600160a01b0316336001600160a01b031614611814576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b565b5490565b600360009054906101000a90046001600160a01b03166001600160a01b0316633c8c461c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561186a57600080fd5b505af115801561187e573d6000803e3d6000fd5b505050506000600360009054906101000a90046001600160a01b03166001600160a01b0316631b73b4cb6040518163ffffffff1660e01b815260040160206040518083038186803b1580156118d257600080fd5b505afa1580156118e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061190a91906131d0565b9050600260009054906101000a90046001600160a01b03166001600160a01b031663981940296040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561195c57600080fd5b505af192505050801561198c575060408051601f3d908101601f19168201909252611989918101906131d0565b60015b6119d0576119986134c2565b80610d47575060405180606001604052806026815260200161358a6026913960405162461bcd60e51b81526004016105059190613293565b6119dd600484848461225e565b5060006119ea6004611b65565b604051806080016040529081600082015481526020016001820154815260200160028201548152602001600382016040518060a001604052908160008201805480602002602001604051908101604052809291908181526020016000905b82821015611ab95760008481526020908190206040805160c0810182526006860290920180546001600160a01b031683526001808201548486015260028201549284019290925260038101546060840152600481015460808401526005015460a08301529083529092019101611a48565b5050505081526020016001820154815260200160028201548152602001600382015481526020016004820154815250508152505090507f677db469fe5eaf40f0415f5433ebc8ebe9ac089662feca0280495fb4c96da29181602001518260400151848460000151856060015160200151866060015160400151876060015160600151886060015160800151604051611b58989796959493929190613444565b60405180910390a1505050565b600080611b7183611816565b11604051806040016040528060088152602001676e6f20616e6e756d60c01b81525090611bb15760405162461bcd60e51b81526004016105059190613293565b5081600001826001015481548110611bc557fe5b90600052602060002090600802019050919050565b600082820183811015611c34576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b600080611c4985611b65565b60028601546003870154919250611c7191611c64848861231e565b600385019291908761233d565b6003860154909250611c839083611bda565b6003860181905560028601541015611c9757fe5b509392505050565b600080611cab84611b65565b9050611cba600382018461258e565b6004850154909250611ccc9083611bda565b6004850181905560038501541015611ce057fe5b5092915050565b600054600160b01b900460ff1615611d1457333014611d0257fe5b6000805460ff60b01b19169055611814565b6118146117b5565b611d246117b5565b600082359050600060076001609c1b016001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b158015611d6c57600080fd5b505afa158015611d80573d6000803e3d6000fd5b505050506040513d6020811015611d9657600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b03198616815260016020818152604090922084518155848301518051919450611e1a93928501920190612e09565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b600080826040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015611ee3578181015183820152602001611ecb565b50505050905090810190601f168015611f105780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012090506000805b8651811015611f7857868181518110611f4657fe5b6020026020010151831415611f7057858181518110611f6157fe5b60200260200101519150611f78565b600101611f31565b506001600160a01b038116611fc3576040805162461bcd60e51b815260206004820152600c60248201526b61646472657373207a65726f60a01b604482015290519081900360640190fd5b9150505b9392505050565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b600061201d838360405180604001604052806006815260200165537570706c7960d01b815250611e9f565b6003546040519192507f9a9b245c8db671c90d6db95f7ff0c18c15378a1d55ee4aea21759be8ad27d30e9161205d916001600160a01b0316908490613279565b60405180910390a1600380546001600160a01b0319166001600160a01b03831617905560408051808201909152601381527224b7333630ba34b7b720b63637b1b0ba34b7b760691b60208201526120b79084908490611e9f565b600280546001600160a01b0319166001600160a01b0392831617908190556040517f53cd61e1fdebbc2af2597f77a6a3681c1abbd8771874cc85cf65e035cf85b2af92611b58921690613241565b60008061211183611b65565b905061211f816003016126b2565b60058401549092506121319083611bda565b600584018190556004840154101561214557fe5b60068301546121549083611bda565b600684018190556005840154101561216857fe5b50919050565b600d54600a5460095460009261064a9290916121899161218f565b90611bda565b6000828211156121e6576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006121f783611816565b8210604051806040016040528060088152602001676e6f20616e6e756d60c01b815250906122385760405162461bcd60e51b81526004016105059190613293565b5082600001828154811061224857fe5b9060005260206000209060080201905092915050565b600061226985611816565b11156122c05761227884611b65565b60020154831160405180604001604052806009815260200168746f6f206561726c7960b81b815250906122be5760405162461bcd60e51b81526004016105059190613293565b505b83546001810185556000858152602090206008909102016122e38185858561285c565b805460028601546122f391611bda565b60028601558454600110156123175760018581015461231191611bda565b60018601555b5050505050565b6000826002015482111561232e57fe5b611c3460016121898585612886565b600081516000141561235157506000612585565b600061236784612361888861218f565b906128b2565b600188015490925082915061237c9082611bda565b600188015561271060005b84518110156125815760006123be8683815181106123a157fe5b60200260200101516020015184866129199092919063ffffffff16565b90506123ca848261218f565b93506123f68683815181106123db57fe5b6020026020010151602001518461218f90919063ffffffff16565b925060008061241c8c89868151811061240b57fe5b602002602001015160000151612a19565b9150915081156124605760008c600001828154811061243757fe5b9060005260206000209060060201905061245a8482612a7c90919063ffffffff16565b506124b1565b8b54600181018d5560008d8152602090208951600690920201906124a5908a908790811061248a57fe5b60200260200101516000015182612a9890919063ffffffff16565b6124af8185612a7c565b505b8784815181106124bd57fe5b6020026020010151600001516001600160a01b031663e2739563846040518263ffffffff1660e01b81526004016124f491906133e4565b600060405180830381600087803b15801561250e57600080fd5b505af1158015612522573d6000803e3d6000fd5b505050507fea9b87b57d7b678dd3c9da933ff547ad63395e04ee46cd57894c7b53618dc39a88858151811061255357fe5b6020026020010151600001518460405161256e929190613260565b60405180910390a1505050600101612387565b5050505b95945050505050565b6000805b835481101561268e576000836001600160a01b0316634b13e8728660000184815481106125bb57fe5b60009182526020909120600690910201546040516001600160e01b031960e084901b1681526125f6916001600160a01b031690600401613241565b606060405180830381600087803b15801561261057600080fd5b505af1158015612624573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126489190613152565b905061268361267c8287600001858154811061266057fe5b9060005260206000209060060201612ad990919063ffffffff16565b8490611bda565b925050600101612592565b50600283015461269e9082611bda565b6002840181905560018401541015611c3757fe5b6000805b82548110156121685760006126e68460000183815481106126d357fe5b9060005260206000209060060201612c2d565b9050612717818560000184815481106126fb57fe5b9060005260206000209060060201612c4a90919063ffffffff16565b60038401546127269082611bda565b6003850155835484908390811061273957fe5b60009182526020822060069091020154604080516306201f1d60e01b815290516001600160a01b03909216926306201f1d928592600480820193929182900301818588803b15801561278a57600080fd5b505af115801561279e573d6000803e3d6000fd5b50505050506127d2818560000184815481106127b657fe5b9060005260206000209060060201612c6590919063ffffffff16565b60048401546127e19082611bda565b60048501556127f08382611bda565b92507f4839bc860ac633cfbce1fe18dc3c135733eca7b2dc8ed40e6e6b713a431bcf4484600001838154811061282257fe5b600091825260209091206006909102015460405161284b916001600160a01b0316908490613260565b60405180910390a1506001016126b6565b6001840183905561286d8282612c80565b845561287883612caf565b846002018190555050505050565b6002820154600090808311156128a0576000915050611c37565b6128aa8382612cc7565b915050611c37565b6000808211612908576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161291157fe5b049392505050565b6000808211612962576040805162461bcd60e51b815260206004820152601060248201526f4469766973696f6e206279207a65726f60801b604482015290519081900360640190fd5b8361296f57506000611fc7565b8383028385828161297c57fe5b0414156129955782818161298c57fe5b04915050611fc7565b60008386816129a057fe5b04905060008487816129ae57fe5b06905060008587816129bc57fe5b04905060008688816129ca57fe5b069050612a0c6129de886123618685612ce2565b6121896129eb8686612ce2565b6121896129f88987612ce2565b6121898d612a068c8b612ce2565b90612ce2565b9998505050505050505050565b600080805b8454811015612a7457836001600160a01b0316856000018281548110612a4057fe5b60009182526020909120600690910201546001600160a01b03161415612a6c5780915060019250612a74565b600101612a1e565b509250929050565b6001820154612a8b9082611bda565b6001830155600290910155565b81546001600160a01b0319166001600160a01b0391909116178155600060018201819055600282018190556003820181905560048201819055600590910155565b81546000906001600160a01b0316318183516001811115612af657fe5b1415612b975760208301516002850154600091612b1591906064612919565b9050600082821115612b2e57612b2b828461218f565b90505b6000612b3987612c2d565b905081811115612b4c5760009450612b59565b612b56828261218f565b94505b6000612b808860040154612b7a848b6001015461218f90919063ffffffff16565b9061218f565b905080861115612b8e578095505b50505050612bcc565b600183516001811115612ba657fe5b1415612bc65760038401546001850154612bbf9161218f565b9150612bcc565b60009150fe5b6003840154612bdb9083611bda565b600385015583546040517f9145b1e2df1630c4e7b11419b36afb9de07a4dc780726dfa970f265b1d627ad791612c1e916001600160a01b03909116908590613260565b60405180910390a15092915050565b6000611c378260040154836003015461218f90919063ffffffff16565b6004820154612c599082611bda565b82600401819055505050565b6005820154612c749082611bda565b82600501819055505050565b6000611c34612c9384846201d4c0612919565b612caa6b1027e72f1f12813088000000600c6128b2565b612d3b565b6000611c376001612cc184601e612d51565b90612d66565b600081831115612cd657600080fd5b62015180838303612911565b600082612cf157506000611c37565b82820282848281612cfe57fe5b0414611c345760405162461bcd60e51b81526004018080602001828103825260218152602001806135b06021913960400191505060405180910390fd5b6000818310612d4a5781611c34565b5090919050565b620151808102820182811015611c3757600080fd5b80820382811115611c3757600080fd5b6040805160608101909152806000815260006020820181905260409091015290565b50805460018160011615610100020316600290046000825580601f10612dbe57506114eb565b601f0160209004906000526020600020908101906114eb9190612e8d565b6040518060800160405280600081526020016000815260200160008152602001612e04612ea2565b905290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282612e3f5760008555612e85565b82601f10612e5857805160ff1916838001178555612e85565b82800160010185558215612e85579182015b82811115612e85578251825591602001919060010190612e6a565b50610eb59291505b5b80821115610eb55760008155600101612e8e565b6040518060a0016040528060608152602001600081526020016000815260200160008152602001600081525090565b600082601f830112612ee1578081fd5b81356020612ef6612ef18361349e565b61347a565b8281528181019085830183850287018401881015612f12578586fd5b855b85811015612f39578135612f2781613567565b84529284019290840190600101612f14565b5090979650505050505050565b600060208284031215612f57578081fd5b8135611c3481613567565b60008060408385031215612f74578081fd5b823567ffffffffffffffff80821115612f8b578283fd5b818501915085601f830112612f9e578283fd5b81356020612fae612ef18361349e565b82815281810190858301838502870184018b1015612fca578788fd5b8796505b84871015612fec578035835260019690960195918301918301612fce565b5096505086013592505080821115613002578283fd5b5061300f85828601612ed1565b9150509250929050565b6000602080838503121561302b578182fd5b825167ffffffffffffffff80821115613042578384fd5b818501915085601f830112613055578384fd5b8151613063612ef18261349e565b818152848101908486016040808502870188018b1015613081578889fd5b8896505b848710156130db5780828c03121561309b578889fd5b805181810181811088821117156130ae57fe5b825282516130bb81613567565b815282890151898201528452600196909601959287019290810190613085565b50909998505050505050505050565b6000602082840312156130fb578081fd5b81356001600160e01b031981168114611c34578182fd5b600080600060608486031215613126578081fd5b833561313181613567565b925060208401356131418161357c565b929592945050506040919091013590565b600060608284031215613163578081fd5b6040516060810181811067ffffffffffffffff8211171561318057fe5b604052825161318e8161357c565b815260208381015190820152604083015180151581146131ac578283fd5b60408201529392505050565b6000602082840312156131c9578081fd5b5035919050565b6000602082840312156131e1578081fd5b5051919050565b60008151808452815b8181101561320d576020818501810151868301820152016131f1565b8181111561321e5782602083870101525b50601f01601f19169290920160200192915050565b6002811061323d57fe5b9052565b6001600160a01b0391909116815260200190565b901515815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b0392831681529116602082015260400190565b600060208252611c3460208301846131e8565b6000602080835260a0845182850152818501516040818187015280870151915060608281880152808801519250608080818901526101408801845186878b01528181518084526101608c01915089830193508a92505b8083101561335057835180516001600160a01b031683528a8101518b84015287810151888401528681015187840152858101518684015289015189830152928901926001929092019160c0909101906132fc565b509786015160c08b015250509183015160e08801528201516101008701520151610120909401939093529392505050565b6000606082019050613394828451613233565b6020830151602083015260408301511515604083015292915050565b60006060820190506133c68260ff855416613233565b6001830154602083015260029092015460ff16151560409091015290565b90815260200190565b60008382526040602083015261340660408301846131e8565b949350505050565b918252602082015260400190565b958652602086019490945260408501929092526060840152608083015260a082015260c00190565b978852602088019690965260408701949094526060860192909252608085015260a084015260c083015260e08201526101000190565b60405181810167ffffffffffffffff8111828210171561349657fe5b604052919050565b600067ffffffffffffffff8211156134b257fe5b5060209081020190565b60e01c90565b600060443d10156134d25761064d565b600481823e6308c379a06134e682516134bc565b146134f05761064d565b6040513d600319016004823e80513d67ffffffffffffffff8160248401118184111715613520575050505061064d565b8284019250825191508082111561353a575050505061064d565b503d830160208284010111156135525750505061064d565b601f01601f1916810160200160405291505090565b6001600160a01b03811681146114eb57600080fd5b600281106114eb57600080fdfe756e6b6e6f776e206572726f722e20676574416e6e75616c50657263656e7461676542697073536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77756e6b6e6f776e206572726f722e20757064617465417574686f72697a6564496e666c6174696f6e416e6443697263756c6174696e67537570706c79a2646970667358221220601ecdb381bcbbd769949ba955494c334963b4899dd92afa9d8ea1806866b13b64736f6c63430007060033",
923
- "deployedBytecode": "0x60806040526004361061019c5760003560e01c80639d6a890f116100ec578063e17f212e1161008a578063f5a9838311610064578063f5a9838314610430578063f5f5ba7214610445578063f639c12c14610467578063f64cee611461047c5761019c565b8063e17f212e146103f1578063e22fdece14610406578063f3f8dcf91461041b5761019c565b8063b8cca0cf116100c6578063b8cca0cf1461039d578063c39049e4146103b2578063c611c2c5146103d4578063c9d3dc87146103dc5761019c565b80639d6a890f14610348578063a107753214610368578063b00c0b761461037d5761019c565b806362354e03116101595780636e61ab96116101335780636e61ab96146102be57806372993615146102de57806374e6310e146102f357806384e10a90146103215761019c565b806362354e031461026757806367fc40291461027c5780636d0e8c341461029c5761019c565b8063047fc9aa146101a157806333ed77cc146101cc5780634b13e872146101ee5780635267a15d1461021b5780635aa6e675146102305780635ff2707914610245575b600080fd5b3480156101ad57600080fd5b506101b661049c565b6040516101c39190613241565b60405180910390f35b3480156101d857600080fd5b506101e16104ab565b6040516101c391906133e4565b3480156101fa57600080fd5b5061020e610209366004612f46565b6104b1565b6040516101c39190613381565b34801561022757600080fd5b506101b6610595565b34801561023c57600080fd5b506101b66105ba565b34801561025157600080fd5b506102656102603660046130ea565b610650565b005b34801561027357600080fd5b506101b66109a5565b34801561028857600080fd5b506102656102973660046130ea565b6109b0565b3480156102a857600080fd5b506102b1610a98565b6040516101c39190613255565b3480156102ca57600080fd5b506102656102d9366004613112565b610eb9565b3480156102ea57600080fd5b506101e1611020565b3480156102ff57600080fd5b5061031361030e3660046130ea565b611026565b6040516101c39291906133ed565b34801561032d57600080fd5b506103366110cc565b6040516101c39695949392919061341c565b34801561035457600080fd5b50610265610363366004612f46565b6110ea565b34801561037457600080fd5b506101b66111a3565b34801561038957600080fd5b50610265610398366004612f62565b6111c7565b3480156103a957600080fd5b506101e1611272565b3480156103be57600080fd5b506103c7611296565b6040516101c391906132a6565b6102656113b0565b3480156103e857600080fd5b506101e16114ee565b3480156103fd57600080fd5b506102b16114f4565b34801561041257600080fd5b506102b1611504565b34801561042757600080fd5b506101b661157d565b34801561043c57600080fd5b5061026561158c565b34801561045157600080fd5b5061045a611646565b6040516101c39190613293565b34801561047357600080fd5b506101e1611669565b34801561048857600080fd5b506103c76104973660046131b8565b61167c565b6003546001600160a01b031681565b600e5481565b6104b9612d76565b60408051808201909152600c81526b06164647265737320697320360a41b602082015282906001600160a01b03821661050e5760405162461bcd60e51b81526004016105059190613293565b60405180910390fd5b506001600160a01b0383166000908152600c60205260409020600281015460ff1661055557805460ff19908116825560786001808401919091556002830180549092161790555b8054839060ff16600181111561056757fe5b9081600181111561057457fe5b905250600181015460208401526002015460ff161515604083015250919050565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e77195490565b60008054600160a81b900460ff166105dd576000546001600160a01b031661064a565b60076001609c1b016001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b15801561061d57600080fd5b505afa158015610631573d6000803e3d6000fd5b505050506040513d602081101561064757600080fd5b50515b90505b90565b60408051630debfda360e41b8152336004820152905160076001609c1b019163debfda30916024808301926020929190829003018186803b15801561069457600080fd5b505afa1580156106a8573d6000803e3d6000fd5b505050506040513d60208110156106be57600080fd5b5051610701576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b031981166000908152600160205260409020805461076d576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b80544210156107c3576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561085d5780601f106108325761010080835404028352916020019161085d565b820191906000526020600020905b81548152906001019060200180831161084057829003601f168201915b5050506001600160e01b03198616600090815260016020819052604082208281559495509092506108919150830182612d98565b50506000805460ff60b01b1916600160b01b178155604051825130918491819060208401908083835b602083106108d95780518252601f1990920191602091820191016108ba565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461093b576040519150601f19603f3d011682016040523d82523d6000602084013e610940565b606091505b50506000805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a161099f81611798565b50505050565b60076001609c1b0181565b6109b86117b5565b6001600160e01b03198116600090815260016020526040902054610a23576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b03198116600090815260016020819052604082208281559190610a9390830182612d98565b505050565b60035460408051808201909152600c81526b06164647265737320697320360a41b60208201526000916001600160a01b03169081610ae95760405162461bcd60e51b81526004016105059190613293565b50336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b5b576040805162461bcd60e51b815260206004820152601160248201527037b7363c90333630b932903230b2b6b7b760791b604482015290519081900360640190fd5b7f0000000000000000000000000000000000000000000000000000000000000000421015610b8c5760019150610eb5565b600e54610b985742600e555b610ba26004611816565b610bb457610baf4261181a565b610be3565b6000610bc06004611b65565b60020154905080421115610be157610be1610bdc826001611bda565b61181a565b505b600b544290610bf59062015180611bda565b11610eb05742600b819055506000610c9c42600260009054906101000a90046001600160a01b03166001600160a01b031663c853b8d46040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610c5757600080fd5b505af1158015610c6b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c939190810190613019565b60049190611c3d565b90507fe69ea09c0c2d88b5a023a23e65e8ffeb65667d6b7b4076cbee9ba25f5450235581604051610ccd91906133e4565b60405180910390a1600354604051630512107160e51b81526001600160a01b039091169063a2420e2090610d059084906004016133e4565b600060405180830381600087803b158015610d1f57600080fd5b505af1925050508015610d30575060015b610d9357610d3c6134c2565b80610d475750610d61565b8060405162461bcd60e51b81526004016105059190613293565b6040518060600160405280603c81526020016135d1603c913960405162461bcd60e51b81526004016105059190613293565b6000610da0600430611c9f565b90507f1f0936062e6ce780790714a1ec5787d290675660a8566059ac9d6cfb2a336eec81604051610dd191906133e4565b60405180910390a160405163074ef3eb60e51b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e9de7d6090610e259084906004016133e4565b600060405180830381600087803b158015610e3f57600080fd5b505af1925050508015610e50575060015b610ead57610e5c6134c2565b80610d475750604080518082018252601d81527f756e6b6e6f776e206572726f722e20726571756573744d696e74696e670000006020820152905162461bcd60e51b81526105059190600401613293565b50505b600191505b5090565b60408051808201909152600c81526b06164647265737320697320360a41b602082015283906001600160a01b038216610f055760405162461bcd60e51b81526004016105059190613293565b50600054600160b01b900460ff1680610f285750600054600160a81b900460ff16155b1561101557610f35611ce7565b6000836001811115610f4357fe5b1415610f8c57604080518082019091526009815268746f707570206c6f7760b81b602082015260648311610f8a5760405162461bcd60e51b81526004016105059190613293565b505b6001600160a01b0384166000908152600c6020526040902080548490829060ff191660018381811115610fbb57fe5b0217905550600180820184905560028201805460ff191690911790556040517fcf085312d79a75faa5f1b9f6bec58a64813338f5e5e5759573cab22c6da2d25b906110079083906133b0565b60405180910390a15061099f565b61099f600036611d1c565b600d5481565b600160208181526000928352604092839020805481840180548651600296821615610100026000190190911695909504601f810185900485028601850190965285855290949193929091908301828280156110c25780601f10611097576101008083540402835291602001916110c2565b820191906000526020600020905b8154815290600101906020018083116110a557829003601f168201915b5050505050905082565b600754600854600954600a54600654600d5494959394929391929091565b600054600160a01b900460ff1615611140576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b7f000000000000000000000000000000000000000000000000000000000000000081565b6111cf610595565b6001600160a01b0316336001600160a01b03161461122b576040805162461bcd60e51b815260206004820152601460248201527337b7363c9030b2323932b9b9903ab83230ba32b960611b604482015290519081900360640190fd5b61126461125f83836040518060400160405280600e81526020016d20b2323932b9b9aab83230ba32b960911b815250611e9f565b611fce565b61126e8282611ff2565b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b61129e612ddc565b6112a86004611b65565b604051806080016040529081600082015481526020016001820154815260200160028201548152602001600382016040518060a001604052908160008201805480602002602001604051908101604052809291908181526020016000905b828210156113775760008481526020908190206040805160c0810182526006860290920180546001600160a01b031683526001808201548486015260028201549284019290925260038101546060840152600481015460808401526005015460a08301529083529092019101611306565b50505050815260200160018201548152602001600282015481526020016003820154815260200160048201548152505081525050905090565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611421576040805162461bcd60e51b815260206004820152601160248201527037b7363c90333630b932903230b2b6b7b760791b604482015290519081900360640190fd5b600061142d6004612105565b9050600061143961216e565b90506000611447478361218f565b9050801561146057600d5461145c9082611bda565b600d555b7f992ba5c7b7d6602101783b4d28d0b93011fb883039e68c729b933bf711678627838260405161149192919061340e565b60405180910390a1505050476114a561216e565b146040518060400160405280600e81526020016d6f7574206f662062616c616e636560901b815250906114eb5760405162461bcd60e51b81526004016105059190613293565b50565b600b5481565b600054600160a81b900460ff1681565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611577576040805162461bcd60e51b815260206004820152601160248201527037b7363c90333630b932903230b2b6b7b760791b604482015290519081900360640190fd5b50600090565b6002546001600160a01b031681565b6115946117b5565b600054600160a81b900460ff16156115f3576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b60008054600161ff0160a01b031916600160a81b1790556040805160076001609c1b01815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b60408051808201909152600981526824b7333630ba34b7b760b91b602082015290565b600b5460009061064a9062015180611bda565b611684612ddc565b61168f6004836121ec565b604051806080016040529081600082015481526020016001820154815260200160028201548152602001600382016040518060a001604052908160008201805480602002602001604051908101604052809291908181526020016000905b8282101561175e5760008481526020908190206040805160c0810182526006860290920180546001600160a01b031683526001808201548486015260028201549284019290925260038101546060840152600481015460808401526005015460a083015290835290920191016116ed565b5050509082525060018201546020820152600282015460408201526003820154606082015260049091015460809091015290525092915050565b3d604051818101604052816000823e82156117b1578181f35b8181fd5b6117bd6105ba565b6001600160a01b0316336001600160a01b031614611814576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b565b5490565b600360009054906101000a90046001600160a01b03166001600160a01b0316633c8c461c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561186a57600080fd5b505af115801561187e573d6000803e3d6000fd5b505050506000600360009054906101000a90046001600160a01b03166001600160a01b0316631b73b4cb6040518163ffffffff1660e01b815260040160206040518083038186803b1580156118d257600080fd5b505afa1580156118e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061190a91906131d0565b9050600260009054906101000a90046001600160a01b03166001600160a01b031663981940296040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561195c57600080fd5b505af192505050801561198c575060408051601f3d908101601f19168201909252611989918101906131d0565b60015b6119d0576119986134c2565b80610d47575060405180606001604052806026815260200161358a6026913960405162461bcd60e51b81526004016105059190613293565b6119dd600484848461225e565b5060006119ea6004611b65565b604051806080016040529081600082015481526020016001820154815260200160028201548152602001600382016040518060a001604052908160008201805480602002602001604051908101604052809291908181526020016000905b82821015611ab95760008481526020908190206040805160c0810182526006860290920180546001600160a01b031683526001808201548486015260028201549284019290925260038101546060840152600481015460808401526005015460a08301529083529092019101611a48565b5050505081526020016001820154815260200160028201548152602001600382015481526020016004820154815250508152505090507f677db469fe5eaf40f0415f5433ebc8ebe9ac089662feca0280495fb4c96da29181602001518260400151848460000151856060015160200151866060015160400151876060015160600151886060015160800151604051611b58989796959493929190613444565b60405180910390a1505050565b600080611b7183611816565b11604051806040016040528060088152602001676e6f20616e6e756d60c01b81525090611bb15760405162461bcd60e51b81526004016105059190613293565b5081600001826001015481548110611bc557fe5b90600052602060002090600802019050919050565b600082820183811015611c34576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b600080611c4985611b65565b60028601546003870154919250611c7191611c64848861231e565b600385019291908761233d565b6003860154909250611c839083611bda565b6003860181905560028601541015611c9757fe5b509392505050565b600080611cab84611b65565b9050611cba600382018461258e565b6004850154909250611ccc9083611bda565b6004850181905560038501541015611ce057fe5b5092915050565b600054600160b01b900460ff1615611d1457333014611d0257fe5b6000805460ff60b01b19169055611814565b6118146117b5565b611d246117b5565b600082359050600060076001609c1b016001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b158015611d6c57600080fd5b505afa158015611d80573d6000803e3d6000fd5b505050506040513d6020811015611d9657600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b03198616815260016020818152604090922084518155848301518051919450611e1a93928501920190612e09565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b600080826040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015611ee3578181015183820152602001611ecb565b50505050905090810190601f168015611f105780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012090506000805b8651811015611f7857868181518110611f4657fe5b6020026020010151831415611f7057858181518110611f6157fe5b60200260200101519150611f78565b600101611f31565b506001600160a01b038116611fc3576040805162461bcd60e51b815260206004820152600c60248201526b61646472657373207a65726f60a01b604482015290519081900360640190fd5b9150505b9392505050565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b600061201d838360405180604001604052806006815260200165537570706c7960d01b815250611e9f565b6003546040519192507f9a9b245c8db671c90d6db95f7ff0c18c15378a1d55ee4aea21759be8ad27d30e9161205d916001600160a01b0316908490613279565b60405180910390a1600380546001600160a01b0319166001600160a01b03831617905560408051808201909152601381527224b7333630ba34b7b720b63637b1b0ba34b7b760691b60208201526120b79084908490611e9f565b600280546001600160a01b0319166001600160a01b0392831617908190556040517f53cd61e1fdebbc2af2597f77a6a3681c1abbd8771874cc85cf65e035cf85b2af92611b58921690613241565b60008061211183611b65565b905061211f816003016126b2565b60058401549092506121319083611bda565b600584018190556004840154101561214557fe5b60068301546121549083611bda565b600684018190556005840154101561216857fe5b50919050565b600d54600a5460095460009261064a9290916121899161218f565b90611bda565b6000828211156121e6576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006121f783611816565b8210604051806040016040528060088152602001676e6f20616e6e756d60c01b815250906122385760405162461bcd60e51b81526004016105059190613293565b5082600001828154811061224857fe5b9060005260206000209060080201905092915050565b600061226985611816565b11156122c05761227884611b65565b60020154831160405180604001604052806009815260200168746f6f206561726c7960b81b815250906122be5760405162461bcd60e51b81526004016105059190613293565b505b83546001810185556000858152602090206008909102016122e38185858561285c565b805460028601546122f391611bda565b60028601558454600110156123175760018581015461231191611bda565b60018601555b5050505050565b6000826002015482111561232e57fe5b611c3460016121898585612886565b600081516000141561235157506000612585565b600061236784612361888861218f565b906128b2565b600188015490925082915061237c9082611bda565b600188015561271060005b84518110156125815760006123be8683815181106123a157fe5b60200260200101516020015184866129199092919063ffffffff16565b90506123ca848261218f565b93506123f68683815181106123db57fe5b6020026020010151602001518461218f90919063ffffffff16565b925060008061241c8c89868151811061240b57fe5b602002602001015160000151612a19565b9150915081156124605760008c600001828154811061243757fe5b9060005260206000209060060201905061245a8482612a7c90919063ffffffff16565b506124b1565b8b54600181018d5560008d8152602090208951600690920201906124a5908a908790811061248a57fe5b60200260200101516000015182612a9890919063ffffffff16565b6124af8185612a7c565b505b8784815181106124bd57fe5b6020026020010151600001516001600160a01b031663e2739563846040518263ffffffff1660e01b81526004016124f491906133e4565b600060405180830381600087803b15801561250e57600080fd5b505af1158015612522573d6000803e3d6000fd5b505050507fea9b87b57d7b678dd3c9da933ff547ad63395e04ee46cd57894c7b53618dc39a88858151811061255357fe5b6020026020010151600001518460405161256e929190613260565b60405180910390a1505050600101612387565b5050505b95945050505050565b6000805b835481101561268e576000836001600160a01b0316634b13e8728660000184815481106125bb57fe5b60009182526020909120600690910201546040516001600160e01b031960e084901b1681526125f6916001600160a01b031690600401613241565b606060405180830381600087803b15801561261057600080fd5b505af1158015612624573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126489190613152565b905061268361267c8287600001858154811061266057fe5b9060005260206000209060060201612ad990919063ffffffff16565b8490611bda565b925050600101612592565b50600283015461269e9082611bda565b6002840181905560018401541015611c3757fe5b6000805b82548110156121685760006126e68460000183815481106126d357fe5b9060005260206000209060060201612c2d565b9050612717818560000184815481106126fb57fe5b9060005260206000209060060201612c4a90919063ffffffff16565b60038401546127269082611bda565b6003850155835484908390811061273957fe5b60009182526020822060069091020154604080516306201f1d60e01b815290516001600160a01b03909216926306201f1d928592600480820193929182900301818588803b15801561278a57600080fd5b505af115801561279e573d6000803e3d6000fd5b50505050506127d2818560000184815481106127b657fe5b9060005260206000209060060201612c6590919063ffffffff16565b60048401546127e19082611bda565b60048501556127f08382611bda565b92507f4839bc860ac633cfbce1fe18dc3c135733eca7b2dc8ed40e6e6b713a431bcf4484600001838154811061282257fe5b600091825260209091206006909102015460405161284b916001600160a01b0316908490613260565b60405180910390a1506001016126b6565b6001840183905561286d8282612c80565b845561287883612caf565b846002018190555050505050565b6002820154600090808311156128a0576000915050611c37565b6128aa8382612cc7565b915050611c37565b6000808211612908576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161291157fe5b049392505050565b6000808211612962576040805162461bcd60e51b815260206004820152601060248201526f4469766973696f6e206279207a65726f60801b604482015290519081900360640190fd5b8361296f57506000611fc7565b8383028385828161297c57fe5b0414156129955782818161298c57fe5b04915050611fc7565b60008386816129a057fe5b04905060008487816129ae57fe5b06905060008587816129bc57fe5b04905060008688816129ca57fe5b069050612a0c6129de886123618685612ce2565b6121896129eb8686612ce2565b6121896129f88987612ce2565b6121898d612a068c8b612ce2565b90612ce2565b9998505050505050505050565b600080805b8454811015612a7457836001600160a01b0316856000018281548110612a4057fe5b60009182526020909120600690910201546001600160a01b03161415612a6c5780915060019250612a74565b600101612a1e565b509250929050565b6001820154612a8b9082611bda565b6001830155600290910155565b81546001600160a01b0319166001600160a01b0391909116178155600060018201819055600282018190556003820181905560048201819055600590910155565b81546000906001600160a01b0316318183516001811115612af657fe5b1415612b975760208301516002850154600091612b1591906064612919565b9050600082821115612b2e57612b2b828461218f565b90505b6000612b3987612c2d565b905081811115612b4c5760009450612b59565b612b56828261218f565b94505b6000612b808860040154612b7a848b6001015461218f90919063ffffffff16565b9061218f565b905080861115612b8e578095505b50505050612bcc565b600183516001811115612ba657fe5b1415612bc65760038401546001850154612bbf9161218f565b9150612bcc565b60009150fe5b6003840154612bdb9083611bda565b600385015583546040517f9145b1e2df1630c4e7b11419b36afb9de07a4dc780726dfa970f265b1d627ad791612c1e916001600160a01b03909116908590613260565b60405180910390a15092915050565b6000611c378260040154836003015461218f90919063ffffffff16565b6004820154612c599082611bda565b82600401819055505050565b6005820154612c749082611bda565b82600501819055505050565b6000611c34612c9384846201d4c0612919565b612caa6b1027e72f1f12813088000000600c6128b2565b612d3b565b6000611c376001612cc184601e612d51565b90612d66565b600081831115612cd657600080fd5b62015180838303612911565b600082612cf157506000611c37565b82820282848281612cfe57fe5b0414611c345760405162461bcd60e51b81526004018080602001828103825260218152602001806135b06021913960400191505060405180910390fd5b6000818310612d4a5781611c34565b5090919050565b620151808102820182811015611c3757600080fd5b80820382811115611c3757600080fd5b6040805160608101909152806000815260006020820181905260409091015290565b50805460018160011615610100020316600290046000825580601f10612dbe57506114eb565b601f0160209004906000526020600020908101906114eb9190612e8d565b6040518060800160405280600081526020016000815260200160008152602001612e04612ea2565b905290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282612e3f5760008555612e85565b82601f10612e5857805160ff1916838001178555612e85565b82800160010185558215612e85579182015b82811115612e85578251825591602001919060010190612e6a565b50610eb59291505b5b80821115610eb55760008155600101612e8e565b6040518060a0016040528060608152602001600081526020016000815260200160008152602001600081525090565b600082601f830112612ee1578081fd5b81356020612ef6612ef18361349e565b61347a565b8281528181019085830183850287018401881015612f12578586fd5b855b85811015612f39578135612f2781613567565b84529284019290840190600101612f14565b5090979650505050505050565b600060208284031215612f57578081fd5b8135611c3481613567565b60008060408385031215612f74578081fd5b823567ffffffffffffffff80821115612f8b578283fd5b818501915085601f830112612f9e578283fd5b81356020612fae612ef18361349e565b82815281810190858301838502870184018b1015612fca578788fd5b8796505b84871015612fec578035835260019690960195918301918301612fce565b5096505086013592505080821115613002578283fd5b5061300f85828601612ed1565b9150509250929050565b6000602080838503121561302b578182fd5b825167ffffffffffffffff80821115613042578384fd5b818501915085601f830112613055578384fd5b8151613063612ef18261349e565b818152848101908486016040808502870188018b1015613081578889fd5b8896505b848710156130db5780828c03121561309b578889fd5b805181810181811088821117156130ae57fe5b825282516130bb81613567565b815282890151898201528452600196909601959287019290810190613085565b50909998505050505050505050565b6000602082840312156130fb578081fd5b81356001600160e01b031981168114611c34578182fd5b600080600060608486031215613126578081fd5b833561313181613567565b925060208401356131418161357c565b929592945050506040919091013590565b600060608284031215613163578081fd5b6040516060810181811067ffffffffffffffff8211171561318057fe5b604052825161318e8161357c565b815260208381015190820152604083015180151581146131ac578283fd5b60408201529392505050565b6000602082840312156131c9578081fd5b5035919050565b6000602082840312156131e1578081fd5b5051919050565b60008151808452815b8181101561320d576020818501810151868301820152016131f1565b8181111561321e5782602083870101525b50601f01601f19169290920160200192915050565b6002811061323d57fe5b9052565b6001600160a01b0391909116815260200190565b901515815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b0392831681529116602082015260400190565b600060208252611c3460208301846131e8565b6000602080835260a0845182850152818501516040818187015280870151915060608281880152808801519250608080818901526101408801845186878b01528181518084526101608c01915089830193508a92505b8083101561335057835180516001600160a01b031683528a8101518b84015287810151888401528681015187840152858101518684015289015189830152928901926001929092019160c0909101906132fc565b509786015160c08b015250509183015160e08801528201516101008701520151610120909401939093529392505050565b6000606082019050613394828451613233565b6020830151602083015260408301511515604083015292915050565b60006060820190506133c68260ff855416613233565b6001830154602083015260029092015460ff16151560409091015290565b90815260200190565b60008382526040602083015261340660408301846131e8565b949350505050565b918252602082015260400190565b958652602086019490945260408501929092526060840152608083015260a082015260c00190565b978852602088019690965260408701949094526060860192909252608085015260a084015260c083015260e08201526101000190565b60405181810167ffffffffffffffff8111828210171561349657fe5b604052919050565b600067ffffffffffffffff8211156134b257fe5b5060209081020190565b60e01c90565b600060443d10156134d25761064d565b600481823e6308c379a06134e682516134bc565b146134f05761064d565b6040513d600319016004823e80513d67ffffffffffffffff8160248401118184111715613520575050505061064d565b8284019250825191508082111561353a575050505061064d565b503d830160208284010111156135525750505061064d565b601f01601f1916810160200160405291505090565b6001600160a01b03811681146114eb57600080fd5b600281106114eb57600080fdfe756e6b6e6f776e206572726f722e20676574416e6e75616c50657263656e7461676542697073536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77756e6b6e6f776e206572726f722e20757064617465417574686f72697a6564496e666c6174696f6e416e6443697263756c6174696e67537570706c79a2646970667358221220601ecdb381bcbbd769949ba955494c334963b4899dd92afa9d8ea1806866b13b64736f6c63430007060033",
922
+ "bytecode": "0x60c06040523480156200001157600080fd5b50604051620038fa380380620038fa833981016040819052620000349162000206565b81848481806001600160a01b03811615620000545762000054816200011f565b506001600160a01b038116620000a4576040805162461bcd60e51b815260206004820152601060248201526f5f676f7665726e616e6365207a65726f60801b604482015290519081900360640190fd5b506001600160a01b038116620000f5576040805162461bcd60e51b8152602060048201526011602482015270666c617265206461656d6f6e207a65726f60781b604482015290519081900360640190fd5b60601b6001600160601b031916608052506200011181620001e2565b5060a0525062000278915050565b600054600160a01b900460ff16156200017f576040805162461bcd60e51b815260206004820152601460248201527f696e697469616c6973656420213d2066616c7365000000000000000000000000604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b600080600080608085870312156200021c578384fd5b845162000229816200025f565b60208601519094506200023c816200025f565b60408601519093506200024f816200025f565b6060959095015193969295505050565b6001600160a01b03811681146200027557600080fd5b50565b60805160601c60a051613642620002b860003980610b5d5280611274525080610af55280610df052806111a552806113bb528061151152506136426000f3fe60806040526004361061019c5760003560e01c80639d6a890f116100ec578063e17f212e1161008a578063f5a9838311610064578063f5a9838314610430578063f5f5ba7214610445578063f639c12c14610467578063f64cee611461047c5761019c565b8063e17f212e146103f1578063e22fdece14610406578063f3f8dcf91461041b5761019c565b8063b8cca0cf116100c6578063b8cca0cf1461039d578063c39049e4146103b2578063c611c2c5146103d4578063c9d3dc87146103dc5761019c565b80639d6a890f14610348578063a107753214610368578063b00c0b761461037d5761019c565b806362354e03116101595780636e61ab96116101335780636e61ab96146102be57806372993615146102de57806374e6310e146102f357806384e10a90146103215761019c565b806362354e031461026757806367fc40291461027c5780636d0e8c341461029c5761019c565b8063047fc9aa146101a157806333ed77cc146101cc5780634b13e872146101ee5780635267a15d1461021b5780635aa6e675146102305780635ff2707914610245575b600080fd5b3480156101ad57600080fd5b506101b661049c565b6040516101c39190613241565b60405180910390f35b3480156101d857600080fd5b506101e16104ab565b6040516101c391906133e4565b3480156101fa57600080fd5b5061020e610209366004612f46565b6104b1565b6040516101c39190613381565b34801561022757600080fd5b506101b6610595565b34801561023c57600080fd5b506101b66105ba565b34801561025157600080fd5b506102656102603660046130ea565b610650565b005b34801561027357600080fd5b506101b66109a5565b34801561028857600080fd5b506102656102973660046130ea565b6109b0565b3480156102a857600080fd5b506102b1610a98565b6040516101c39190613255565b3480156102ca57600080fd5b506102656102d9366004613112565b610eb9565b3480156102ea57600080fd5b506101e1611020565b3480156102ff57600080fd5b5061031361030e3660046130ea565b611026565b6040516101c39291906133ed565b34801561032d57600080fd5b506103366110cc565b6040516101c39695949392919061341c565b34801561035457600080fd5b50610265610363366004612f46565b6110ea565b34801561037457600080fd5b506101b66111a3565b34801561038957600080fd5b50610265610398366004612f62565b6111c7565b3480156103a957600080fd5b506101e1611272565b3480156103be57600080fd5b506103c7611296565b6040516101c391906132a6565b6102656113b0565b3480156103e857600080fd5b506101e16114ee565b3480156103fd57600080fd5b506102b16114f4565b34801561041257600080fd5b506102b1611504565b34801561042757600080fd5b506101b661157d565b34801561043c57600080fd5b5061026561158c565b34801561045157600080fd5b5061045a611646565b6040516101c39190613293565b34801561047357600080fd5b506101e1611669565b34801561048857600080fd5b506103c76104973660046131b8565b61167c565b6003546001600160a01b031681565b600e5481565b6104b9612d76565b60408051808201909152600c81526b06164647265737320697320360a41b602082015282906001600160a01b03821661050e5760405162461bcd60e51b81526004016105059190613293565b60405180910390fd5b506001600160a01b0383166000908152600c60205260409020600281015460ff1661055557805460ff19908116825560786001808401919091556002830180549092161790555b8054839060ff16600181111561056757fe5b9081600181111561057457fe5b905250600181015460208401526002015460ff161515604083015250919050565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e77195490565b60008054600160a81b900460ff166105dd576000546001600160a01b031661064a565b60076001609c1b016001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b15801561061d57600080fd5b505afa158015610631573d6000803e3d6000fd5b505050506040513d602081101561064757600080fd5b50515b90505b90565b60408051630debfda360e41b8152336004820152905160076001609c1b019163debfda30916024808301926020929190829003018186803b15801561069457600080fd5b505afa1580156106a8573d6000803e3d6000fd5b505050506040513d60208110156106be57600080fd5b5051610701576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b031981166000908152600160205260409020805461076d576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b80544210156107c3576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561085d5780601f106108325761010080835404028352916020019161085d565b820191906000526020600020905b81548152906001019060200180831161084057829003601f168201915b5050506001600160e01b03198616600090815260016020819052604082208281559495509092506108919150830182612d98565b50506000805460ff60b01b1916600160b01b178155604051825130918491819060208401908083835b602083106108d95780518252601f1990920191602091820191016108ba565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461093b576040519150601f19603f3d011682016040523d82523d6000602084013e610940565b606091505b50506000805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a161099f81611798565b50505050565b60076001609c1b0181565b6109b86117b5565b6001600160e01b03198116600090815260016020526040902054610a23576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b03198116600090815260016020819052604082208281559190610a9390830182612d98565b505050565b60035460408051808201909152600c81526b06164647265737320697320360a41b60208201526000916001600160a01b03169081610ae95760405162461bcd60e51b81526004016105059190613293565b50336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b5b576040805162461bcd60e51b815260206004820152601160248201527037b7363c90333630b932903230b2b6b7b760791b604482015290519081900360640190fd5b7f0000000000000000000000000000000000000000000000000000000000000000421015610b8c5760019150610eb5565b600e54610b985742600e555b610ba26004611816565b610bb457610baf4261181a565b610be3565b6000610bc06004611b65565b60020154905080421115610be157610be1610bdc826001611bda565b61181a565b505b600b544290610bf59062015180611bda565b11610eb05742600b819055506000610c9c42600260009054906101000a90046001600160a01b03166001600160a01b031663c853b8d46040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610c5757600080fd5b505af1158015610c6b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c939190810190613019565b60049190611c3d565b90507fe69ea09c0c2d88b5a023a23e65e8ffeb65667d6b7b4076cbee9ba25f5450235581604051610ccd91906133e4565b60405180910390a1600354604051630512107160e51b81526001600160a01b039091169063a2420e2090610d059084906004016133e4565b600060405180830381600087803b158015610d1f57600080fd5b505af1925050508015610d30575060015b610d9357610d3c6134c2565b80610d475750610d61565b8060405162461bcd60e51b81526004016105059190613293565b6040518060600160405280603c81526020016135d1603c913960405162461bcd60e51b81526004016105059190613293565b6000610da0600430611c9f565b90507f1f0936062e6ce780790714a1ec5787d290675660a8566059ac9d6cfb2a336eec81604051610dd191906133e4565b60405180910390a160405163074ef3eb60e51b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e9de7d6090610e259084906004016133e4565b600060405180830381600087803b158015610e3f57600080fd5b505af1925050508015610e50575060015b610ead57610e5c6134c2565b80610d475750604080518082018252601d81527f756e6b6e6f776e206572726f722e20726571756573744d696e74696e670000006020820152905162461bcd60e51b81526105059190600401613293565b50505b600191505b5090565b60408051808201909152600c81526b06164647265737320697320360a41b602082015283906001600160a01b038216610f055760405162461bcd60e51b81526004016105059190613293565b50600054600160b01b900460ff1680610f285750600054600160a81b900460ff16155b1561101557610f35611ce7565b6000836001811115610f4357fe5b1415610f8c57604080518082019091526009815268746f707570206c6f7760b81b602082015260648311610f8a5760405162461bcd60e51b81526004016105059190613293565b505b6001600160a01b0384166000908152600c6020526040902080548490829060ff191660018381811115610fbb57fe5b0217905550600180820184905560028201805460ff191690911790556040517fcf085312d79a75faa5f1b9f6bec58a64813338f5e5e5759573cab22c6da2d25b906110079083906133b0565b60405180910390a15061099f565b61099f600036611d1c565b600d5481565b600160208181526000928352604092839020805481840180548651600296821615610100026000190190911695909504601f810185900485028601850190965285855290949193929091908301828280156110c25780601f10611097576101008083540402835291602001916110c2565b820191906000526020600020905b8154815290600101906020018083116110a557829003601f168201915b5050505050905082565b600754600854600954600a54600654600d5494959394929391929091565b600054600160a01b900460ff1615611140576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b7f000000000000000000000000000000000000000000000000000000000000000081565b6111cf610595565b6001600160a01b0316336001600160a01b03161461122b576040805162461bcd60e51b815260206004820152601460248201527337b7363c9030b2323932b9b9903ab83230ba32b960611b604482015290519081900360640190fd5b61126461125f83836040518060400160405280600e81526020016d20b2323932b9b9aab83230ba32b960911b815250611e9f565b611fce565b61126e8282611ff2565b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b61129e612ddc565b6112a86004611b65565b604051806080016040529081600082015481526020016001820154815260200160028201548152602001600382016040518060a001604052908160008201805480602002602001604051908101604052809291908181526020016000905b828210156113775760008481526020908190206040805160c0810182526006860290920180546001600160a01b031683526001808201548486015260028201549284019290925260038101546060840152600481015460808401526005015460a08301529083529092019101611306565b50505050815260200160018201548152602001600282015481526020016003820154815260200160048201548152505081525050905090565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611421576040805162461bcd60e51b815260206004820152601160248201527037b7363c90333630b932903230b2b6b7b760791b604482015290519081900360640190fd5b600061142d6004612105565b9050600061143961216e565b90506000611447478361218f565b9050801561146057600d5461145c9082611bda565b600d555b7f992ba5c7b7d6602101783b4d28d0b93011fb883039e68c729b933bf711678627838260405161149192919061340e565b60405180910390a1505050476114a561216e565b146040518060400160405280600e81526020016d6f7574206f662062616c616e636560901b815250906114eb5760405162461bcd60e51b81526004016105059190613293565b50565b600b5481565b600054600160a81b900460ff1681565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611577576040805162461bcd60e51b815260206004820152601160248201527037b7363c90333630b932903230b2b6b7b760791b604482015290519081900360640190fd5b50600090565b6002546001600160a01b031681565b6115946117b5565b600054600160a81b900460ff16156115f3576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b60008054600161ff0160a01b031916600160a81b1790556040805160076001609c1b01815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b60408051808201909152600981526824b7333630ba34b7b760b91b602082015290565b600b5460009061064a9062015180611bda565b611684612ddc565b61168f6004836121ec565b604051806080016040529081600082015481526020016001820154815260200160028201548152602001600382016040518060a001604052908160008201805480602002602001604051908101604052809291908181526020016000905b8282101561175e5760008481526020908190206040805160c0810182526006860290920180546001600160a01b031683526001808201548486015260028201549284019290925260038101546060840152600481015460808401526005015460a083015290835290920191016116ed565b5050509082525060018201546020820152600282015460408201526003820154606082015260049091015460809091015290525092915050565b3d604051818101604052816000823e82156117b1578181f35b8181fd5b6117bd6105ba565b6001600160a01b0316336001600160a01b031614611814576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b565b5490565b600360009054906101000a90046001600160a01b03166001600160a01b0316633c8c461c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561186a57600080fd5b505af115801561187e573d6000803e3d6000fd5b505050506000600360009054906101000a90046001600160a01b03166001600160a01b0316631b73b4cb6040518163ffffffff1660e01b815260040160206040518083038186803b1580156118d257600080fd5b505afa1580156118e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061190a91906131d0565b9050600260009054906101000a90046001600160a01b03166001600160a01b031663981940296040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561195c57600080fd5b505af192505050801561198c575060408051601f3d908101601f19168201909252611989918101906131d0565b60015b6119d0576119986134c2565b80610d47575060405180606001604052806026815260200161358a6026913960405162461bcd60e51b81526004016105059190613293565b6119dd600484848461225e565b5060006119ea6004611b65565b604051806080016040529081600082015481526020016001820154815260200160028201548152602001600382016040518060a001604052908160008201805480602002602001604051908101604052809291908181526020016000905b82821015611ab95760008481526020908190206040805160c0810182526006860290920180546001600160a01b031683526001808201548486015260028201549284019290925260038101546060840152600481015460808401526005015460a08301529083529092019101611a48565b5050505081526020016001820154815260200160028201548152602001600382015481526020016004820154815250508152505090507f677db469fe5eaf40f0415f5433ebc8ebe9ac089662feca0280495fb4c96da29181602001518260400151848460000151856060015160200151866060015160400151876060015160600151886060015160800151604051611b58989796959493929190613444565b60405180910390a1505050565b600080611b7183611816565b11604051806040016040528060088152602001676e6f20616e6e756d60c01b81525090611bb15760405162461bcd60e51b81526004016105059190613293565b5081600001826001015481548110611bc557fe5b90600052602060002090600802019050919050565b600082820183811015611c34576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b600080611c4985611b65565b60028601546003870154919250611c7191611c64848861231e565b600385019291908761233d565b6003860154909250611c839083611bda565b6003860181905560028601541015611c9757fe5b509392505050565b600080611cab84611b65565b9050611cba600382018461258e565b6004850154909250611ccc9083611bda565b6004850181905560038501541015611ce057fe5b5092915050565b600054600160b01b900460ff1615611d1457333014611d0257fe5b6000805460ff60b01b19169055611814565b6118146117b5565b611d246117b5565b600082359050600060076001609c1b016001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b158015611d6c57600080fd5b505afa158015611d80573d6000803e3d6000fd5b505050506040513d6020811015611d9657600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b03198616815260016020818152604090922084518155848301518051919450611e1a93928501920190612e09565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b600080826040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015611ee3578181015183820152602001611ecb565b50505050905090810190601f168015611f105780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012090506000805b8651811015611f7857868181518110611f4657fe5b6020026020010151831415611f7057858181518110611f6157fe5b60200260200101519150611f78565b600101611f31565b506001600160a01b038116611fc3576040805162461bcd60e51b815260206004820152600c60248201526b61646472657373207a65726f60a01b604482015290519081900360640190fd5b9150505b9392505050565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b600061201d838360405180604001604052806006815260200165537570706c7960d01b815250611e9f565b6003546040519192507f9a9b245c8db671c90d6db95f7ff0c18c15378a1d55ee4aea21759be8ad27d30e9161205d916001600160a01b0316908490613279565b60405180910390a1600380546001600160a01b0319166001600160a01b03831617905560408051808201909152601381527224b7333630ba34b7b720b63637b1b0ba34b7b760691b60208201526120b79084908490611e9f565b600280546001600160a01b0319166001600160a01b0392831617908190556040517f53cd61e1fdebbc2af2597f77a6a3681c1abbd8771874cc85cf65e035cf85b2af92611b58921690613241565b60008061211183611b65565b905061211f816003016126b2565b60058401549092506121319083611bda565b600584018190556004840154101561214557fe5b60068301546121549083611bda565b600684018190556005840154101561216857fe5b50919050565b600d54600a5460095460009261064a9290916121899161218f565b90611bda565b6000828211156121e6576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006121f783611816565b8210604051806040016040528060088152602001676e6f20616e6e756d60c01b815250906122385760405162461bcd60e51b81526004016105059190613293565b5082600001828154811061224857fe5b9060005260206000209060080201905092915050565b600061226985611816565b11156122c05761227884611b65565b60020154831160405180604001604052806009815260200168746f6f206561726c7960b81b815250906122be5760405162461bcd60e51b81526004016105059190613293565b505b83546001810185556000858152602090206008909102016122e38185858561285c565b805460028601546122f391611bda565b60028601558454600110156123175760018581015461231191611bda565b60018601555b5050505050565b6000826002015482111561232e57fe5b611c3460016121898585612886565b600081516000141561235157506000612585565b600061236784612361888861218f565b906128b2565b600188015490925082915061237c9082611bda565b600188015561271060005b84518110156125815760006123be8683815181106123a157fe5b60200260200101516020015184866129199092919063ffffffff16565b90506123ca848261218f565b93506123f68683815181106123db57fe5b6020026020010151602001518461218f90919063ffffffff16565b925060008061241c8c89868151811061240b57fe5b602002602001015160000151612a19565b9150915081156124605760008c600001828154811061243757fe5b9060005260206000209060060201905061245a8482612a7c90919063ffffffff16565b506124b1565b8b54600181018d5560008d8152602090208951600690920201906124a5908a908790811061248a57fe5b60200260200101516000015182612a9890919063ffffffff16565b6124af8185612a7c565b505b8784815181106124bd57fe5b6020026020010151600001516001600160a01b031663e2739563846040518263ffffffff1660e01b81526004016124f491906133e4565b600060405180830381600087803b15801561250e57600080fd5b505af1158015612522573d6000803e3d6000fd5b505050507fea9b87b57d7b678dd3c9da933ff547ad63395e04ee46cd57894c7b53618dc39a88858151811061255357fe5b6020026020010151600001518460405161256e929190613260565b60405180910390a1505050600101612387565b5050505b95945050505050565b6000805b835481101561268e576000836001600160a01b0316634b13e8728660000184815481106125bb57fe5b60009182526020909120600690910201546040516001600160e01b031960e084901b1681526125f6916001600160a01b031690600401613241565b606060405180830381600087803b15801561261057600080fd5b505af1158015612624573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126489190613152565b905061268361267c8287600001858154811061266057fe5b9060005260206000209060060201612ad990919063ffffffff16565b8490611bda565b925050600101612592565b50600283015461269e9082611bda565b6002840181905560018401541015611c3757fe5b6000805b82548110156121685760006126e68460000183815481106126d357fe5b9060005260206000209060060201612c2d565b9050612717818560000184815481106126fb57fe5b9060005260206000209060060201612c4a90919063ffffffff16565b60038401546127269082611bda565b6003850155835484908390811061273957fe5b60009182526020822060069091020154604080516306201f1d60e01b815290516001600160a01b03909216926306201f1d928592600480820193929182900301818588803b15801561278a57600080fd5b505af115801561279e573d6000803e3d6000fd5b50505050506127d2818560000184815481106127b657fe5b9060005260206000209060060201612c6590919063ffffffff16565b60048401546127e19082611bda565b60048501556127f08382611bda565b92507f4839bc860ac633cfbce1fe18dc3c135733eca7b2dc8ed40e6e6b713a431bcf4484600001838154811061282257fe5b600091825260209091206006909102015460405161284b916001600160a01b0316908490613260565b60405180910390a1506001016126b6565b6001840183905561286d8282612c80565b845561287883612caf565b846002018190555050505050565b6002820154600090808311156128a0576000915050611c37565b6128aa8382612cc7565b915050611c37565b6000808211612908576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161291157fe5b049392505050565b6000808211612962576040805162461bcd60e51b815260206004820152601060248201526f4469766973696f6e206279207a65726f60801b604482015290519081900360640190fd5b8361296f57506000611fc7565b8383028385828161297c57fe5b0414156129955782818161298c57fe5b04915050611fc7565b60008386816129a057fe5b04905060008487816129ae57fe5b06905060008587816129bc57fe5b04905060008688816129ca57fe5b069050612a0c6129de886123618685612ce2565b6121896129eb8686612ce2565b6121896129f88987612ce2565b6121898d612a068c8b612ce2565b90612ce2565b9998505050505050505050565b600080805b8454811015612a7457836001600160a01b0316856000018281548110612a4057fe5b60009182526020909120600690910201546001600160a01b03161415612a6c5780915060019250612a74565b600101612a1e565b509250929050565b6001820154612a8b9082611bda565b6001830155600290910155565b81546001600160a01b0319166001600160a01b0391909116178155600060018201819055600282018190556003820181905560048201819055600590910155565b81546000906001600160a01b0316318183516001811115612af657fe5b1415612b975760208301516002850154600091612b1591906064612919565b9050600082821115612b2e57612b2b828461218f565b90505b6000612b3987612c2d565b905081811115612b4c5760009450612b59565b612b56828261218f565b94505b6000612b808860040154612b7a848b6001015461218f90919063ffffffff16565b9061218f565b905080861115612b8e578095505b50505050612bcc565b600183516001811115612ba657fe5b1415612bc65760038401546001850154612bbf9161218f565b9150612bcc565b60009150fe5b6003840154612bdb9083611bda565b600385015583546040517f9145b1e2df1630c4e7b11419b36afb9de07a4dc780726dfa970f265b1d627ad791612c1e916001600160a01b03909116908590613260565b60405180910390a15092915050565b6000611c378260040154836003015461218f90919063ffffffff16565b6004820154612c599082611bda565b82600401819055505050565b6005820154612c749082611bda565b82600501819055505050565b6000611c34612c9384846201d4c0612919565b612caa6b1027e72f1f12813088000000600c6128b2565b612d3b565b6000611c376001612cc184601e612d51565b90612d66565b600081831115612cd657600080fd5b62015180838303612911565b600082612cf157506000611c37565b82820282848281612cfe57fe5b0414611c345760405162461bcd60e51b81526004018080602001828103825260218152602001806135b06021913960400191505060405180910390fd5b6000818310612d4a5781611c34565b5090919050565b620151808102820182811015611c3757600080fd5b80820382811115611c3757600080fd5b6040805160608101909152806000815260006020820181905260409091015290565b50805460018160011615610100020316600290046000825580601f10612dbe57506114eb565b601f0160209004906000526020600020908101906114eb9190612e8d565b6040518060800160405280600081526020016000815260200160008152602001612e04612ea2565b905290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282612e3f5760008555612e85565b82601f10612e5857805160ff1916838001178555612e85565b82800160010185558215612e85579182015b82811115612e85578251825591602001919060010190612e6a565b50610eb59291505b5b80821115610eb55760008155600101612e8e565b6040518060a0016040528060608152602001600081526020016000815260200160008152602001600081525090565b600082601f830112612ee1578081fd5b81356020612ef6612ef18361349e565b61347a565b8281528181019085830183850287018401881015612f12578586fd5b855b85811015612f39578135612f2781613567565b84529284019290840190600101612f14565b5090979650505050505050565b600060208284031215612f57578081fd5b8135611c3481613567565b60008060408385031215612f74578081fd5b823567ffffffffffffffff80821115612f8b578283fd5b818501915085601f830112612f9e578283fd5b81356020612fae612ef18361349e565b82815281810190858301838502870184018b1015612fca578788fd5b8796505b84871015612fec578035835260019690960195918301918301612fce565b5096505086013592505080821115613002578283fd5b5061300f85828601612ed1565b9150509250929050565b6000602080838503121561302b578182fd5b825167ffffffffffffffff80821115613042578384fd5b818501915085601f830112613055578384fd5b8151613063612ef18261349e565b818152848101908486016040808502870188018b1015613081578889fd5b8896505b848710156130db5780828c03121561309b578889fd5b805181810181811088821117156130ae57fe5b825282516130bb81613567565b815282890151898201528452600196909601959287019290810190613085565b50909998505050505050505050565b6000602082840312156130fb578081fd5b81356001600160e01b031981168114611c34578182fd5b600080600060608486031215613126578081fd5b833561313181613567565b925060208401356131418161357c565b929592945050506040919091013590565b600060608284031215613163578081fd5b6040516060810181811067ffffffffffffffff8211171561318057fe5b604052825161318e8161357c565b815260208381015190820152604083015180151581146131ac578283fd5b60408201529392505050565b6000602082840312156131c9578081fd5b5035919050565b6000602082840312156131e1578081fd5b5051919050565b60008151808452815b8181101561320d576020818501810151868301820152016131f1565b8181111561321e5782602083870101525b50601f01601f19169290920160200192915050565b6002811061323d57fe5b9052565b6001600160a01b0391909116815260200190565b901515815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b0392831681529116602082015260400190565b600060208252611c3460208301846131e8565b6000602080835260a0845182850152818501516040818187015280870151915060608281880152808801519250608080818901526101408801845186878b01528181518084526101608c01915089830193508a92505b8083101561335057835180516001600160a01b031683528a8101518b84015287810151888401528681015187840152858101518684015289015189830152928901926001929092019160c0909101906132fc565b509786015160c08b015250509183015160e08801528201516101008701520151610120909401939093529392505050565b6000606082019050613394828451613233565b6020830151602083015260408301511515604083015292915050565b60006060820190506133c68260ff855416613233565b6001830154602083015260029092015460ff16151560409091015290565b90815260200190565b60008382526040602083015261340660408301846131e8565b949350505050565b918252602082015260400190565b958652602086019490945260408501929092526060840152608083015260a082015260c00190565b978852602088019690965260408701949094526060860192909252608085015260a084015260c083015260e08201526101000190565b60405181810167ffffffffffffffff8111828210171561349657fe5b604052919050565b600067ffffffffffffffff8211156134b257fe5b5060209081020190565b60e01c90565b600060443d10156134d25761064d565b600481823e6308c379a06134e682516134bc565b146134f05761064d565b6040513d600319016004823e80513d67ffffffffffffffff8160248401118184111715613520575050505061064d565b8284019250825191508082111561353a575050505061064d565b503d830160208284010111156135525750505061064d565b601f01601f1916810160200160405291505090565b6001600160a01b03811681146114eb57600080fd5b600281106114eb57600080fdfe756e6b6e6f776e206572726f722e20676574416e6e75616c50657263656e7461676542697073536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77756e6b6e6f776e206572726f722e20757064617465417574686f72697a6564496e666c6174696f6e416e6443697263756c6174696e67537570706c79a26469706673582212208aa9018abaad8ac2fb8e4b8ef7abdac9e15a8b22fdf68617dad37dd499c20e9164736f6c63430007060033",
923
+ "deployedBytecode": "0x60806040526004361061019c5760003560e01c80639d6a890f116100ec578063e17f212e1161008a578063f5a9838311610064578063f5a9838314610430578063f5f5ba7214610445578063f639c12c14610467578063f64cee611461047c5761019c565b8063e17f212e146103f1578063e22fdece14610406578063f3f8dcf91461041b5761019c565b8063b8cca0cf116100c6578063b8cca0cf1461039d578063c39049e4146103b2578063c611c2c5146103d4578063c9d3dc87146103dc5761019c565b80639d6a890f14610348578063a107753214610368578063b00c0b761461037d5761019c565b806362354e03116101595780636e61ab96116101335780636e61ab96146102be57806372993615146102de57806374e6310e146102f357806384e10a90146103215761019c565b806362354e031461026757806367fc40291461027c5780636d0e8c341461029c5761019c565b8063047fc9aa146101a157806333ed77cc146101cc5780634b13e872146101ee5780635267a15d1461021b5780635aa6e675146102305780635ff2707914610245575b600080fd5b3480156101ad57600080fd5b506101b661049c565b6040516101c39190613241565b60405180910390f35b3480156101d857600080fd5b506101e16104ab565b6040516101c391906133e4565b3480156101fa57600080fd5b5061020e610209366004612f46565b6104b1565b6040516101c39190613381565b34801561022757600080fd5b506101b6610595565b34801561023c57600080fd5b506101b66105ba565b34801561025157600080fd5b506102656102603660046130ea565b610650565b005b34801561027357600080fd5b506101b66109a5565b34801561028857600080fd5b506102656102973660046130ea565b6109b0565b3480156102a857600080fd5b506102b1610a98565b6040516101c39190613255565b3480156102ca57600080fd5b506102656102d9366004613112565b610eb9565b3480156102ea57600080fd5b506101e1611020565b3480156102ff57600080fd5b5061031361030e3660046130ea565b611026565b6040516101c39291906133ed565b34801561032d57600080fd5b506103366110cc565b6040516101c39695949392919061341c565b34801561035457600080fd5b50610265610363366004612f46565b6110ea565b34801561037457600080fd5b506101b66111a3565b34801561038957600080fd5b50610265610398366004612f62565b6111c7565b3480156103a957600080fd5b506101e1611272565b3480156103be57600080fd5b506103c7611296565b6040516101c391906132a6565b6102656113b0565b3480156103e857600080fd5b506101e16114ee565b3480156103fd57600080fd5b506102b16114f4565b34801561041257600080fd5b506102b1611504565b34801561042757600080fd5b506101b661157d565b34801561043c57600080fd5b5061026561158c565b34801561045157600080fd5b5061045a611646565b6040516101c39190613293565b34801561047357600080fd5b506101e1611669565b34801561048857600080fd5b506103c76104973660046131b8565b61167c565b6003546001600160a01b031681565b600e5481565b6104b9612d76565b60408051808201909152600c81526b06164647265737320697320360a41b602082015282906001600160a01b03821661050e5760405162461bcd60e51b81526004016105059190613293565b60405180910390fd5b506001600160a01b0383166000908152600c60205260409020600281015460ff1661055557805460ff19908116825560786001808401919091556002830180549092161790555b8054839060ff16600181111561056757fe5b9081600181111561057457fe5b905250600181015460208401526002015460ff161515604083015250919050565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e77195490565b60008054600160a81b900460ff166105dd576000546001600160a01b031661064a565b60076001609c1b016001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b15801561061d57600080fd5b505afa158015610631573d6000803e3d6000fd5b505050506040513d602081101561064757600080fd5b50515b90505b90565b60408051630debfda360e41b8152336004820152905160076001609c1b019163debfda30916024808301926020929190829003018186803b15801561069457600080fd5b505afa1580156106a8573d6000803e3d6000fd5b505050506040513d60208110156106be57600080fd5b5051610701576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b031981166000908152600160205260409020805461076d576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b80544210156107c3576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561085d5780601f106108325761010080835404028352916020019161085d565b820191906000526020600020905b81548152906001019060200180831161084057829003601f168201915b5050506001600160e01b03198616600090815260016020819052604082208281559495509092506108919150830182612d98565b50506000805460ff60b01b1916600160b01b178155604051825130918491819060208401908083835b602083106108d95780518252601f1990920191602091820191016108ba565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461093b576040519150601f19603f3d011682016040523d82523d6000602084013e610940565b606091505b50506000805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a161099f81611798565b50505050565b60076001609c1b0181565b6109b86117b5565b6001600160e01b03198116600090815260016020526040902054610a23576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b03198116600090815260016020819052604082208281559190610a9390830182612d98565b505050565b60035460408051808201909152600c81526b06164647265737320697320360a41b60208201526000916001600160a01b03169081610ae95760405162461bcd60e51b81526004016105059190613293565b50336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b5b576040805162461bcd60e51b815260206004820152601160248201527037b7363c90333630b932903230b2b6b7b760791b604482015290519081900360640190fd5b7f0000000000000000000000000000000000000000000000000000000000000000421015610b8c5760019150610eb5565b600e54610b985742600e555b610ba26004611816565b610bb457610baf4261181a565b610be3565b6000610bc06004611b65565b60020154905080421115610be157610be1610bdc826001611bda565b61181a565b505b600b544290610bf59062015180611bda565b11610eb05742600b819055506000610c9c42600260009054906101000a90046001600160a01b03166001600160a01b031663c853b8d46040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610c5757600080fd5b505af1158015610c6b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c939190810190613019565b60049190611c3d565b90507fe69ea09c0c2d88b5a023a23e65e8ffeb65667d6b7b4076cbee9ba25f5450235581604051610ccd91906133e4565b60405180910390a1600354604051630512107160e51b81526001600160a01b039091169063a2420e2090610d059084906004016133e4565b600060405180830381600087803b158015610d1f57600080fd5b505af1925050508015610d30575060015b610d9357610d3c6134c2565b80610d475750610d61565b8060405162461bcd60e51b81526004016105059190613293565b6040518060600160405280603c81526020016135d1603c913960405162461bcd60e51b81526004016105059190613293565b6000610da0600430611c9f565b90507f1f0936062e6ce780790714a1ec5787d290675660a8566059ac9d6cfb2a336eec81604051610dd191906133e4565b60405180910390a160405163074ef3eb60e51b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e9de7d6090610e259084906004016133e4565b600060405180830381600087803b158015610e3f57600080fd5b505af1925050508015610e50575060015b610ead57610e5c6134c2565b80610d475750604080518082018252601d81527f756e6b6e6f776e206572726f722e20726571756573744d696e74696e670000006020820152905162461bcd60e51b81526105059190600401613293565b50505b600191505b5090565b60408051808201909152600c81526b06164647265737320697320360a41b602082015283906001600160a01b038216610f055760405162461bcd60e51b81526004016105059190613293565b50600054600160b01b900460ff1680610f285750600054600160a81b900460ff16155b1561101557610f35611ce7565b6000836001811115610f4357fe5b1415610f8c57604080518082019091526009815268746f707570206c6f7760b81b602082015260648311610f8a5760405162461bcd60e51b81526004016105059190613293565b505b6001600160a01b0384166000908152600c6020526040902080548490829060ff191660018381811115610fbb57fe5b0217905550600180820184905560028201805460ff191690911790556040517fcf085312d79a75faa5f1b9f6bec58a64813338f5e5e5759573cab22c6da2d25b906110079083906133b0565b60405180910390a15061099f565b61099f600036611d1c565b600d5481565b600160208181526000928352604092839020805481840180548651600296821615610100026000190190911695909504601f810185900485028601850190965285855290949193929091908301828280156110c25780601f10611097576101008083540402835291602001916110c2565b820191906000526020600020905b8154815290600101906020018083116110a557829003601f168201915b5050505050905082565b600754600854600954600a54600654600d5494959394929391929091565b600054600160a01b900460ff1615611140576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b7f000000000000000000000000000000000000000000000000000000000000000081565b6111cf610595565b6001600160a01b0316336001600160a01b03161461122b576040805162461bcd60e51b815260206004820152601460248201527337b7363c9030b2323932b9b9903ab83230ba32b960611b604482015290519081900360640190fd5b61126461125f83836040518060400160405280600e81526020016d20b2323932b9b9aab83230ba32b960911b815250611e9f565b611fce565b61126e8282611ff2565b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b61129e612ddc565b6112a86004611b65565b604051806080016040529081600082015481526020016001820154815260200160028201548152602001600382016040518060a001604052908160008201805480602002602001604051908101604052809291908181526020016000905b828210156113775760008481526020908190206040805160c0810182526006860290920180546001600160a01b031683526001808201548486015260028201549284019290925260038101546060840152600481015460808401526005015460a08301529083529092019101611306565b50505050815260200160018201548152602001600282015481526020016003820154815260200160048201548152505081525050905090565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611421576040805162461bcd60e51b815260206004820152601160248201527037b7363c90333630b932903230b2b6b7b760791b604482015290519081900360640190fd5b600061142d6004612105565b9050600061143961216e565b90506000611447478361218f565b9050801561146057600d5461145c9082611bda565b600d555b7f992ba5c7b7d6602101783b4d28d0b93011fb883039e68c729b933bf711678627838260405161149192919061340e565b60405180910390a1505050476114a561216e565b146040518060400160405280600e81526020016d6f7574206f662062616c616e636560901b815250906114eb5760405162461bcd60e51b81526004016105059190613293565b50565b600b5481565b600054600160a81b900460ff1681565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611577576040805162461bcd60e51b815260206004820152601160248201527037b7363c90333630b932903230b2b6b7b760791b604482015290519081900360640190fd5b50600090565b6002546001600160a01b031681565b6115946117b5565b600054600160a81b900460ff16156115f3576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b60008054600161ff0160a01b031916600160a81b1790556040805160076001609c1b01815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b60408051808201909152600981526824b7333630ba34b7b760b91b602082015290565b600b5460009061064a9062015180611bda565b611684612ddc565b61168f6004836121ec565b604051806080016040529081600082015481526020016001820154815260200160028201548152602001600382016040518060a001604052908160008201805480602002602001604051908101604052809291908181526020016000905b8282101561175e5760008481526020908190206040805160c0810182526006860290920180546001600160a01b031683526001808201548486015260028201549284019290925260038101546060840152600481015460808401526005015460a083015290835290920191016116ed565b5050509082525060018201546020820152600282015460408201526003820154606082015260049091015460809091015290525092915050565b3d604051818101604052816000823e82156117b1578181f35b8181fd5b6117bd6105ba565b6001600160a01b0316336001600160a01b031614611814576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b565b5490565b600360009054906101000a90046001600160a01b03166001600160a01b0316633c8c461c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561186a57600080fd5b505af115801561187e573d6000803e3d6000fd5b505050506000600360009054906101000a90046001600160a01b03166001600160a01b0316631b73b4cb6040518163ffffffff1660e01b815260040160206040518083038186803b1580156118d257600080fd5b505afa1580156118e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061190a91906131d0565b9050600260009054906101000a90046001600160a01b03166001600160a01b031663981940296040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561195c57600080fd5b505af192505050801561198c575060408051601f3d908101601f19168201909252611989918101906131d0565b60015b6119d0576119986134c2565b80610d47575060405180606001604052806026815260200161358a6026913960405162461bcd60e51b81526004016105059190613293565b6119dd600484848461225e565b5060006119ea6004611b65565b604051806080016040529081600082015481526020016001820154815260200160028201548152602001600382016040518060a001604052908160008201805480602002602001604051908101604052809291908181526020016000905b82821015611ab95760008481526020908190206040805160c0810182526006860290920180546001600160a01b031683526001808201548486015260028201549284019290925260038101546060840152600481015460808401526005015460a08301529083529092019101611a48565b5050505081526020016001820154815260200160028201548152602001600382015481526020016004820154815250508152505090507f677db469fe5eaf40f0415f5433ebc8ebe9ac089662feca0280495fb4c96da29181602001518260400151848460000151856060015160200151866060015160400151876060015160600151886060015160800151604051611b58989796959493929190613444565b60405180910390a1505050565b600080611b7183611816565b11604051806040016040528060088152602001676e6f20616e6e756d60c01b81525090611bb15760405162461bcd60e51b81526004016105059190613293565b5081600001826001015481548110611bc557fe5b90600052602060002090600802019050919050565b600082820183811015611c34576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b600080611c4985611b65565b60028601546003870154919250611c7191611c64848861231e565b600385019291908761233d565b6003860154909250611c839083611bda565b6003860181905560028601541015611c9757fe5b509392505050565b600080611cab84611b65565b9050611cba600382018461258e565b6004850154909250611ccc9083611bda565b6004850181905560038501541015611ce057fe5b5092915050565b600054600160b01b900460ff1615611d1457333014611d0257fe5b6000805460ff60b01b19169055611814565b6118146117b5565b611d246117b5565b600082359050600060076001609c1b016001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b158015611d6c57600080fd5b505afa158015611d80573d6000803e3d6000fd5b505050506040513d6020811015611d9657600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b03198616815260016020818152604090922084518155848301518051919450611e1a93928501920190612e09565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b600080826040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015611ee3578181015183820152602001611ecb565b50505050905090810190601f168015611f105780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012090506000805b8651811015611f7857868181518110611f4657fe5b6020026020010151831415611f7057858181518110611f6157fe5b60200260200101519150611f78565b600101611f31565b506001600160a01b038116611fc3576040805162461bcd60e51b815260206004820152600c60248201526b61646472657373207a65726f60a01b604482015290519081900360640190fd5b9150505b9392505050565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b600061201d838360405180604001604052806006815260200165537570706c7960d01b815250611e9f565b6003546040519192507f9a9b245c8db671c90d6db95f7ff0c18c15378a1d55ee4aea21759be8ad27d30e9161205d916001600160a01b0316908490613279565b60405180910390a1600380546001600160a01b0319166001600160a01b03831617905560408051808201909152601381527224b7333630ba34b7b720b63637b1b0ba34b7b760691b60208201526120b79084908490611e9f565b600280546001600160a01b0319166001600160a01b0392831617908190556040517f53cd61e1fdebbc2af2597f77a6a3681c1abbd8771874cc85cf65e035cf85b2af92611b58921690613241565b60008061211183611b65565b905061211f816003016126b2565b60058401549092506121319083611bda565b600584018190556004840154101561214557fe5b60068301546121549083611bda565b600684018190556005840154101561216857fe5b50919050565b600d54600a5460095460009261064a9290916121899161218f565b90611bda565b6000828211156121e6576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006121f783611816565b8210604051806040016040528060088152602001676e6f20616e6e756d60c01b815250906122385760405162461bcd60e51b81526004016105059190613293565b5082600001828154811061224857fe5b9060005260206000209060080201905092915050565b600061226985611816565b11156122c05761227884611b65565b60020154831160405180604001604052806009815260200168746f6f206561726c7960b81b815250906122be5760405162461bcd60e51b81526004016105059190613293565b505b83546001810185556000858152602090206008909102016122e38185858561285c565b805460028601546122f391611bda565b60028601558454600110156123175760018581015461231191611bda565b60018601555b5050505050565b6000826002015482111561232e57fe5b611c3460016121898585612886565b600081516000141561235157506000612585565b600061236784612361888861218f565b906128b2565b600188015490925082915061237c9082611bda565b600188015561271060005b84518110156125815760006123be8683815181106123a157fe5b60200260200101516020015184866129199092919063ffffffff16565b90506123ca848261218f565b93506123f68683815181106123db57fe5b6020026020010151602001518461218f90919063ffffffff16565b925060008061241c8c89868151811061240b57fe5b602002602001015160000151612a19565b9150915081156124605760008c600001828154811061243757fe5b9060005260206000209060060201905061245a8482612a7c90919063ffffffff16565b506124b1565b8b54600181018d5560008d8152602090208951600690920201906124a5908a908790811061248a57fe5b60200260200101516000015182612a9890919063ffffffff16565b6124af8185612a7c565b505b8784815181106124bd57fe5b6020026020010151600001516001600160a01b031663e2739563846040518263ffffffff1660e01b81526004016124f491906133e4565b600060405180830381600087803b15801561250e57600080fd5b505af1158015612522573d6000803e3d6000fd5b505050507fea9b87b57d7b678dd3c9da933ff547ad63395e04ee46cd57894c7b53618dc39a88858151811061255357fe5b6020026020010151600001518460405161256e929190613260565b60405180910390a1505050600101612387565b5050505b95945050505050565b6000805b835481101561268e576000836001600160a01b0316634b13e8728660000184815481106125bb57fe5b60009182526020909120600690910201546040516001600160e01b031960e084901b1681526125f6916001600160a01b031690600401613241565b606060405180830381600087803b15801561261057600080fd5b505af1158015612624573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126489190613152565b905061268361267c8287600001858154811061266057fe5b9060005260206000209060060201612ad990919063ffffffff16565b8490611bda565b925050600101612592565b50600283015461269e9082611bda565b6002840181905560018401541015611c3757fe5b6000805b82548110156121685760006126e68460000183815481106126d357fe5b9060005260206000209060060201612c2d565b9050612717818560000184815481106126fb57fe5b9060005260206000209060060201612c4a90919063ffffffff16565b60038401546127269082611bda565b6003850155835484908390811061273957fe5b60009182526020822060069091020154604080516306201f1d60e01b815290516001600160a01b03909216926306201f1d928592600480820193929182900301818588803b15801561278a57600080fd5b505af115801561279e573d6000803e3d6000fd5b50505050506127d2818560000184815481106127b657fe5b9060005260206000209060060201612c6590919063ffffffff16565b60048401546127e19082611bda565b60048501556127f08382611bda565b92507f4839bc860ac633cfbce1fe18dc3c135733eca7b2dc8ed40e6e6b713a431bcf4484600001838154811061282257fe5b600091825260209091206006909102015460405161284b916001600160a01b0316908490613260565b60405180910390a1506001016126b6565b6001840183905561286d8282612c80565b845561287883612caf565b846002018190555050505050565b6002820154600090808311156128a0576000915050611c37565b6128aa8382612cc7565b915050611c37565b6000808211612908576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161291157fe5b049392505050565b6000808211612962576040805162461bcd60e51b815260206004820152601060248201526f4469766973696f6e206279207a65726f60801b604482015290519081900360640190fd5b8361296f57506000611fc7565b8383028385828161297c57fe5b0414156129955782818161298c57fe5b04915050611fc7565b60008386816129a057fe5b04905060008487816129ae57fe5b06905060008587816129bc57fe5b04905060008688816129ca57fe5b069050612a0c6129de886123618685612ce2565b6121896129eb8686612ce2565b6121896129f88987612ce2565b6121898d612a068c8b612ce2565b90612ce2565b9998505050505050505050565b600080805b8454811015612a7457836001600160a01b0316856000018281548110612a4057fe5b60009182526020909120600690910201546001600160a01b03161415612a6c5780915060019250612a74565b600101612a1e565b509250929050565b6001820154612a8b9082611bda565b6001830155600290910155565b81546001600160a01b0319166001600160a01b0391909116178155600060018201819055600282018190556003820181905560048201819055600590910155565b81546000906001600160a01b0316318183516001811115612af657fe5b1415612b975760208301516002850154600091612b1591906064612919565b9050600082821115612b2e57612b2b828461218f565b90505b6000612b3987612c2d565b905081811115612b4c5760009450612b59565b612b56828261218f565b94505b6000612b808860040154612b7a848b6001015461218f90919063ffffffff16565b9061218f565b905080861115612b8e578095505b50505050612bcc565b600183516001811115612ba657fe5b1415612bc65760038401546001850154612bbf9161218f565b9150612bcc565b60009150fe5b6003840154612bdb9083611bda565b600385015583546040517f9145b1e2df1630c4e7b11419b36afb9de07a4dc780726dfa970f265b1d627ad791612c1e916001600160a01b03909116908590613260565b60405180910390a15092915050565b6000611c378260040154836003015461218f90919063ffffffff16565b6004820154612c599082611bda565b82600401819055505050565b6005820154612c749082611bda565b82600501819055505050565b6000611c34612c9384846201d4c0612919565b612caa6b1027e72f1f12813088000000600c6128b2565b612d3b565b6000611c376001612cc184601e612d51565b90612d66565b600081831115612cd657600080fd5b62015180838303612911565b600082612cf157506000611c37565b82820282848281612cfe57fe5b0414611c345760405162461bcd60e51b81526004018080602001828103825260218152602001806135b06021913960400191505060405180910390fd5b6000818310612d4a5781611c34565b5090919050565b620151808102820182811015611c3757600080fd5b80820382811115611c3757600080fd5b6040805160608101909152806000815260006020820181905260409091015290565b50805460018160011615610100020316600290046000825580601f10612dbe57506114eb565b601f0160209004906000526020600020908101906114eb9190612e8d565b6040518060800160405280600081526020016000815260200160008152602001612e04612ea2565b905290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282612e3f5760008555612e85565b82601f10612e5857805160ff1916838001178555612e85565b82800160010185558215612e85579182015b82811115612e85578251825591602001919060010190612e6a565b50610eb59291505b5b80821115610eb55760008155600101612e8e565b6040518060a0016040528060608152602001600081526020016000815260200160008152602001600081525090565b600082601f830112612ee1578081fd5b81356020612ef6612ef18361349e565b61347a565b8281528181019085830183850287018401881015612f12578586fd5b855b85811015612f39578135612f2781613567565b84529284019290840190600101612f14565b5090979650505050505050565b600060208284031215612f57578081fd5b8135611c3481613567565b60008060408385031215612f74578081fd5b823567ffffffffffffffff80821115612f8b578283fd5b818501915085601f830112612f9e578283fd5b81356020612fae612ef18361349e565b82815281810190858301838502870184018b1015612fca578788fd5b8796505b84871015612fec578035835260019690960195918301918301612fce565b5096505086013592505080821115613002578283fd5b5061300f85828601612ed1565b9150509250929050565b6000602080838503121561302b578182fd5b825167ffffffffffffffff80821115613042578384fd5b818501915085601f830112613055578384fd5b8151613063612ef18261349e565b818152848101908486016040808502870188018b1015613081578889fd5b8896505b848710156130db5780828c03121561309b578889fd5b805181810181811088821117156130ae57fe5b825282516130bb81613567565b815282890151898201528452600196909601959287019290810190613085565b50909998505050505050505050565b6000602082840312156130fb578081fd5b81356001600160e01b031981168114611c34578182fd5b600080600060608486031215613126578081fd5b833561313181613567565b925060208401356131418161357c565b929592945050506040919091013590565b600060608284031215613163578081fd5b6040516060810181811067ffffffffffffffff8211171561318057fe5b604052825161318e8161357c565b815260208381015190820152604083015180151581146131ac578283fd5b60408201529392505050565b6000602082840312156131c9578081fd5b5035919050565b6000602082840312156131e1578081fd5b5051919050565b60008151808452815b8181101561320d576020818501810151868301820152016131f1565b8181111561321e5782602083870101525b50601f01601f19169290920160200192915050565b6002811061323d57fe5b9052565b6001600160a01b0391909116815260200190565b901515815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b0392831681529116602082015260400190565b600060208252611c3460208301846131e8565b6000602080835260a0845182850152818501516040818187015280870151915060608281880152808801519250608080818901526101408801845186878b01528181518084526101608c01915089830193508a92505b8083101561335057835180516001600160a01b031683528a8101518b84015287810151888401528681015187840152858101518684015289015189830152928901926001929092019160c0909101906132fc565b509786015160c08b015250509183015160e08801528201516101008701520151610120909401939093529392505050565b6000606082019050613394828451613233565b6020830151602083015260408301511515604083015292915050565b60006060820190506133c68260ff855416613233565b6001830154602083015260029092015460ff16151560409091015290565b90815260200190565b60008382526040602083015261340660408301846131e8565b949350505050565b918252602082015260400190565b958652602086019490945260408501929092526060840152608083015260a082015260c00190565b978852602088019690965260408701949094526060860192909252608085015260a084015260c083015260e08201526101000190565b60405181810167ffffffffffffffff8111828210171561349657fe5b604052919050565b600067ffffffffffffffff8211156134b257fe5b5060209081020190565b60e01c90565b600060443d10156134d25761064d565b600481823e6308c379a06134e682516134bc565b146134f05761064d565b6040513d600319016004823e80513d67ffffffffffffffff8160248401118184111715613520575050505061064d565b8284019250825191508082111561353a575050505061064d565b503d830160208284010111156135525750505061064d565b601f01601f1916810160200160405291505090565b6001600160a01b03811681146114eb57600080fd5b600281106114eb57600080fdfe756e6b6e6f776e206572726f722e20676574416e6e75616c50657263656e7461676542697073536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77756e6b6e6f776e206572726f722e20757064617465417574686f72697a6564496e666c6174696f6e416e6443697263756c6174696e67537570706c79a26469706673582212208aa9018abaad8ac2fb8e4b8ef7abdac9e15a8b22fdf68617dad37dd499c20e9164736f6c63430007060033",
924
924
  "linkReferences": {},
925
925
  "deployedLinkReferences": {}
926
926
  }
@@ -456,8 +456,8 @@
456
456
  "type": "function"
457
457
  }
458
458
  ],
459
- "bytecode": "0x60806040523480156200001157600080fd5b5060405162002469380380620024698339810160408190526200003491620003b2565b8183806001600160a01b038116156200005257620000528162000145565b506001600160a01b038116620000a2576040805162461bcd60e51b815260206004820152601060248201526f5f676f7665726e616e6365207a65726f60801b604482015290519081900360640190fd5b50620000ae8162000208565b5060008151116040518060400160405280601f81526020017f616e6e75616c20696e666c6174696f6e207363686564756c6520656d7074790081525090620001145760405162461bcd60e51b81526004016200010b91906200048f565b60405180910390fd5b50806000815181106200012357fe5b60209081029190910101516004556200013c816200022c565b505050620004e5565b600054600160a01b900460ff1615620001a5576040805162461bcd60e51b815260206004820152601460248201527f696e697469616c6973656420213d2066616c7365000000000000000000000000604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b60198151111560405180604001604052806008815260200167746f6f206d616e7960c01b81525090620002745760405162461bcd60e51b81526004016200010b91906200048f565b50805160045460005b828110156200038f57818482815181106200029457fe5b602002602001015111158015620002bf57506000848281518110620002b557fe5b6020026020010151115b8015620002e55750600a61271004848281518110620002da57fe5b602002602001015111155b6040518060400160405280601e81526020017f616e6e75616c20696e666c6174696f6e206f7574206f6620626f756e64730000815250906200033c5760405162461bcd60e51b81526004016200010b91906200048f565b508381815181106200034a57fe5b6020026020010151915060058482815181106200036357fe5b60209081029190910181015182546001818101855560009485529290932090920191909155016200027d565b50505050565b80516001600160a01b0381168114620003ad57600080fd5b919050565b600080600060608486031215620003c7578283fd5b620003d28462000395565b92506020620003e381860162000395565b60408601519093506001600160401b038082111562000400578384fd5b818701915087601f83011262000414578384fd5b8151818111156200042157fe5b838102604051858282010181811085821117156200043b57fe5b604052828152858101935084860182860187018c10156200045a578788fd5b8795505b838610156200047e5780518552600195909501949386019386016200045e565b508096505050505050509250925092565b6000602080835283518082850152825b81811015620004bd578581018301518582016040015282016200049f565b81811115620004cf5783604083870101525b50601f01601f1916929092016040019392505050565b611f7480620004f56000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c806398194029116100a2578063be0522e011610071578063be0522e014610227578063c853b8d41461022f578063e17f212e14610244578063ebee6fa414610259578063f5a983831461026157610116565b806398194029146101e65780639d6a890f146101ee578063b00c0b7614610201578063b2d9e8061461021457610116565b806362354e03116100e957806362354e031461017757806367fc40291461017f578063728a5bcb1461019257806374e6310e146101b257806390ac884b146101d357610116565b80631d019e341461011b5780635267a15d146101455780635aa6e6751461015a5780635ff2707914610162575b600080fd5b61012e610129366004611ce5565b610269565b60405161013c929190611e67565b60405180910390f35b61014d6102a1565b60405161013c9190611d63565b61014d6102c6565b610175610170366004611c33565b61035b565b005b61014d6106b0565b61017561018d366004611c33565b6106bb565b6101a56101a0366004611ce5565b6107a3565b60405161013c9190611e99565b6101c56101c0366004611c33565b6107c4565b60405161013c929190611ea2565b6101756101e1366004611bf8565b61086a565b6101a5610927565b6101756101fc366004611a68565b610ab7565b61017561020f366004611a8b565b610b70565b610175610222366004611b42565b610c1b565b61014d610c64565b610237610c73565b60405161013c9190611df1565b61024c610d7d565b60405161013c9190611e5c565b6101a5610d8d565b610175610d93565b6002818154811061027957600080fd5b6000918252602090912001546001600160a01b0381169150600160a01b900463ffffffff1682565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e77195490565b60008054600160a81b900460ff166102e9576000546001600160a01b0316610356565b60076001609c1b016001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b15801561032957600080fd5b505afa15801561033d573d6000803e3d6000fd5b505050506040513d602081101561035357600080fd5b50515b905090565b60408051630debfda360e41b8152336004820152905160076001609c1b019163debfda30916024808301926020929190829003018186803b15801561039f57600080fd5b505afa1580156103b3573d6000803e3d6000fd5b505050506040513d60208110156103c957600080fd5b505161040c576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b0319811660009081526001602052604090208054610478576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b80544210156104ce576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105685780601f1061053d57610100808354040283529160200191610568565b820191906000526020600020905b81548152906001019060200180831161054b57829003601f168201915b5050506001600160e01b031986166000908152600160208190526040822082815594955090925061059c91508301826118a5565b50506000805460ff60b01b1916600160b01b178155604051825130918491819060208401908083835b602083106105e45780518252601f1990920191602091820191016105c5565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610646576040519150601f19603f3d011682016040523d82523d6000602084013e61064b565b606091505b50506000805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a16106aa81610e4d565b50505050565b60076001609c1b0181565b6106c3610e6a565b6001600160e01b0319811660009081526001602052604090205461072e576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b0319811660009081526001602081905260408220828155919061079e908301826118a5565b505050565b600581815481106107b357600080fd5b600091825260209091200154905081565b600160208181526000928352604092839020805481840180548651600296821615610100026000190190911695909504601f810185900485028601850190965285855290949193929091908301828280156108605780601f1061083557610100808354040283529160200191610860565b820191906000526020600020905b81548152906001019060200180831161084357829003601f168201915b5050505050905082565b600054600160b01b900460ff168061088c5750600054600160a81b900460ff16155b1561091957610899610ecb565b60055460005b818110156108d25760058054806108b257fe5b60008281526020812082016000199081019190915501905560010161089f565b506108dc82610f00565b7fe3ad326cdb10e1201bcea3d96ccf2f5437ed71942548e5ba0aab68c9bd296fa48260405161090b9190611e49565b60405180910390a150610924565b610924600036611054565b50565b60035460408051808201909152600c81526b06164647265737320697320360a41b60208201526000916001600160a01b031690816109815760405162461bcd60e51b81526004016109789190611e86565b60405180910390fd5b5060035460408051808201909152600e81526d37b7363c9034b7333630ba34b7b760911b6020820152906001600160a01b031633146109d35760405162461bcd60e51b81526004016109789190611e86565b5060055415610a745760056000815481106109ea57fe5b6000918252602090912001546004556005546001811115610a515760005b60018203811015610a4f5760058160010181548110610a2357fe5b906000526020600020015460058281548110610a3b57fe5b600091825260209091200155600101610a08565b505b6005805480610a5c57fe5b60019003818190600052602060002001600090559055505b7fc46384622db26f8a6509e51f7cbe387b3fa773448f19fc9f070fcdc984cffb8e600454604051610aa59190611e99565b60405180910390a160045491505b5090565b600054600160a01b900460ff1615610b0d576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b610b786102a1565b6001600160a01b0316336001600160a01b031614610bd4576040805162461bcd60e51b815260206004820152601460248201527337b7363c9030b2323932b9b9903ab83230ba32b960611b604482015290519081900360640190fd5b610c0d610c0883836040518060400160405280600e81526020016d20b2323932b9b9aab83230ba32b960911b8152506111d7565b611304565b610c178282611328565b5050565b600054600160b01b900460ff1680610c3d5750600054600160a81b900460ff16155b15610c5957610c4a610ecb565b610c54828261158f565b610c17565b610c17600036611054565b6003546001600160a01b031681565b6002546060908067ffffffffffffffff81118015610c9057600080fd5b50604051908082528060200260200182016040528015610cca57816020015b610cb76118e9565b815260200190600190039081610caf5790505b50915060005b81811015610d785760028181548110610ce557fe5b9060005260206000200160000160149054906101000a900463ffffffff1663ffffffff16838281518110610d1557fe5b6020026020010151602001818152505060028181548110610d3257fe5b60009182526020909120015483516001600160a01b0390911690849083908110610d5857fe5b60209081029190910101516001600160a01b039091169052600101610cd0565b505090565b600054600160a81b900460ff1681565b60045481565b610d9b610e6a565b600054600160a81b900460ff1615610dfa576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b60008054600161ff0160a01b031916600160a81b1790556040805160076001609c1b01815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b3d604051818101604052816000823e8215610e66578181f35b8181fd5b610e726102c6565b6001600160a01b0316336001600160a01b031614610ec9576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b565b600054600160b01b900460ff1615610ef857333014610ee657fe5b6000805460ff60b01b19169055610ec9565b610ec9610e6a565b60198151111560405180604001604052806008815260200167746f6f206d616e7960c01b81525090610f455760405162461bcd60e51b81526004016109789190611e86565b50805160045460005b828110156106aa5781848281518110610f6357fe5b602002602001015111158015610f8c57506000848281518110610f8257fe5b6020026020010151115b8015610fb05750600a61271004848281518110610fa557fe5b602002602001015111155b6040518060400160405280601e81526020017f616e6e75616c20696e666c6174696f6e206f7574206f6620626f756e64730000815250906110045760405162461bcd60e51b81526004016109789190611e86565b5083818151811061101157fe5b60200260200101519150600584828151811061102957fe5b6020908102919091018101518254600181810185556000948552929093209092019190915501610f4e565b61105c610e6a565b600082359050600060076001609c1b016001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156110a457600080fd5b505afa1580156110b8573d6000803e3d6000fd5b505050506040513d60208110156110ce57600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b0319861681526001602081815260409092208451815584830151805191945061115293928501920190611900565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b600080826040516020018080602001828103825283818151815260200191508051906020019080838360005b8381101561121b578181015183820152602001611203565b50505050905090810190601f1680156112485780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012090506000805b86518110156112b05786818151811061127e57fe5b60200260200101518314156112a85785818151811061129957fe5b602002602001015191506112b0565b600101611269565b506001600160a01b0381166112fb576040805162461bcd60e51b815260206004820152600c60248201526b61646472657373207a65726f60a01b604482015290519081900360640190fd5b95945050505050565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b600061135683836040518060400160405280600981526020016824b7333630ba34b7b760b91b8152506111d7565b6003546040519192507f4bdd1012a7d55ed9afad8675a125e1b68c7c15f712c0f3d5cddac69c3b97980591611396916001600160a01b0316908490611d77565b60405180910390a1600380546001600160a01b0319166001600160a01b038316179055600254806113c8575050610c17565b60008167ffffffffffffffff811180156113e157600080fd5b5060405190808252806020026020018201604052801561140b578160200160208202803683370190505b50905060008267ffffffffffffffff8111801561142757600080fd5b50604051908082528060200260200182016040528015611451578160200160208202803683370190505b50905060005b8381101561157c5760006002828154811061146e57fe5b6000918252602080832060408051808201825293909101546001600160a01b038116808552600160a01b90910463ffffffff16928401929092528051637afadd3960e11b81529051929450611525938c938c939263f5f5ba72926004808301939192829003018186803b1580156114e457600080fd5b505afa1580156114f8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115209190810190611c5b565b6111d7565b84838151811061153157fe5b60200260200101906001600160a01b031690816001600160a01b031681525050806020015163ffffffff1683838151811061156857fe5b602090810291909101015250600101611457565b50611587828261158f565b505050505050565b80518251146040518060400160405280600f81526020016e0d8cadccee8d040dad2e6dac2e8c6d608b1b815250906115da5760405162461bcd60e51b81526004016109789190611e86565b50600a8251111560405180604001604052806008815260200167746f6f206d616e7960c01b815250906116205760405162461bcd60e51b81526004016109789190611e86565b50600254600090815b8181101561166657600280548061163c57fe5b600082815260209020810160001990810180546001600160c01b0319169055019055600101611629565b5060005b845181101561180e5761271084828151811061168257fe5b602002602001015111156040518060400160405280601781526020017f686967682073686172696e672070657263656e74616765000000000000000000815250906116e05760405162461bcd60e51b81526004016109789190611e86565b5060006001600160a01b03168582815181106116f857fe5b60200260200101516001600160a01b031614156040518060400160405280600c81526020016b06164647265737320697320360a41b8152509061174e5760405162461bcd60e51b81526004016109789190611e86565b5083818151811061175b57fe5b6020026020010151830192506002604051806040016040528087848151811061178057fe5b60200260200101516001600160a01b031681526020018684815181106117a257fe5b60209081029190910181015163ffffffff90811690925283546001808201865560009586529482902084519101805494909201516001600160a01b03199094166001600160a01b039091161763ffffffff60a01b1916600160a01b93909216929092021790550161166a565b5060408051808201909152601f81527f73756d2073686172696e672070657263656e74616765206e6f74203130302500602082015261271083146118655760405162461bcd60e51b81526004016109789190611e86565b507f5851f041454bd72003e19484c59ec9c1bd9c6f8df07679fd1e94412fb5880b448484604051611897929190611d91565b60405180910390a150505050565b50805460018160011615610100020316600290046000825580601f106118cb5750610924565b601f0160209004906000526020600020908101906109249190611984565b604080518082019091526000808252602082015290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282611936576000855561197c565b82601f1061194f57805160ff191683800117855561197c565b8280016001018555821561197c579182015b8281111561197c578251825591602001919060010190611961565b50610ab39291505b5b80821115610ab35760008155600101611985565b600082601f8301126119a9578081fd5b813560206119be6119b983611edf565b611ebb565b82815281810190858301838502870184018810156119da578586fd5b855b85811015611a015781356119ef81611f29565b845292840192908401906001016119dc565b5090979650505050505050565b600082601f830112611a1e578081fd5b81356020611a2e6119b983611edf565b8281528181019085830183850287018401881015611a4a578586fd5b855b85811015611a0157813584529284019290840190600101611a4c565b600060208284031215611a79578081fd5b8135611a8481611f29565b9392505050565b60008060408385031215611a9d578081fd5b823567ffffffffffffffff80821115611ab4578283fd5b818501915085601f830112611ac7578283fd5b81356020611ad76119b983611edf565b82815281810190858301838502870184018b1015611af3578788fd5b8796505b84871015611b15578035835260019690960195918301918301611af7565b5096505086013592505080821115611b2b578283fd5b50611b3885828601611999565b9150509250929050565b60008060408385031215611b54578182fd5b823567ffffffffffffffff80821115611b6b578384fd5b818501915085601f830112611b7e578384fd5b81356020611b8e6119b983611edf565b82815281810190858301838502870184018b1015611baa578889fd5b8896505b84871015611bd5578035611bc181611f29565b835260019690960195918301918301611bae565b5096505086013592505080821115611beb578283fd5b50611b3885828601611a0e565b600060208284031215611c09578081fd5b813567ffffffffffffffff811115611c1f578182fd5b611c2b84828501611a0e565b949350505050565b600060208284031215611c44578081fd5b81356001600160e01b031981168114611a84578182fd5b600060208284031215611c6c578081fd5b815167ffffffffffffffff80821115611c83578283fd5b818401915084601f830112611c96578283fd5b815181811115611ca257fe5b611cb5601f8201601f1916602001611ebb565b9150808252856020828501011115611ccb578384fd5b611cdc816020840160208601611efd565b50949350505050565b600060208284031215611cf6578081fd5b5035919050565b6000815180845260208085019450808401835b83811015611d2c57815187529582019590820190600101611d10565b509495945050505050565b60008151808452611d4f816020860160208601611efd565b601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b604080825283519082018190526000906020906060840190828701845b82811015611dd35781516001600160a01b031684529284019290840190600101611dae565b50505083810382850152611de78186611cfd565b9695505050505050565b602080825282518282018190526000919060409081850190868401855b82811015611e3c57815180516001600160a01b03168552860151868501529284019290850190600101611e0e565b5091979650505050505050565b600060208252611a846020830184611cfd565b901515815260200190565b6001600160a01b0392909216825263ffffffff16602082015260400190565b600060208252611a846020830184611d37565b90815260200190565b600083825260406020830152611c2b6040830184611d37565b60405181810167ffffffffffffffff81118282101715611ed757fe5b604052919050565b600067ffffffffffffffff821115611ef357fe5b5060209081020190565b60005b83811015611f18578181015183820152602001611f00565b838111156106aa5750506000910152565b6001600160a01b038116811461092457600080fdfea2646970667358221220e09fdb6f4f99b67a205c3f06540f6a62cd2c42b687212ef43df5ebccab97116f64736f6c63430007060033",
460
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101165760003560e01c806398194029116100a2578063be0522e011610071578063be0522e014610227578063c853b8d41461022f578063e17f212e14610244578063ebee6fa414610259578063f5a983831461026157610116565b806398194029146101e65780639d6a890f146101ee578063b00c0b7614610201578063b2d9e8061461021457610116565b806362354e03116100e957806362354e031461017757806367fc40291461017f578063728a5bcb1461019257806374e6310e146101b257806390ac884b146101d357610116565b80631d019e341461011b5780635267a15d146101455780635aa6e6751461015a5780635ff2707914610162575b600080fd5b61012e610129366004611ce5565b610269565b60405161013c929190611e67565b60405180910390f35b61014d6102a1565b60405161013c9190611d63565b61014d6102c6565b610175610170366004611c33565b61035b565b005b61014d6106b0565b61017561018d366004611c33565b6106bb565b6101a56101a0366004611ce5565b6107a3565b60405161013c9190611e99565b6101c56101c0366004611c33565b6107c4565b60405161013c929190611ea2565b6101756101e1366004611bf8565b61086a565b6101a5610927565b6101756101fc366004611a68565b610ab7565b61017561020f366004611a8b565b610b70565b610175610222366004611b42565b610c1b565b61014d610c64565b610237610c73565b60405161013c9190611df1565b61024c610d7d565b60405161013c9190611e5c565b6101a5610d8d565b610175610d93565b6002818154811061027957600080fd5b6000918252602090912001546001600160a01b0381169150600160a01b900463ffffffff1682565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e77195490565b60008054600160a81b900460ff166102e9576000546001600160a01b0316610356565b60076001609c1b016001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b15801561032957600080fd5b505afa15801561033d573d6000803e3d6000fd5b505050506040513d602081101561035357600080fd5b50515b905090565b60408051630debfda360e41b8152336004820152905160076001609c1b019163debfda30916024808301926020929190829003018186803b15801561039f57600080fd5b505afa1580156103b3573d6000803e3d6000fd5b505050506040513d60208110156103c957600080fd5b505161040c576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b0319811660009081526001602052604090208054610478576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b80544210156104ce576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105685780601f1061053d57610100808354040283529160200191610568565b820191906000526020600020905b81548152906001019060200180831161054b57829003601f168201915b5050506001600160e01b031986166000908152600160208190526040822082815594955090925061059c91508301826118a5565b50506000805460ff60b01b1916600160b01b178155604051825130918491819060208401908083835b602083106105e45780518252601f1990920191602091820191016105c5565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610646576040519150601f19603f3d011682016040523d82523d6000602084013e61064b565b606091505b50506000805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a16106aa81610e4d565b50505050565b60076001609c1b0181565b6106c3610e6a565b6001600160e01b0319811660009081526001602052604090205461072e576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b0319811660009081526001602081905260408220828155919061079e908301826118a5565b505050565b600581815481106107b357600080fd5b600091825260209091200154905081565b600160208181526000928352604092839020805481840180548651600296821615610100026000190190911695909504601f810185900485028601850190965285855290949193929091908301828280156108605780601f1061083557610100808354040283529160200191610860565b820191906000526020600020905b81548152906001019060200180831161084357829003601f168201915b5050505050905082565b600054600160b01b900460ff168061088c5750600054600160a81b900460ff16155b1561091957610899610ecb565b60055460005b818110156108d25760058054806108b257fe5b60008281526020812082016000199081019190915501905560010161089f565b506108dc82610f00565b7fe3ad326cdb10e1201bcea3d96ccf2f5437ed71942548e5ba0aab68c9bd296fa48260405161090b9190611e49565b60405180910390a150610924565b610924600036611054565b50565b60035460408051808201909152600c81526b06164647265737320697320360a41b60208201526000916001600160a01b031690816109815760405162461bcd60e51b81526004016109789190611e86565b60405180910390fd5b5060035460408051808201909152600e81526d37b7363c9034b7333630ba34b7b760911b6020820152906001600160a01b031633146109d35760405162461bcd60e51b81526004016109789190611e86565b5060055415610a745760056000815481106109ea57fe5b6000918252602090912001546004556005546001811115610a515760005b60018203811015610a4f5760058160010181548110610a2357fe5b906000526020600020015460058281548110610a3b57fe5b600091825260209091200155600101610a08565b505b6005805480610a5c57fe5b60019003818190600052602060002001600090559055505b7fc46384622db26f8a6509e51f7cbe387b3fa773448f19fc9f070fcdc984cffb8e600454604051610aa59190611e99565b60405180910390a160045491505b5090565b600054600160a01b900460ff1615610b0d576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b610b786102a1565b6001600160a01b0316336001600160a01b031614610bd4576040805162461bcd60e51b815260206004820152601460248201527337b7363c9030b2323932b9b9903ab83230ba32b960611b604482015290519081900360640190fd5b610c0d610c0883836040518060400160405280600e81526020016d20b2323932b9b9aab83230ba32b960911b8152506111d7565b611304565b610c178282611328565b5050565b600054600160b01b900460ff1680610c3d5750600054600160a81b900460ff16155b15610c5957610c4a610ecb565b610c54828261158f565b610c17565b610c17600036611054565b6003546001600160a01b031681565b6002546060908067ffffffffffffffff81118015610c9057600080fd5b50604051908082528060200260200182016040528015610cca57816020015b610cb76118e9565b815260200190600190039081610caf5790505b50915060005b81811015610d785760028181548110610ce557fe5b9060005260206000200160000160149054906101000a900463ffffffff1663ffffffff16838281518110610d1557fe5b6020026020010151602001818152505060028181548110610d3257fe5b60009182526020909120015483516001600160a01b0390911690849083908110610d5857fe5b60209081029190910101516001600160a01b039091169052600101610cd0565b505090565b600054600160a81b900460ff1681565b60045481565b610d9b610e6a565b600054600160a81b900460ff1615610dfa576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b60008054600161ff0160a01b031916600160a81b1790556040805160076001609c1b01815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b3d604051818101604052816000823e8215610e66578181f35b8181fd5b610e726102c6565b6001600160a01b0316336001600160a01b031614610ec9576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b565b600054600160b01b900460ff1615610ef857333014610ee657fe5b6000805460ff60b01b19169055610ec9565b610ec9610e6a565b60198151111560405180604001604052806008815260200167746f6f206d616e7960c01b81525090610f455760405162461bcd60e51b81526004016109789190611e86565b50805160045460005b828110156106aa5781848281518110610f6357fe5b602002602001015111158015610f8c57506000848281518110610f8257fe5b6020026020010151115b8015610fb05750600a61271004848281518110610fa557fe5b602002602001015111155b6040518060400160405280601e81526020017f616e6e75616c20696e666c6174696f6e206f7574206f6620626f756e64730000815250906110045760405162461bcd60e51b81526004016109789190611e86565b5083818151811061101157fe5b60200260200101519150600584828151811061102957fe5b6020908102919091018101518254600181810185556000948552929093209092019190915501610f4e565b61105c610e6a565b600082359050600060076001609c1b016001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156110a457600080fd5b505afa1580156110b8573d6000803e3d6000fd5b505050506040513d60208110156110ce57600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b0319861681526001602081815260409092208451815584830151805191945061115293928501920190611900565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b600080826040516020018080602001828103825283818151815260200191508051906020019080838360005b8381101561121b578181015183820152602001611203565b50505050905090810190601f1680156112485780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012090506000805b86518110156112b05786818151811061127e57fe5b60200260200101518314156112a85785818151811061129957fe5b602002602001015191506112b0565b600101611269565b506001600160a01b0381166112fb576040805162461bcd60e51b815260206004820152600c60248201526b61646472657373207a65726f60a01b604482015290519081900360640190fd5b95945050505050565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b600061135683836040518060400160405280600981526020016824b7333630ba34b7b760b91b8152506111d7565b6003546040519192507f4bdd1012a7d55ed9afad8675a125e1b68c7c15f712c0f3d5cddac69c3b97980591611396916001600160a01b0316908490611d77565b60405180910390a1600380546001600160a01b0319166001600160a01b038316179055600254806113c8575050610c17565b60008167ffffffffffffffff811180156113e157600080fd5b5060405190808252806020026020018201604052801561140b578160200160208202803683370190505b50905060008267ffffffffffffffff8111801561142757600080fd5b50604051908082528060200260200182016040528015611451578160200160208202803683370190505b50905060005b8381101561157c5760006002828154811061146e57fe5b6000918252602080832060408051808201825293909101546001600160a01b038116808552600160a01b90910463ffffffff16928401929092528051637afadd3960e11b81529051929450611525938c938c939263f5f5ba72926004808301939192829003018186803b1580156114e457600080fd5b505afa1580156114f8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115209190810190611c5b565b6111d7565b84838151811061153157fe5b60200260200101906001600160a01b031690816001600160a01b031681525050806020015163ffffffff1683838151811061156857fe5b602090810291909101015250600101611457565b50611587828261158f565b505050505050565b80518251146040518060400160405280600f81526020016e0d8cadccee8d040dad2e6dac2e8c6d608b1b815250906115da5760405162461bcd60e51b81526004016109789190611e86565b50600a8251111560405180604001604052806008815260200167746f6f206d616e7960c01b815250906116205760405162461bcd60e51b81526004016109789190611e86565b50600254600090815b8181101561166657600280548061163c57fe5b600082815260209020810160001990810180546001600160c01b0319169055019055600101611629565b5060005b845181101561180e5761271084828151811061168257fe5b602002602001015111156040518060400160405280601781526020017f686967682073686172696e672070657263656e74616765000000000000000000815250906116e05760405162461bcd60e51b81526004016109789190611e86565b5060006001600160a01b03168582815181106116f857fe5b60200260200101516001600160a01b031614156040518060400160405280600c81526020016b06164647265737320697320360a41b8152509061174e5760405162461bcd60e51b81526004016109789190611e86565b5083818151811061175b57fe5b6020026020010151830192506002604051806040016040528087848151811061178057fe5b60200260200101516001600160a01b031681526020018684815181106117a257fe5b60209081029190910181015163ffffffff90811690925283546001808201865560009586529482902084519101805494909201516001600160a01b03199094166001600160a01b039091161763ffffffff60a01b1916600160a01b93909216929092021790550161166a565b5060408051808201909152601f81527f73756d2073686172696e672070657263656e74616765206e6f74203130302500602082015261271083146118655760405162461bcd60e51b81526004016109789190611e86565b507f5851f041454bd72003e19484c59ec9c1bd9c6f8df07679fd1e94412fb5880b448484604051611897929190611d91565b60405180910390a150505050565b50805460018160011615610100020316600290046000825580601f106118cb5750610924565b601f0160209004906000526020600020908101906109249190611984565b604080518082019091526000808252602082015290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282611936576000855561197c565b82601f1061194f57805160ff191683800117855561197c565b8280016001018555821561197c579182015b8281111561197c578251825591602001919060010190611961565b50610ab39291505b5b80821115610ab35760008155600101611985565b600082601f8301126119a9578081fd5b813560206119be6119b983611edf565b611ebb565b82815281810190858301838502870184018810156119da578586fd5b855b85811015611a015781356119ef81611f29565b845292840192908401906001016119dc565b5090979650505050505050565b600082601f830112611a1e578081fd5b81356020611a2e6119b983611edf565b8281528181019085830183850287018401881015611a4a578586fd5b855b85811015611a0157813584529284019290840190600101611a4c565b600060208284031215611a79578081fd5b8135611a8481611f29565b9392505050565b60008060408385031215611a9d578081fd5b823567ffffffffffffffff80821115611ab4578283fd5b818501915085601f830112611ac7578283fd5b81356020611ad76119b983611edf565b82815281810190858301838502870184018b1015611af3578788fd5b8796505b84871015611b15578035835260019690960195918301918301611af7565b5096505086013592505080821115611b2b578283fd5b50611b3885828601611999565b9150509250929050565b60008060408385031215611b54578182fd5b823567ffffffffffffffff80821115611b6b578384fd5b818501915085601f830112611b7e578384fd5b81356020611b8e6119b983611edf565b82815281810190858301838502870184018b1015611baa578889fd5b8896505b84871015611bd5578035611bc181611f29565b835260019690960195918301918301611bae565b5096505086013592505080821115611beb578283fd5b50611b3885828601611a0e565b600060208284031215611c09578081fd5b813567ffffffffffffffff811115611c1f578182fd5b611c2b84828501611a0e565b949350505050565b600060208284031215611c44578081fd5b81356001600160e01b031981168114611a84578182fd5b600060208284031215611c6c578081fd5b815167ffffffffffffffff80821115611c83578283fd5b818401915084601f830112611c96578283fd5b815181811115611ca257fe5b611cb5601f8201601f1916602001611ebb565b9150808252856020828501011115611ccb578384fd5b611cdc816020840160208601611efd565b50949350505050565b600060208284031215611cf6578081fd5b5035919050565b6000815180845260208085019450808401835b83811015611d2c57815187529582019590820190600101611d10565b509495945050505050565b60008151808452611d4f816020860160208601611efd565b601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b604080825283519082018190526000906020906060840190828701845b82811015611dd35781516001600160a01b031684529284019290840190600101611dae565b50505083810382850152611de78186611cfd565b9695505050505050565b602080825282518282018190526000919060409081850190868401855b82811015611e3c57815180516001600160a01b03168552860151868501529284019290850190600101611e0e565b5091979650505050505050565b600060208252611a846020830184611cfd565b901515815260200190565b6001600160a01b0392909216825263ffffffff16602082015260400190565b600060208252611a846020830184611d37565b90815260200190565b600083825260406020830152611c2b6040830184611d37565b60405181810167ffffffffffffffff81118282101715611ed757fe5b604052919050565b600067ffffffffffffffff821115611ef357fe5b5060209081020190565b60005b83811015611f18578181015183820152602001611f00565b838111156106aa5750506000910152565b6001600160a01b038116811461092457600080fdfea2646970667358221220e09fdb6f4f99b67a205c3f06540f6a62cd2c42b687212ef43df5ebccab97116f64736f6c63430007060033",
459
+ "bytecode": "0x60806040523480156200001157600080fd5b5060405162002469380380620024698339810160408190526200003491620003b2565b8183806001600160a01b038116156200005257620000528162000145565b506001600160a01b038116620000a2576040805162461bcd60e51b815260206004820152601060248201526f5f676f7665726e616e6365207a65726f60801b604482015290519081900360640190fd5b50620000ae8162000208565b5060008151116040518060400160405280601f81526020017f616e6e75616c20696e666c6174696f6e207363686564756c6520656d7074790081525090620001145760405162461bcd60e51b81526004016200010b91906200048f565b60405180910390fd5b50806000815181106200012357fe5b60209081029190910101516004556200013c816200022c565b505050620004e5565b600054600160a01b900460ff1615620001a5576040805162461bcd60e51b815260206004820152601460248201527f696e697469616c6973656420213d2066616c7365000000000000000000000000604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b60198151111560405180604001604052806008815260200167746f6f206d616e7960c01b81525090620002745760405162461bcd60e51b81526004016200010b91906200048f565b50805160045460005b828110156200038f57818482815181106200029457fe5b602002602001015111158015620002bf57506000848281518110620002b557fe5b6020026020010151115b8015620002e55750600a61271004848281518110620002da57fe5b602002602001015111155b6040518060400160405280601e81526020017f616e6e75616c20696e666c6174696f6e206f7574206f6620626f756e64730000815250906200033c5760405162461bcd60e51b81526004016200010b91906200048f565b508381815181106200034a57fe5b6020026020010151915060058482815181106200036357fe5b60209081029190910181015182546001818101855560009485529290932090920191909155016200027d565b50505050565b80516001600160a01b0381168114620003ad57600080fd5b919050565b600080600060608486031215620003c7578283fd5b620003d28462000395565b92506020620003e381860162000395565b60408601519093506001600160401b038082111562000400578384fd5b818701915087601f83011262000414578384fd5b8151818111156200042157fe5b838102604051858282010181811085821117156200043b57fe5b604052828152858101935084860182860187018c10156200045a578788fd5b8795505b838610156200047e5780518552600195909501949386019386016200045e565b508096505050505050509250925092565b6000602080835283518082850152825b81811015620004bd578581018301518582016040015282016200049f565b81811115620004cf5783604083870101525b50601f01601f1916929092016040019392505050565b611f7480620004f56000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c806398194029116100a2578063be0522e011610071578063be0522e014610227578063c853b8d41461022f578063e17f212e14610244578063ebee6fa414610259578063f5a983831461026157610116565b806398194029146101e65780639d6a890f146101ee578063b00c0b7614610201578063b2d9e8061461021457610116565b806362354e03116100e957806362354e031461017757806367fc40291461017f578063728a5bcb1461019257806374e6310e146101b257806390ac884b146101d357610116565b80631d019e341461011b5780635267a15d146101455780635aa6e6751461015a5780635ff2707914610162575b600080fd5b61012e610129366004611ce5565b610269565b60405161013c929190611e67565b60405180910390f35b61014d6102a1565b60405161013c9190611d63565b61014d6102c6565b610175610170366004611c33565b61035b565b005b61014d6106b0565b61017561018d366004611c33565b6106bb565b6101a56101a0366004611ce5565b6107a3565b60405161013c9190611e99565b6101c56101c0366004611c33565b6107c4565b60405161013c929190611ea2565b6101756101e1366004611bf8565b61086a565b6101a5610927565b6101756101fc366004611a68565b610ab7565b61017561020f366004611a8b565b610b70565b610175610222366004611b42565b610c1b565b61014d610c64565b610237610c73565b60405161013c9190611df1565b61024c610d7d565b60405161013c9190611e5c565b6101a5610d8d565b610175610d93565b6002818154811061027957600080fd5b6000918252602090912001546001600160a01b0381169150600160a01b900463ffffffff1682565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e77195490565b60008054600160a81b900460ff166102e9576000546001600160a01b0316610356565b60076001609c1b016001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b15801561032957600080fd5b505afa15801561033d573d6000803e3d6000fd5b505050506040513d602081101561035357600080fd5b50515b905090565b60408051630debfda360e41b8152336004820152905160076001609c1b019163debfda30916024808301926020929190829003018186803b15801561039f57600080fd5b505afa1580156103b3573d6000803e3d6000fd5b505050506040513d60208110156103c957600080fd5b505161040c576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b0319811660009081526001602052604090208054610478576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b80544210156104ce576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105685780601f1061053d57610100808354040283529160200191610568565b820191906000526020600020905b81548152906001019060200180831161054b57829003601f168201915b5050506001600160e01b031986166000908152600160208190526040822082815594955090925061059c91508301826118a5565b50506000805460ff60b01b1916600160b01b178155604051825130918491819060208401908083835b602083106105e45780518252601f1990920191602091820191016105c5565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610646576040519150601f19603f3d011682016040523d82523d6000602084013e61064b565b606091505b50506000805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a16106aa81610e4d565b50505050565b60076001609c1b0181565b6106c3610e6a565b6001600160e01b0319811660009081526001602052604090205461072e576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b0319811660009081526001602081905260408220828155919061079e908301826118a5565b505050565b600581815481106107b357600080fd5b600091825260209091200154905081565b600160208181526000928352604092839020805481840180548651600296821615610100026000190190911695909504601f810185900485028601850190965285855290949193929091908301828280156108605780601f1061083557610100808354040283529160200191610860565b820191906000526020600020905b81548152906001019060200180831161084357829003601f168201915b5050505050905082565b600054600160b01b900460ff168061088c5750600054600160a81b900460ff16155b1561091957610899610ecb565b60055460005b818110156108d25760058054806108b257fe5b60008281526020812082016000199081019190915501905560010161089f565b506108dc82610f00565b7fe3ad326cdb10e1201bcea3d96ccf2f5437ed71942548e5ba0aab68c9bd296fa48260405161090b9190611e49565b60405180910390a150610924565b610924600036611054565b50565b60035460408051808201909152600c81526b06164647265737320697320360a41b60208201526000916001600160a01b031690816109815760405162461bcd60e51b81526004016109789190611e86565b60405180910390fd5b5060035460408051808201909152600e81526d37b7363c9034b7333630ba34b7b760911b6020820152906001600160a01b031633146109d35760405162461bcd60e51b81526004016109789190611e86565b5060055415610a745760056000815481106109ea57fe5b6000918252602090912001546004556005546001811115610a515760005b60018203811015610a4f5760058160010181548110610a2357fe5b906000526020600020015460058281548110610a3b57fe5b600091825260209091200155600101610a08565b505b6005805480610a5c57fe5b60019003818190600052602060002001600090559055505b7fc46384622db26f8a6509e51f7cbe387b3fa773448f19fc9f070fcdc984cffb8e600454604051610aa59190611e99565b60405180910390a160045491505b5090565b600054600160a01b900460ff1615610b0d576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b610b786102a1565b6001600160a01b0316336001600160a01b031614610bd4576040805162461bcd60e51b815260206004820152601460248201527337b7363c9030b2323932b9b9903ab83230ba32b960611b604482015290519081900360640190fd5b610c0d610c0883836040518060400160405280600e81526020016d20b2323932b9b9aab83230ba32b960911b8152506111d7565b611304565b610c178282611328565b5050565b600054600160b01b900460ff1680610c3d5750600054600160a81b900460ff16155b15610c5957610c4a610ecb565b610c54828261158f565b610c17565b610c17600036611054565b6003546001600160a01b031681565b6002546060908067ffffffffffffffff81118015610c9057600080fd5b50604051908082528060200260200182016040528015610cca57816020015b610cb76118e9565b815260200190600190039081610caf5790505b50915060005b81811015610d785760028181548110610ce557fe5b9060005260206000200160000160149054906101000a900463ffffffff1663ffffffff16838281518110610d1557fe5b6020026020010151602001818152505060028181548110610d3257fe5b60009182526020909120015483516001600160a01b0390911690849083908110610d5857fe5b60209081029190910101516001600160a01b039091169052600101610cd0565b505090565b600054600160a81b900460ff1681565b60045481565b610d9b610e6a565b600054600160a81b900460ff1615610dfa576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b60008054600161ff0160a01b031916600160a81b1790556040805160076001609c1b01815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b3d604051818101604052816000823e8215610e66578181f35b8181fd5b610e726102c6565b6001600160a01b0316336001600160a01b031614610ec9576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b565b600054600160b01b900460ff1615610ef857333014610ee657fe5b6000805460ff60b01b19169055610ec9565b610ec9610e6a565b60198151111560405180604001604052806008815260200167746f6f206d616e7960c01b81525090610f455760405162461bcd60e51b81526004016109789190611e86565b50805160045460005b828110156106aa5781848281518110610f6357fe5b602002602001015111158015610f8c57506000848281518110610f8257fe5b6020026020010151115b8015610fb05750600a61271004848281518110610fa557fe5b602002602001015111155b6040518060400160405280601e81526020017f616e6e75616c20696e666c6174696f6e206f7574206f6620626f756e64730000815250906110045760405162461bcd60e51b81526004016109789190611e86565b5083818151811061101157fe5b60200260200101519150600584828151811061102957fe5b6020908102919091018101518254600181810185556000948552929093209092019190915501610f4e565b61105c610e6a565b600082359050600060076001609c1b016001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156110a457600080fd5b505afa1580156110b8573d6000803e3d6000fd5b505050506040513d60208110156110ce57600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b0319861681526001602081815260409092208451815584830151805191945061115293928501920190611900565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b600080826040516020018080602001828103825283818151815260200191508051906020019080838360005b8381101561121b578181015183820152602001611203565b50505050905090810190601f1680156112485780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012090506000805b86518110156112b05786818151811061127e57fe5b60200260200101518314156112a85785818151811061129957fe5b602002602001015191506112b0565b600101611269565b506001600160a01b0381166112fb576040805162461bcd60e51b815260206004820152600c60248201526b61646472657373207a65726f60a01b604482015290519081900360640190fd5b95945050505050565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b600061135683836040518060400160405280600981526020016824b7333630ba34b7b760b91b8152506111d7565b6003546040519192507f4bdd1012a7d55ed9afad8675a125e1b68c7c15f712c0f3d5cddac69c3b97980591611396916001600160a01b0316908490611d77565b60405180910390a1600380546001600160a01b0319166001600160a01b038316179055600254806113c8575050610c17565b60008167ffffffffffffffff811180156113e157600080fd5b5060405190808252806020026020018201604052801561140b578160200160208202803683370190505b50905060008267ffffffffffffffff8111801561142757600080fd5b50604051908082528060200260200182016040528015611451578160200160208202803683370190505b50905060005b8381101561157c5760006002828154811061146e57fe5b6000918252602080832060408051808201825293909101546001600160a01b038116808552600160a01b90910463ffffffff16928401929092528051637afadd3960e11b81529051929450611525938c938c939263f5f5ba72926004808301939192829003018186803b1580156114e457600080fd5b505afa1580156114f8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115209190810190611c5b565b6111d7565b84838151811061153157fe5b60200260200101906001600160a01b031690816001600160a01b031681525050806020015163ffffffff1683838151811061156857fe5b602090810291909101015250600101611457565b50611587828261158f565b505050505050565b80518251146040518060400160405280600f81526020016e0d8cadccee8d040dad2e6dac2e8c6d608b1b815250906115da5760405162461bcd60e51b81526004016109789190611e86565b50600a8251111560405180604001604052806008815260200167746f6f206d616e7960c01b815250906116205760405162461bcd60e51b81526004016109789190611e86565b50600254600090815b8181101561166657600280548061163c57fe5b600082815260209020810160001990810180546001600160c01b0319169055019055600101611629565b5060005b845181101561180e5761271084828151811061168257fe5b602002602001015111156040518060400160405280601781526020017f686967682073686172696e672070657263656e74616765000000000000000000815250906116e05760405162461bcd60e51b81526004016109789190611e86565b5060006001600160a01b03168582815181106116f857fe5b60200260200101516001600160a01b031614156040518060400160405280600c81526020016b06164647265737320697320360a41b8152509061174e5760405162461bcd60e51b81526004016109789190611e86565b5083818151811061175b57fe5b6020026020010151830192506002604051806040016040528087848151811061178057fe5b60200260200101516001600160a01b031681526020018684815181106117a257fe5b60209081029190910181015163ffffffff90811690925283546001808201865560009586529482902084519101805494909201516001600160a01b03199094166001600160a01b039091161763ffffffff60a01b1916600160a01b93909216929092021790550161166a565b5060408051808201909152601f81527f73756d2073686172696e672070657263656e74616765206e6f74203130302500602082015261271083146118655760405162461bcd60e51b81526004016109789190611e86565b507f5851f041454bd72003e19484c59ec9c1bd9c6f8df07679fd1e94412fb5880b448484604051611897929190611d91565b60405180910390a150505050565b50805460018160011615610100020316600290046000825580601f106118cb5750610924565b601f0160209004906000526020600020908101906109249190611984565b604080518082019091526000808252602082015290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282611936576000855561197c565b82601f1061194f57805160ff191683800117855561197c565b8280016001018555821561197c579182015b8281111561197c578251825591602001919060010190611961565b50610ab39291505b5b80821115610ab35760008155600101611985565b600082601f8301126119a9578081fd5b813560206119be6119b983611edf565b611ebb565b82815281810190858301838502870184018810156119da578586fd5b855b85811015611a015781356119ef81611f29565b845292840192908401906001016119dc565b5090979650505050505050565b600082601f830112611a1e578081fd5b81356020611a2e6119b983611edf565b8281528181019085830183850287018401881015611a4a578586fd5b855b85811015611a0157813584529284019290840190600101611a4c565b600060208284031215611a79578081fd5b8135611a8481611f29565b9392505050565b60008060408385031215611a9d578081fd5b823567ffffffffffffffff80821115611ab4578283fd5b818501915085601f830112611ac7578283fd5b81356020611ad76119b983611edf565b82815281810190858301838502870184018b1015611af3578788fd5b8796505b84871015611b15578035835260019690960195918301918301611af7565b5096505086013592505080821115611b2b578283fd5b50611b3885828601611999565b9150509250929050565b60008060408385031215611b54578182fd5b823567ffffffffffffffff80821115611b6b578384fd5b818501915085601f830112611b7e578384fd5b81356020611b8e6119b983611edf565b82815281810190858301838502870184018b1015611baa578889fd5b8896505b84871015611bd5578035611bc181611f29565b835260019690960195918301918301611bae565b5096505086013592505080821115611beb578283fd5b50611b3885828601611a0e565b600060208284031215611c09578081fd5b813567ffffffffffffffff811115611c1f578182fd5b611c2b84828501611a0e565b949350505050565b600060208284031215611c44578081fd5b81356001600160e01b031981168114611a84578182fd5b600060208284031215611c6c578081fd5b815167ffffffffffffffff80821115611c83578283fd5b818401915084601f830112611c96578283fd5b815181811115611ca257fe5b611cb5601f8201601f1916602001611ebb565b9150808252856020828501011115611ccb578384fd5b611cdc816020840160208601611efd565b50949350505050565b600060208284031215611cf6578081fd5b5035919050565b6000815180845260208085019450808401835b83811015611d2c57815187529582019590820190600101611d10565b509495945050505050565b60008151808452611d4f816020860160208601611efd565b601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b604080825283519082018190526000906020906060840190828701845b82811015611dd35781516001600160a01b031684529284019290840190600101611dae565b50505083810382850152611de78186611cfd565b9695505050505050565b602080825282518282018190526000919060409081850190868401855b82811015611e3c57815180516001600160a01b03168552860151868501529284019290850190600101611e0e565b5091979650505050505050565b600060208252611a846020830184611cfd565b901515815260200190565b6001600160a01b0392909216825263ffffffff16602082015260400190565b600060208252611a846020830184611d37565b90815260200190565b600083825260406020830152611c2b6040830184611d37565b60405181810167ffffffffffffffff81118282101715611ed757fe5b604052919050565b600067ffffffffffffffff821115611ef357fe5b5060209081020190565b60005b83811015611f18578181015183820152602001611f00565b838111156106aa5750506000910152565b6001600160a01b038116811461092457600080fdfea2646970667358221220cfd49fbc672ee9a9767479443a852f50e0aa9d2e21f99ea79c9d8f6a22cb1e0464736f6c63430007060033",
460
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101165760003560e01c806398194029116100a2578063be0522e011610071578063be0522e014610227578063c853b8d41461022f578063e17f212e14610244578063ebee6fa414610259578063f5a983831461026157610116565b806398194029146101e65780639d6a890f146101ee578063b00c0b7614610201578063b2d9e8061461021457610116565b806362354e03116100e957806362354e031461017757806367fc40291461017f578063728a5bcb1461019257806374e6310e146101b257806390ac884b146101d357610116565b80631d019e341461011b5780635267a15d146101455780635aa6e6751461015a5780635ff2707914610162575b600080fd5b61012e610129366004611ce5565b610269565b60405161013c929190611e67565b60405180910390f35b61014d6102a1565b60405161013c9190611d63565b61014d6102c6565b610175610170366004611c33565b61035b565b005b61014d6106b0565b61017561018d366004611c33565b6106bb565b6101a56101a0366004611ce5565b6107a3565b60405161013c9190611e99565b6101c56101c0366004611c33565b6107c4565b60405161013c929190611ea2565b6101756101e1366004611bf8565b61086a565b6101a5610927565b6101756101fc366004611a68565b610ab7565b61017561020f366004611a8b565b610b70565b610175610222366004611b42565b610c1b565b61014d610c64565b610237610c73565b60405161013c9190611df1565b61024c610d7d565b60405161013c9190611e5c565b6101a5610d8d565b610175610d93565b6002818154811061027957600080fd5b6000918252602090912001546001600160a01b0381169150600160a01b900463ffffffff1682565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e77195490565b60008054600160a81b900460ff166102e9576000546001600160a01b0316610356565b60076001609c1b016001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b15801561032957600080fd5b505afa15801561033d573d6000803e3d6000fd5b505050506040513d602081101561035357600080fd5b50515b905090565b60408051630debfda360e41b8152336004820152905160076001609c1b019163debfda30916024808301926020929190829003018186803b15801561039f57600080fd5b505afa1580156103b3573d6000803e3d6000fd5b505050506040513d60208110156103c957600080fd5b505161040c576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b0319811660009081526001602052604090208054610478576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b80544210156104ce576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105685780601f1061053d57610100808354040283529160200191610568565b820191906000526020600020905b81548152906001019060200180831161054b57829003601f168201915b5050506001600160e01b031986166000908152600160208190526040822082815594955090925061059c91508301826118a5565b50506000805460ff60b01b1916600160b01b178155604051825130918491819060208401908083835b602083106105e45780518252601f1990920191602091820191016105c5565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610646576040519150601f19603f3d011682016040523d82523d6000602084013e61064b565b606091505b50506000805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a16106aa81610e4d565b50505050565b60076001609c1b0181565b6106c3610e6a565b6001600160e01b0319811660009081526001602052604090205461072e576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b0319811660009081526001602081905260408220828155919061079e908301826118a5565b505050565b600581815481106107b357600080fd5b600091825260209091200154905081565b600160208181526000928352604092839020805481840180548651600296821615610100026000190190911695909504601f810185900485028601850190965285855290949193929091908301828280156108605780601f1061083557610100808354040283529160200191610860565b820191906000526020600020905b81548152906001019060200180831161084357829003601f168201915b5050505050905082565b600054600160b01b900460ff168061088c5750600054600160a81b900460ff16155b1561091957610899610ecb565b60055460005b818110156108d25760058054806108b257fe5b60008281526020812082016000199081019190915501905560010161089f565b506108dc82610f00565b7fe3ad326cdb10e1201bcea3d96ccf2f5437ed71942548e5ba0aab68c9bd296fa48260405161090b9190611e49565b60405180910390a150610924565b610924600036611054565b50565b60035460408051808201909152600c81526b06164647265737320697320360a41b60208201526000916001600160a01b031690816109815760405162461bcd60e51b81526004016109789190611e86565b60405180910390fd5b5060035460408051808201909152600e81526d37b7363c9034b7333630ba34b7b760911b6020820152906001600160a01b031633146109d35760405162461bcd60e51b81526004016109789190611e86565b5060055415610a745760056000815481106109ea57fe5b6000918252602090912001546004556005546001811115610a515760005b60018203811015610a4f5760058160010181548110610a2357fe5b906000526020600020015460058281548110610a3b57fe5b600091825260209091200155600101610a08565b505b6005805480610a5c57fe5b60019003818190600052602060002001600090559055505b7fc46384622db26f8a6509e51f7cbe387b3fa773448f19fc9f070fcdc984cffb8e600454604051610aa59190611e99565b60405180910390a160045491505b5090565b600054600160a01b900460ff1615610b0d576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b610b786102a1565b6001600160a01b0316336001600160a01b031614610bd4576040805162461bcd60e51b815260206004820152601460248201527337b7363c9030b2323932b9b9903ab83230ba32b960611b604482015290519081900360640190fd5b610c0d610c0883836040518060400160405280600e81526020016d20b2323932b9b9aab83230ba32b960911b8152506111d7565b611304565b610c178282611328565b5050565b600054600160b01b900460ff1680610c3d5750600054600160a81b900460ff16155b15610c5957610c4a610ecb565b610c54828261158f565b610c17565b610c17600036611054565b6003546001600160a01b031681565b6002546060908067ffffffffffffffff81118015610c9057600080fd5b50604051908082528060200260200182016040528015610cca57816020015b610cb76118e9565b815260200190600190039081610caf5790505b50915060005b81811015610d785760028181548110610ce557fe5b9060005260206000200160000160149054906101000a900463ffffffff1663ffffffff16838281518110610d1557fe5b6020026020010151602001818152505060028181548110610d3257fe5b60009182526020909120015483516001600160a01b0390911690849083908110610d5857fe5b60209081029190910101516001600160a01b039091169052600101610cd0565b505090565b600054600160a81b900460ff1681565b60045481565b610d9b610e6a565b600054600160a81b900460ff1615610dfa576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b60008054600161ff0160a01b031916600160a81b1790556040805160076001609c1b01815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b3d604051818101604052816000823e8215610e66578181f35b8181fd5b610e726102c6565b6001600160a01b0316336001600160a01b031614610ec9576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b565b600054600160b01b900460ff1615610ef857333014610ee657fe5b6000805460ff60b01b19169055610ec9565b610ec9610e6a565b60198151111560405180604001604052806008815260200167746f6f206d616e7960c01b81525090610f455760405162461bcd60e51b81526004016109789190611e86565b50805160045460005b828110156106aa5781848281518110610f6357fe5b602002602001015111158015610f8c57506000848281518110610f8257fe5b6020026020010151115b8015610fb05750600a61271004848281518110610fa557fe5b602002602001015111155b6040518060400160405280601e81526020017f616e6e75616c20696e666c6174696f6e206f7574206f6620626f756e64730000815250906110045760405162461bcd60e51b81526004016109789190611e86565b5083818151811061101157fe5b60200260200101519150600584828151811061102957fe5b6020908102919091018101518254600181810185556000948552929093209092019190915501610f4e565b61105c610e6a565b600082359050600060076001609c1b016001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156110a457600080fd5b505afa1580156110b8573d6000803e3d6000fd5b505050506040513d60208110156110ce57600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b0319861681526001602081815260409092208451815584830151805191945061115293928501920190611900565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b600080826040516020018080602001828103825283818151815260200191508051906020019080838360005b8381101561121b578181015183820152602001611203565b50505050905090810190601f1680156112485780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012090506000805b86518110156112b05786818151811061127e57fe5b60200260200101518314156112a85785818151811061129957fe5b602002602001015191506112b0565b600101611269565b506001600160a01b0381166112fb576040805162461bcd60e51b815260206004820152600c60248201526b61646472657373207a65726f60a01b604482015290519081900360640190fd5b95945050505050565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b600061135683836040518060400160405280600981526020016824b7333630ba34b7b760b91b8152506111d7565b6003546040519192507f4bdd1012a7d55ed9afad8675a125e1b68c7c15f712c0f3d5cddac69c3b97980591611396916001600160a01b0316908490611d77565b60405180910390a1600380546001600160a01b0319166001600160a01b038316179055600254806113c8575050610c17565b60008167ffffffffffffffff811180156113e157600080fd5b5060405190808252806020026020018201604052801561140b578160200160208202803683370190505b50905060008267ffffffffffffffff8111801561142757600080fd5b50604051908082528060200260200182016040528015611451578160200160208202803683370190505b50905060005b8381101561157c5760006002828154811061146e57fe5b6000918252602080832060408051808201825293909101546001600160a01b038116808552600160a01b90910463ffffffff16928401929092528051637afadd3960e11b81529051929450611525938c938c939263f5f5ba72926004808301939192829003018186803b1580156114e457600080fd5b505afa1580156114f8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115209190810190611c5b565b6111d7565b84838151811061153157fe5b60200260200101906001600160a01b031690816001600160a01b031681525050806020015163ffffffff1683838151811061156857fe5b602090810291909101015250600101611457565b50611587828261158f565b505050505050565b80518251146040518060400160405280600f81526020016e0d8cadccee8d040dad2e6dac2e8c6d608b1b815250906115da5760405162461bcd60e51b81526004016109789190611e86565b50600a8251111560405180604001604052806008815260200167746f6f206d616e7960c01b815250906116205760405162461bcd60e51b81526004016109789190611e86565b50600254600090815b8181101561166657600280548061163c57fe5b600082815260209020810160001990810180546001600160c01b0319169055019055600101611629565b5060005b845181101561180e5761271084828151811061168257fe5b602002602001015111156040518060400160405280601781526020017f686967682073686172696e672070657263656e74616765000000000000000000815250906116e05760405162461bcd60e51b81526004016109789190611e86565b5060006001600160a01b03168582815181106116f857fe5b60200260200101516001600160a01b031614156040518060400160405280600c81526020016b06164647265737320697320360a41b8152509061174e5760405162461bcd60e51b81526004016109789190611e86565b5083818151811061175b57fe5b6020026020010151830192506002604051806040016040528087848151811061178057fe5b60200260200101516001600160a01b031681526020018684815181106117a257fe5b60209081029190910181015163ffffffff90811690925283546001808201865560009586529482902084519101805494909201516001600160a01b03199094166001600160a01b039091161763ffffffff60a01b1916600160a01b93909216929092021790550161166a565b5060408051808201909152601f81527f73756d2073686172696e672070657263656e74616765206e6f74203130302500602082015261271083146118655760405162461bcd60e51b81526004016109789190611e86565b507f5851f041454bd72003e19484c59ec9c1bd9c6f8df07679fd1e94412fb5880b448484604051611897929190611d91565b60405180910390a150505050565b50805460018160011615610100020316600290046000825580601f106118cb5750610924565b601f0160209004906000526020600020908101906109249190611984565b604080518082019091526000808252602082015290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282611936576000855561197c565b82601f1061194f57805160ff191683800117855561197c565b8280016001018555821561197c579182015b8281111561197c578251825591602001919060010190611961565b50610ab39291505b5b80821115610ab35760008155600101611985565b600082601f8301126119a9578081fd5b813560206119be6119b983611edf565b611ebb565b82815281810190858301838502870184018810156119da578586fd5b855b85811015611a015781356119ef81611f29565b845292840192908401906001016119dc565b5090979650505050505050565b600082601f830112611a1e578081fd5b81356020611a2e6119b983611edf565b8281528181019085830183850287018401881015611a4a578586fd5b855b85811015611a0157813584529284019290840190600101611a4c565b600060208284031215611a79578081fd5b8135611a8481611f29565b9392505050565b60008060408385031215611a9d578081fd5b823567ffffffffffffffff80821115611ab4578283fd5b818501915085601f830112611ac7578283fd5b81356020611ad76119b983611edf565b82815281810190858301838502870184018b1015611af3578788fd5b8796505b84871015611b15578035835260019690960195918301918301611af7565b5096505086013592505080821115611b2b578283fd5b50611b3885828601611999565b9150509250929050565b60008060408385031215611b54578182fd5b823567ffffffffffffffff80821115611b6b578384fd5b818501915085601f830112611b7e578384fd5b81356020611b8e6119b983611edf565b82815281810190858301838502870184018b1015611baa578889fd5b8896505b84871015611bd5578035611bc181611f29565b835260019690960195918301918301611bae565b5096505086013592505080821115611beb578283fd5b50611b3885828601611a0e565b600060208284031215611c09578081fd5b813567ffffffffffffffff811115611c1f578182fd5b611c2b84828501611a0e565b949350505050565b600060208284031215611c44578081fd5b81356001600160e01b031981168114611a84578182fd5b600060208284031215611c6c578081fd5b815167ffffffffffffffff80821115611c83578283fd5b818401915084601f830112611c96578283fd5b815181811115611ca257fe5b611cb5601f8201601f1916602001611ebb565b9150808252856020828501011115611ccb578384fd5b611cdc816020840160208601611efd565b50949350505050565b600060208284031215611cf6578081fd5b5035919050565b6000815180845260208085019450808401835b83811015611d2c57815187529582019590820190600101611d10565b509495945050505050565b60008151808452611d4f816020860160208601611efd565b601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b604080825283519082018190526000906020906060840190828701845b82811015611dd35781516001600160a01b031684529284019290840190600101611dae565b50505083810382850152611de78186611cfd565b9695505050505050565b602080825282518282018190526000919060409081850190868401855b82811015611e3c57815180516001600160a01b03168552860151868501529284019290850190600101611e0e565b5091979650505050505050565b600060208252611a846020830184611cfd565b901515815260200190565b6001600160a01b0392909216825263ffffffff16602082015260400190565b600060208252611a846020830184611d37565b90815260200190565b600083825260406020830152611c2b6040830184611d37565b60405181810167ffffffffffffffff81118282101715611ed757fe5b604052919050565b600067ffffffffffffffff821115611ef357fe5b5060209081020190565b60005b83811015611f18578181015183820152602001611f00565b838111156106aa5750506000910152565b6001600160a01b038116811461092457600080fdfea2646970667358221220cfd49fbc672ee9a9767479443a852f50e0aa9d2e21f99ea79c9d8f6a22cb1e0464736f6c63430007060033",
461
461
  "linkReferences": {},
462
462
  "deployedLinkReferences": {}
463
463
  }
@@ -3,8 +3,8 @@
3
3
  "contractName": "InflationAnnum",
4
4
  "sourceName": "contracts/inflation/lib/InflationAnnum.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122091177ef95d253a99de0ad732e51d8d362b77679a494ea62922b655e6e682505e64736f6c63430007060033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122091177ef95d253a99de0ad732e51d8d362b77679a494ea62922b655e6e682505e64736f6c63430007060033",
6
+ "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220232aead50c29fde3521f92ed28ad94ed8d688122be57c4c7438bbdbb3bedb6f764736f6c63430007060033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220232aead50c29fde3521f92ed28ad94ed8d688122be57c4c7438bbdbb3bedb6f764736f6c63430007060033",
8
8
  "linkReferences": {},
9
9
  "deployedLinkReferences": {}
10
10
  }
@@ -3,8 +3,8 @@
3
3
  "contractName": "InflationAnnums",
4
4
  "sourceName": "contracts/inflation/lib/InflationAnnums.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212208d469878cb8ce46a590d241dd8cf0e22b597efa3e1812ccfcaa3e407939e4cf864736f6c63430007060033",
7
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212208d469878cb8ce46a590d241dd8cf0e22b597efa3e1812ccfcaa3e407939e4cf864736f6c63430007060033",
6
+ "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220339a836de72f73345518de9fcb3f66deb0126e2a4eea2b23e83be0849d4c6c3e64736f6c63430007060033",
7
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220339a836de72f73345518de9fcb3f66deb0126e2a4eea2b23e83be0849d4c6c3e64736f6c63430007060033",
8
8
  "linkReferences": {},
9
9
  "deployedLinkReferences": {}
10
10
  }
@@ -23,8 +23,8 @@
23
23
  "type": "event"
24
24
  }
25
25
  ],
26
- "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d1f624f8a42900bd6ad22eda20b204c43f74ef8d1a42100b96eab774340c4de564736f6c63430007060033",
27
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d1f624f8a42900bd6ad22eda20b204c43f74ef8d1a42100b96eab774340c4de564736f6c63430007060033",
26
+ "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122051a622ef99c00d92b84516f571123539481cdbbd288d73aae43361818ee69f6464736f6c63430007060033",
27
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122051a622ef99c00d92b84516f571123539481cdbbd288d73aae43361818ee69f6464736f6c63430007060033",
28
28
  "linkReferences": {},
29
29
  "deployedLinkReferences": {}
30
30
  }
@@ -42,8 +42,8 @@
42
42
  "type": "event"
43
43
  }
44
44
  ],
45
- "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122001b4472bb280a5474bd35d3cfa07c5c44fc8db19c55d3361d4e632837ee47d3264736f6c63430007060033",
46
- "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122001b4472bb280a5474bd35d3cfa07c5c44fc8db19c55d3361d4e632837ee47d3264736f6c63430007060033",
45
+ "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122011e453022203d354a84bdaf4540a66e322bb2dfb5dd44437b3f0c81ca238647864736f6c63430007060033",
46
+ "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122011e453022203d354a84bdaf4540a66e322bb2dfb5dd44437b3f0c81ca238647864736f6c63430007060033",
47
47
  "linkReferences": {},
48
48
  "deployedLinkReferences": {}
49
49
  }
@@ -228,8 +228,8 @@
228
228
  "type": "function"
229
229
  }
230
230
  ],
231
- "bytecode": "0x608060405234801561001057600080fd5b5061090e806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631a05274c146100675780637f57d58f146100a5578063891339a8146100d15780638c0b6b40146100fd5780639ca20e4e14610133578063cabc452814610157575b600080fd5b6100936004803603604081101561007d57600080fd5b506001600160a01b03813516906020013561018d565b60408051918252519081900360200190f35b610093600480360360408110156100bb57600080fd5b506001600160a01b038135169060200135610201565b610093600480360360408110156100e757600080fd5b506001600160a01b038135169060200135610281565b6100936004803603606081101561011357600080fd5b506001600160a01b0381358116916020810135909116906040013561033d565b61013b610402565b604080516001600160a01b039092168252519081900360200190f35b6100936004803603606081101561016d57600080fd5b506001600160a01b03813581169160208101359091169060400135610411565b6007546000906001600160a01b031633146101e7576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006546101fa9060039085908590610493565b9392505050565b6007546000906001600160a01b0316331461025b576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006546001600160a01b03841660009081526001602052604090206101fa9184906104aa565b6007546000906001600160a01b031633146102db576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006548210610331576040805162461bcd60e51b815260206004820152601e60248201527f4e6f20636c65616e757020616674657220636c65616e757020626c6f636b0000604482015290519081900360640190fd5b6101fa600484846104b7565b6007546000906001600160a01b03163314610397576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b60065482106103ed576040805162461bcd60e51b815260206004820152601e60248201527f4e6f20636c65616e757020616674657220636c65616e757020626c6f636b0000604482015290519081900360640190fd5b6103fa6004858585610524565b949350505050565b6007546001600160a01b031681565b6007546000906001600160a01b0316331461046b576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006546001600160a01b03851660009081526002602052604090206103fa91859085906105b2565b60006104a1858585856105d9565b95945050505050565b60006103fa848484610614565b604080516001600160a01b038416602080830191909152818301849052825180830384018152606090920183528151918101919091206000818152918690529181205490919015610519576000908152602085905260408120555060016101fa565b506000949350505050565b604080516001600160a01b038086166020808401919091528284018590528351808403850181526060909301845282519281019290922060008181526001890184528481209287168152928290529282205491929180156105a457506001600160a01b0385166000908152602091909152604081205550600190506103fa565b506000979650505050505050565b60006105bf858484610756565b90506105d0600286018585856105d9565b01949350505050565b60006001600160a01b03841615610519576001600160a01b038416600090815260208690526040902061060d908484610756565b90506103fa565b600081610623575060006101fa565b6001840154600160401b900467ffffffffffffffff16806106485760009150506101fa565b600185015467ffffffffffffffff16600061066f61066683886107fa565b60018503610854565b9050815b81811080156106ae575060018101600090815260208981526040808320838052909152902054600160b01b900467ffffffffffffffff168610155b1561071257600081815260208981526040808320838052918290528220549091600160f01b90910460ff16905b8181101561070757600081815260208490526040902080546001600160f81b03191690556001016106db565b505050600101610673565b82811115610748576107238161086a565b60018901805467ffffffffffffffff191667ffffffffffffffff929092169190911790555b919091039695505050505050565b600081610765575060006101fa565b6001840154600160401b900467ffffffffffffffff168061078a5760009150506101fa565b600185015467ffffffffffffffff1660006107a861066683886107fa565b9050815b81811080156107de575060018101600090815260208990526040902054600160c01b900467ffffffffffffffff168610155b15610712576000818152602089905260408120556001016107ac565b6000828201838110156101fa576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081831061086357816101fa565b5090919050565b6000600160401b82106108ae5760405162461bcd60e51b81526004018080602001828103825260268152602001806108b36026913960400191505060405180910390fd5b509056fe53616665436173743a2076616c756520646f65736e27742066697420696e2036342062697473a2646970667358221220a4ee7c3d60f2c9f64d149a3efb3b89684a4c8e39dd88b9808111727e0ef542f464736f6c63430007060033",
232
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c80631a05274c146100675780637f57d58f146100a5578063891339a8146100d15780638c0b6b40146100fd5780639ca20e4e14610133578063cabc452814610157575b600080fd5b6100936004803603604081101561007d57600080fd5b506001600160a01b03813516906020013561018d565b60408051918252519081900360200190f35b610093600480360360408110156100bb57600080fd5b506001600160a01b038135169060200135610201565b610093600480360360408110156100e757600080fd5b506001600160a01b038135169060200135610281565b6100936004803603606081101561011357600080fd5b506001600160a01b0381358116916020810135909116906040013561033d565b61013b610402565b604080516001600160a01b039092168252519081900360200190f35b6100936004803603606081101561016d57600080fd5b506001600160a01b03813581169160208101359091169060400135610411565b6007546000906001600160a01b031633146101e7576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006546101fa9060039085908590610493565b9392505050565b6007546000906001600160a01b0316331461025b576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006546001600160a01b03841660009081526001602052604090206101fa9184906104aa565b6007546000906001600160a01b031633146102db576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006548210610331576040805162461bcd60e51b815260206004820152601e60248201527f4e6f20636c65616e757020616674657220636c65616e757020626c6f636b0000604482015290519081900360640190fd5b6101fa600484846104b7565b6007546000906001600160a01b03163314610397576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b60065482106103ed576040805162461bcd60e51b815260206004820152601e60248201527f4e6f20636c65616e757020616674657220636c65616e757020626c6f636b0000604482015290519081900360640190fd5b6103fa6004858585610524565b949350505050565b6007546001600160a01b031681565b6007546000906001600160a01b0316331461046b576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006546001600160a01b03851660009081526002602052604090206103fa91859085906105b2565b60006104a1858585856105d9565b95945050505050565b60006103fa848484610614565b604080516001600160a01b038416602080830191909152818301849052825180830384018152606090920183528151918101919091206000818152918690529181205490919015610519576000908152602085905260408120555060016101fa565b506000949350505050565b604080516001600160a01b038086166020808401919091528284018590528351808403850181526060909301845282519281019290922060008181526001890184528481209287168152928290529282205491929180156105a457506001600160a01b0385166000908152602091909152604081205550600190506103fa565b506000979650505050505050565b60006105bf858484610756565b90506105d0600286018585856105d9565b01949350505050565b60006001600160a01b03841615610519576001600160a01b038416600090815260208690526040902061060d908484610756565b90506103fa565b600081610623575060006101fa565b6001840154600160401b900467ffffffffffffffff16806106485760009150506101fa565b600185015467ffffffffffffffff16600061066f61066683886107fa565b60018503610854565b9050815b81811080156106ae575060018101600090815260208981526040808320838052909152902054600160b01b900467ffffffffffffffff168610155b1561071257600081815260208981526040808320838052918290528220549091600160f01b90910460ff16905b8181101561070757600081815260208490526040902080546001600160f81b03191690556001016106db565b505050600101610673565b82811115610748576107238161086a565b60018901805467ffffffffffffffff191667ffffffffffffffff929092169190911790555b919091039695505050505050565b600081610765575060006101fa565b6001840154600160401b900467ffffffffffffffff168061078a5760009150506101fa565b600185015467ffffffffffffffff1660006107a861066683886107fa565b9050815b81811080156107de575060018101600090815260208990526040902054600160c01b900467ffffffffffffffff168610155b15610712576000818152602089905260408120556001016107ac565b6000828201838110156101fa576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081831061086357816101fa565b5090919050565b6000600160401b82106108ae5760405162461bcd60e51b81526004018080602001828103825260268152602001806108b36026913960400191505060405180910390fd5b509056fe53616665436173743a2076616c756520646f65736e27742066697420696e2036342062697473a2646970667358221220a4ee7c3d60f2c9f64d149a3efb3b89684a4c8e39dd88b9808111727e0ef542f464736f6c63430007060033",
231
+ "bytecode": "0x608060405234801561001057600080fd5b5061090e806100206000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631a05274c146100675780637f57d58f146100a5578063891339a8146100d15780638c0b6b40146100fd5780639ca20e4e14610133578063cabc452814610157575b600080fd5b6100936004803603604081101561007d57600080fd5b506001600160a01b03813516906020013561018d565b60408051918252519081900360200190f35b610093600480360360408110156100bb57600080fd5b506001600160a01b038135169060200135610201565b610093600480360360408110156100e757600080fd5b506001600160a01b038135169060200135610281565b6100936004803603606081101561011357600080fd5b506001600160a01b0381358116916020810135909116906040013561033d565b61013b610402565b604080516001600160a01b039092168252519081900360200190f35b6100936004803603606081101561016d57600080fd5b506001600160a01b03813581169160208101359091169060400135610411565b6007546000906001600160a01b031633146101e7576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006546101fa9060039085908590610493565b9392505050565b6007546000906001600160a01b0316331461025b576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006546001600160a01b03841660009081526001602052604090206101fa9184906104aa565b6007546000906001600160a01b031633146102db576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006548210610331576040805162461bcd60e51b815260206004820152601e60248201527f4e6f20636c65616e757020616674657220636c65616e757020626c6f636b0000604482015290519081900360640190fd5b6101fa600484846104b7565b6007546000906001600160a01b03163314610397576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b60065482106103ed576040805162461bcd60e51b815260206004820152601e60248201527f4e6f20636c65616e757020616674657220636c65616e757020626c6f636b0000604482015290519081900360640190fd5b6103fa6004858585610524565b949350505050565b6007546001600160a01b031681565b6007546000906001600160a01b0316331461046b576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006546001600160a01b03851660009081526002602052604090206103fa91859085906105b2565b60006104a1858585856105d9565b95945050505050565b60006103fa848484610614565b604080516001600160a01b038416602080830191909152818301849052825180830384018152606090920183528151918101919091206000818152918690529181205490919015610519576000908152602085905260408120555060016101fa565b506000949350505050565b604080516001600160a01b038086166020808401919091528284018590528351808403850181526060909301845282519281019290922060008181526001890184528481209287168152928290529282205491929180156105a457506001600160a01b0385166000908152602091909152604081205550600190506103fa565b506000979650505050505050565b60006105bf858484610756565b90506105d0600286018585856105d9565b01949350505050565b60006001600160a01b03841615610519576001600160a01b038416600090815260208690526040902061060d908484610756565b90506103fa565b600081610623575060006101fa565b6001840154600160401b900467ffffffffffffffff16806106485760009150506101fa565b600185015467ffffffffffffffff16600061066f61066683886107fa565b60018503610854565b9050815b81811080156106ae575060018101600090815260208981526040808320838052909152902054600160b01b900467ffffffffffffffff168610155b1561071257600081815260208981526040808320838052918290528220549091600160f01b90910460ff16905b8181101561070757600081815260208490526040902080546001600160f81b03191690556001016106db565b505050600101610673565b82811115610748576107238161086a565b60018901805467ffffffffffffffff191667ffffffffffffffff929092169190911790555b919091039695505050505050565b600081610765575060006101fa565b6001840154600160401b900467ffffffffffffffff168061078a5760009150506101fa565b600185015467ffffffffffffffff1660006107a861066683886107fa565b9050815b81811080156107de575060018101600090815260208990526040902054600160c01b900467ffffffffffffffff168610155b15610712576000818152602089905260408120556001016107ac565b6000828201838110156101fa576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081831061086357816101fa565b5090919050565b6000600160401b82106108ae5760405162461bcd60e51b81526004018080602001828103825260268152602001806108b36026913960400191505060405180910390fd5b509056fe53616665436173743a2076616c756520646f65736e27742066697420696e2036342062697473a2646970667358221220935983b93001c10bbba4c0ea4ac25cf8fec86f7fa44d5a35b502c42bc54047d764736f6c63430007060033",
232
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c80631a05274c146100675780637f57d58f146100a5578063891339a8146100d15780638c0b6b40146100fd5780639ca20e4e14610133578063cabc452814610157575b600080fd5b6100936004803603604081101561007d57600080fd5b506001600160a01b03813516906020013561018d565b60408051918252519081900360200190f35b610093600480360360408110156100bb57600080fd5b506001600160a01b038135169060200135610201565b610093600480360360408110156100e757600080fd5b506001600160a01b038135169060200135610281565b6100936004803603606081101561011357600080fd5b506001600160a01b0381358116916020810135909116906040013561033d565b61013b610402565b604080516001600160a01b039092168252519081900360200190f35b6100936004803603606081101561016d57600080fd5b506001600160a01b03813581169160208101359091169060400135610411565b6007546000906001600160a01b031633146101e7576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006546101fa9060039085908590610493565b9392505050565b6007546000906001600160a01b0316331461025b576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006546001600160a01b03841660009081526001602052604090206101fa9184906104aa565b6007546000906001600160a01b031633146102db576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006548210610331576040805162461bcd60e51b815260206004820152601e60248201527f4e6f20636c65616e757020616674657220636c65616e757020626c6f636b0000604482015290519081900360640190fd5b6101fa600484846104b7565b6007546000906001600160a01b03163314610397576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b60065482106103ed576040805162461bcd60e51b815260206004820152601e60248201527f4e6f20636c65616e757020616674657220636c65616e757020626c6f636b0000604482015290519081900360640190fd5b6103fa6004858585610524565b949350505050565b6007546001600160a01b031681565b6007546000906001600160a01b0316331461046b576040805162461bcd60e51b815260206004820152601560248201527413db9b1e4818db19585b995c8818dbdb9d1c9858dd605a1b604482015290519081900360640190fd5b6006546001600160a01b03851660009081526002602052604090206103fa91859085906105b2565b60006104a1858585856105d9565b95945050505050565b60006103fa848484610614565b604080516001600160a01b038416602080830191909152818301849052825180830384018152606090920183528151918101919091206000818152918690529181205490919015610519576000908152602085905260408120555060016101fa565b506000949350505050565b604080516001600160a01b038086166020808401919091528284018590528351808403850181526060909301845282519281019290922060008181526001890184528481209287168152928290529282205491929180156105a457506001600160a01b0385166000908152602091909152604081205550600190506103fa565b506000979650505050505050565b60006105bf858484610756565b90506105d0600286018585856105d9565b01949350505050565b60006001600160a01b03841615610519576001600160a01b038416600090815260208690526040902061060d908484610756565b90506103fa565b600081610623575060006101fa565b6001840154600160401b900467ffffffffffffffff16806106485760009150506101fa565b600185015467ffffffffffffffff16600061066f61066683886107fa565b60018503610854565b9050815b81811080156106ae575060018101600090815260208981526040808320838052909152902054600160b01b900467ffffffffffffffff168610155b1561071257600081815260208981526040808320838052918290528220549091600160f01b90910460ff16905b8181101561070757600081815260208490526040902080546001600160f81b03191690556001016106db565b505050600101610673565b82811115610748576107238161086a565b60018901805467ffffffffffffffff191667ffffffffffffffff929092169190911790555b919091039695505050505050565b600081610765575060006101fa565b6001840154600160401b900467ffffffffffffffff168061078a5760009150506101fa565b600185015467ffffffffffffffff1660006107a861066683886107fa565b9050815b81811080156107de575060018101600090815260208990526040902054600160c01b900467ffffffffffffffff168610155b15610712576000818152602089905260408120556001016107ac565b6000828201838110156101fa576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081831061086357816101fa565b5090919050565b6000600160401b82106108ae5760405162461bcd60e51b81526004018080602001828103825260268152602001806108b36026913960400191505060405180910390fd5b509056fe53616665436173743a2076616c756520646f65736e27742066697420696e2036342062697473a2646970667358221220935983b93001c10bbba4c0ea4ac25cf8fec86f7fa44d5a35b502c42bc54047d764736f6c63430007060033",
233
233
  "linkReferences": {},
234
234
  "deployedLinkReferences": {}
235
235
  }