@flarenetwork/flare-periphery-contract-artifacts 0.1.0 → 0.1.2
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.
- package/coston/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
- package/coston/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
- package/coston/artifacts/contracts/inflation/interface/IIInflationReceiverV1.sol/IIInflationReceiverV1.json +57 -0
- package/coston/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +6 -19
- package/coston/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +0 -13
- package/coston/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
- package/coston2/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
- package/coston2/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
- package/coston2/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +2 -2
- package/coston2/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
- package/coston2/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
- package/coston2/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
- package/coston2/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +2 -2
- package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
- package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
- package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +2 -2
- package/coston2/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +2 -2
- package/coston2/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
- package/coston2/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
- package/coston2/artifacts/contracts/staking/implementation/AddressBinder.sol/AddressBinder.json +121 -0
- package/coston2/artifacts/contracts/staking/implementation/PChainStake.sol/PChainStake.json +512 -0
- package/coston2/artifacts/contracts/staking/implementation/PChainStakeMirror.sol/PChainStakeMirror.json +1299 -0
- package/coston2/artifacts/contracts/staking/implementation/PChainStakeMirrorMultiSigVoting.sol/PChainStakeMirrorMultiSigVoting.json +579 -0
- package/coston2/artifacts/contracts/staking/implementation/PChainStakeMirrorVerifier.sol/PChainStakeMirrorVerifier.json +168 -0
- package/coston2/artifacts/contracts/staking/interface/IIPChainStakeMirrorVerifier.sol/IIPChainStakeMirrorVerifier.json +72 -0
- package/coston2/artifacts/contracts/staking/lib/PChainStakeHistory.sol/PChainStakeHistory.json +24 -0
- package/coston2/artifacts/contracts/token/implementation/CombinedNat.sol/CombinedNat.json +128 -0
- package/coston2/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +20 -2
- package/coston2/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
- package/coston2/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
- package/coston2/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
- package/coston2/artifacts/contracts/token/{lib → interface}/IICombinedNatBalance.sol/IICombinedNatBalance.json +33 -1
- package/coston2/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +14 -1
- package/coston2/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +2 -2
- package/coston2/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +2 -2
- package/coston2/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +2 -2
- package/coston2/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
- package/coston2/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +2 -2
- package/coston2/artifacts/contracts/userInterfaces/IAddressBinder.sol/IAddressBinder.json +121 -0
- package/coston2/artifacts/contracts/userInterfaces/IGovernanceVotePower.sol/IGovernanceVotePower.json +1 -1
- package/coston2/artifacts/contracts/userInterfaces/IPChainStakeMirror.sol/IPChainStakeMirror.json +575 -0
- package/coston2/artifacts/contracts/userInterfaces/IPChainStakeMirrorMultiSigVoting.sol/IPChainStakeMirrorMultiSigVoting.json +311 -0
- package/coston2/artifacts/contracts/userInterfaces/IPChainStakeMirrorVerifier.sol/IPChainStakeMirrorVerifier.json +10 -0
- package/coston2/artifacts/contracts/userInterfaces/IPChainVotePower.sol/IPChainVotePower.json +309 -0
- package/coston2/artifacts/contracts/utils/implementation/BytesLib.sol/BytesLib.json +10 -0
- package/coston2/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +2 -2
- package/coston2/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
- package/coston2/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +2 -2
- package/coston2/deploys/contracts.json +23 -3
- package/dist/coston/StateConnector/libs/ts/AttestationDefinitionStore.d.ts +68 -0
- package/dist/coston/StateConnector/libs/ts/AttestationDefinitionStore.d.ts.map +1 -0
- package/dist/coston/StateConnector/libs/ts/AttestationDefinitionStore.js +164 -0
- package/dist/coston/StateConnector/libs/ts/AttestationDefinitionStore.js.map +1 -0
- package/dist/coston/StateConnector/libs/ts/AttestationResponse.d.ts +33 -0
- package/dist/coston/StateConnector/libs/ts/AttestationResponse.d.ts.map +1 -0
- package/dist/coston/StateConnector/libs/ts/AttestationResponse.js +30 -0
- package/dist/coston/StateConnector/libs/ts/AttestationResponse.js.map +1 -0
- package/dist/coston/StateConnector/libs/ts/MerkleTree.d.ts +103 -0
- package/dist/coston/StateConnector/libs/ts/MerkleTree.d.ts.map +1 -0
- package/dist/coston/StateConnector/libs/ts/MerkleTree.js +212 -0
- package/dist/coston/StateConnector/libs/ts/MerkleTree.js.map +1 -0
- package/dist/coston/StateConnector/libs/ts/config-types.d.ts +143 -0
- package/dist/coston/StateConnector/libs/ts/config-types.d.ts.map +1 -0
- package/dist/coston/StateConnector/libs/ts/config-types.js +3 -0
- package/dist/coston/StateConnector/libs/ts/config-types.js.map +1 -0
- package/dist/coston/StateConnector/libs/ts/interfaces.d.ts +32 -0
- package/dist/coston/StateConnector/libs/ts/interfaces.d.ts.map +1 -0
- package/dist/coston/StateConnector/libs/ts/interfaces.js +3 -0
- package/dist/coston/StateConnector/libs/ts/interfaces.js.map +1 -0
- package/dist/coston/StateConnector/libs/ts/random.d.ts +9 -0
- package/dist/coston/StateConnector/libs/ts/random.d.ts.map +1 -0
- package/dist/coston/StateConnector/libs/ts/random.js +70 -0
- package/dist/coston/StateConnector/libs/ts/random.js.map +1 -0
- package/dist/coston/StateConnector/libs/ts/utils.d.ts +73 -0
- package/dist/coston/StateConnector/libs/ts/utils.d.ts.map +1 -0
- package/dist/coston/StateConnector/libs/ts/utils.js +282 -0
- package/dist/coston/StateConnector/libs/ts/utils.js.map +1 -0
- package/dist/coston/StateConnector/typescript/AddressValidity.d.ts +91 -0
- package/dist/coston/StateConnector/typescript/AddressValidity.d.ts.map +1 -0
- package/dist/coston/StateConnector/typescript/AddressValidity.js +9 -0
- package/dist/coston/StateConnector/typescript/AddressValidity.js.map +1 -0
- package/dist/coston/StateConnector/typescript/BalanceDecreasingTransaction.d.ts +107 -0
- package/dist/coston/StateConnector/typescript/BalanceDecreasingTransaction.d.ts.map +1 -0
- package/dist/coston/StateConnector/typescript/BalanceDecreasingTransaction.js +9 -0
- package/dist/coston/StateConnector/typescript/BalanceDecreasingTransaction.js.map +1 -0
- package/dist/coston/StateConnector/typescript/ConfirmedBlockHeightExists.d.ts +103 -0
- package/dist/coston/StateConnector/typescript/ConfirmedBlockHeightExists.d.ts.map +1 -0
- package/dist/coston/StateConnector/typescript/ConfirmedBlockHeightExists.js +9 -0
- package/dist/coston/StateConnector/typescript/ConfirmedBlockHeightExists.js.map +1 -0
- package/dist/coston/StateConnector/typescript/EVMTransaction.d.ts +160 -0
- package/dist/coston/StateConnector/typescript/EVMTransaction.d.ts.map +1 -0
- package/dist/coston/StateConnector/typescript/EVMTransaction.js +9 -0
- package/dist/coston/StateConnector/typescript/EVMTransaction.js.map +1 -0
- package/dist/coston/StateConnector/typescript/Payment.d.ts +139 -0
- package/dist/coston/StateConnector/typescript/Payment.d.ts.map +1 -0
- package/dist/coston/StateConnector/typescript/Payment.js +9 -0
- package/dist/coston/StateConnector/typescript/Payment.js.map +1 -0
- package/dist/coston/StateConnector/typescript/ReferencedPaymentNonexistence.d.ts +115 -0
- package/dist/coston/StateConnector/typescript/ReferencedPaymentNonexistence.d.ts.map +1 -0
- package/dist/coston/StateConnector/typescript/ReferencedPaymentNonexistence.js +9 -0
- package/dist/coston/StateConnector/typescript/ReferencedPaymentNonexistence.js.map +1 -0
- package/dist/coston/StateConnector/typescript/TypeTemplate.d.ts +146 -0
- package/dist/coston/StateConnector/typescript/TypeTemplate.d.ts.map +1 -0
- package/dist/coston/StateConnector/typescript/TypeTemplate.js +9 -0
- package/dist/coston/StateConnector/typescript/TypeTemplate.js.map +1 -0
- package/dist/coston/StateConnector/typescript/data-sources/data-sources.d.ts +29 -0
- package/dist/coston/StateConnector/typescript/data-sources/data-sources.d.ts.map +1 -0
- package/dist/coston/StateConnector/typescript/data-sources/data-sources.js +33 -0
- package/dist/coston/StateConnector/typescript/data-sources/data-sources.js.map +1 -0
- package/dist/coston/StateConnector/typescript/index.d.ts +9 -0
- package/dist/coston/StateConnector/typescript/index.d.ts.map +1 -0
- package/dist/coston/StateConnector/typescript/index.js +25 -0
- package/dist/coston/StateConnector/typescript/index.js.map +1 -0
- package/dist/coston/abis.d.ts.map +1 -1
- package/dist/coston/abis.js +2 -0
- package/dist/coston/abis.js.map +1 -1
- package/dist/coston/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
- package/dist/coston/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
- package/dist/coston/artifacts/contracts/inflation/interface/IIInflationReceiverV1.sol/IIInflationReceiverV1.json +57 -0
- package/dist/coston/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +6 -19
- package/dist/coston/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +0 -13
- package/dist/coston/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
- package/dist/coston/deploys/mapper.js.map +1 -1
- package/dist/coston2/abis.d.ts.map +1 -1
- package/dist/coston2/abis.js +20 -2
- package/dist/coston2/abis.js.map +1 -1
- package/dist/coston2/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
- package/dist/coston2/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
- package/dist/coston2/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +2 -2
- package/dist/coston2/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
- package/dist/coston2/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
- package/dist/coston2/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
- package/dist/coston2/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +2 -2
- package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
- package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
- package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +2 -2
- package/dist/coston2/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +2 -2
- package/dist/coston2/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
- package/dist/coston2/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
- package/dist/coston2/artifacts/contracts/staking/implementation/AddressBinder.sol/AddressBinder.json +121 -0
- package/dist/coston2/artifacts/contracts/staking/implementation/PChainStake.sol/PChainStake.json +512 -0
- package/dist/coston2/artifacts/contracts/staking/implementation/PChainStakeMirror.sol/PChainStakeMirror.json +1299 -0
- package/dist/coston2/artifacts/contracts/staking/implementation/PChainStakeMirrorMultiSigVoting.sol/PChainStakeMirrorMultiSigVoting.json +579 -0
- package/dist/coston2/artifacts/contracts/staking/implementation/PChainStakeMirrorVerifier.sol/PChainStakeMirrorVerifier.json +168 -0
- package/dist/coston2/artifacts/contracts/staking/interface/IIPChainStakeMirrorVerifier.sol/IIPChainStakeMirrorVerifier.json +72 -0
- package/dist/coston2/artifacts/contracts/staking/lib/PChainStakeHistory.sol/PChainStakeHistory.json +24 -0
- package/dist/coston2/artifacts/contracts/token/implementation/CombinedNat.sol/CombinedNat.json +128 -0
- package/dist/coston2/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +20 -2
- package/dist/coston2/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
- package/dist/coston2/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
- package/dist/coston2/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
- package/dist/coston2/artifacts/contracts/token/{lib → interface}/IICombinedNatBalance.sol/IICombinedNatBalance.json +33 -1
- package/dist/coston2/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +14 -1
- package/dist/coston2/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +2 -2
- package/dist/coston2/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +2 -2
- package/dist/coston2/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +2 -2
- package/dist/coston2/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
- package/dist/coston2/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +2 -2
- package/dist/coston2/artifacts/contracts/utils/implementation/BytesLib.sol/BytesLib.json +10 -0
- package/dist/coston2/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +2 -2
- package/dist/coston2/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
- package/dist/coston2/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +2 -2
- package/dist/coston2/deploys/addresses.d.ts +4 -0
- package/dist/coston2/deploys/addresses.d.ts.map +1 -1
- package/dist/coston2/deploys/addresses.js +6 -2
- package/dist/coston2/deploys/addresses.js.map +1 -1
- package/dist/coston2/deploys/contracts.json +23 -3
- package/dist/coston2/deploys/mapper.js.map +1 -1
- package/dist/flare/abis.d.ts.map +1 -1
- package/dist/flare/abis.js +20 -2
- package/dist/flare/abis.js.map +1 -1
- package/dist/flare/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
- package/dist/flare/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
- package/dist/flare/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +2 -2
- package/dist/flare/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
- package/dist/flare/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
- package/dist/flare/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
- package/dist/flare/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +2 -2
- package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
- package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
- package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +2 -2
- package/dist/flare/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +2 -2
- package/dist/flare/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
- package/dist/flare/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
- package/dist/flare/artifacts/contracts/staking/implementation/AddressBinder.sol/AddressBinder.json +121 -0
- package/dist/flare/artifacts/contracts/staking/implementation/PChainStake.sol/PChainStake.json +512 -0
- package/dist/flare/artifacts/contracts/staking/implementation/PChainStakeMirror.sol/PChainStakeMirror.json +1299 -0
- package/dist/flare/artifacts/contracts/staking/implementation/PChainStakeMirrorMultiSigVoting.sol/PChainStakeMirrorMultiSigVoting.json +579 -0
- package/dist/flare/artifacts/contracts/staking/implementation/PChainStakeMirrorVerifier.sol/PChainStakeMirrorVerifier.json +168 -0
- package/dist/flare/artifacts/contracts/staking/interface/IIPChainStakeMirrorVerifier.sol/IIPChainStakeMirrorVerifier.json +72 -0
- package/dist/flare/artifacts/contracts/staking/lib/PChainStakeHistory.sol/PChainStakeHistory.json +24 -0
- package/dist/flare/artifacts/contracts/token/implementation/CombinedNat.sol/CombinedNat.json +128 -0
- package/dist/flare/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +20 -2
- package/dist/flare/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
- package/dist/flare/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
- package/dist/flare/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
- package/dist/flare/artifacts/contracts/token/{lib → interface}/IICombinedNatBalance.sol/IICombinedNatBalance.json +33 -1
- package/dist/flare/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +14 -1
- package/dist/flare/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +2 -2
- package/dist/flare/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +2 -2
- package/dist/flare/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +2 -2
- package/dist/flare/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
- package/dist/flare/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +2 -2
- package/dist/flare/artifacts/contracts/utils/implementation/BytesLib.sol/BytesLib.json +10 -0
- package/dist/flare/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +2 -2
- package/dist/flare/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
- package/dist/flare/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +2 -2
- package/dist/flare/deploys/addresses.d.ts +4 -0
- package/dist/flare/deploys/addresses.d.ts.map +1 -1
- package/dist/flare/deploys/addresses.js +6 -2
- package/dist/flare/deploys/addresses.js.map +1 -1
- package/dist/flare/deploys/contracts.json +23 -3
- package/dist/flare/deploys/mapper.js.map +1 -1
- package/dist/songbird/abis.d.ts.map +1 -1
- package/dist/songbird/abis.js +20 -14
- package/dist/songbird/abis.js.map +1 -1
- package/dist/songbird/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
- package/dist/songbird/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
- package/dist/songbird/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
- package/dist/songbird/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
- package/dist/songbird/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +273 -298
- package/dist/songbird/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +463 -0
- package/dist/songbird/artifacts/contracts/inflation/implementation/SelfDestructBurner.sol/SelfDestructBurner.json +73 -0
- package/dist/songbird/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +290 -51
- package/dist/songbird/artifacts/contracts/inflation/interface/{IIInflationSharingPercentageProvider.sol/IIInflationSharingPercentageProvider.json → IIInflationAllocation.sol/IIInflationAllocation.json} +15 -2
- package/dist/songbird/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +26 -0
- package/dist/songbird/artifacts/contracts/inflation/interface/IIInflationReceiverV1.sol/IIInflationReceiverV1.json +57 -0
- package/dist/songbird/artifacts/contracts/inflation/interface/IIInflationV1.sol/IIInflationV1.json +142 -0
- package/dist/songbird/artifacts/contracts/inflation/interface/IIPreInflationCalculation.sol/IIPreInflationCalculation.json +18 -0
- package/dist/songbird/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +6 -12
- package/dist/songbird/artifacts/contracts/inflation/lib/{RewardServices.sol/RewardServices.json → InflationRewardServices.sol/InflationRewardServices.json} +25 -6
- package/dist/songbird/artifacts/contracts/inflation/lib/InflationTimeSlots.sol/InflationTimeSlots.json +10 -0
- package/dist/songbird/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
- package/dist/songbird/artifacts/contracts/tokenPools/implementation/InflationReceiver.sol/InflationReceiver.json +127 -0
- package/dist/songbird/artifacts/contracts/tokenPools/implementation/TokenPoolBase.sol/TokenPoolBase.json +10 -0
- package/dist/songbird/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +13 -0
- package/dist/songbird/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
- package/dist/songbird/deploys/addresses.js +3 -3
- package/dist/songbird/deploys/contracts.json +3 -3
- package/dist/songbird/deploys/mapper.js.map +1 -1
- package/flare/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
- package/flare/artifacts/contracts/claiming/implementation/DelegationAccount.sol/DelegationAccount.json +2 -2
- package/flare/artifacts/contracts/ftso/implementation/Ftso.sol/Ftso.json +2 -2
- package/flare/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
- package/flare/artifacts/contracts/ftso/lib/FtsoEpoch.sol/FtsoEpoch.json +2 -2
- package/flare/artifacts/contracts/ftso/lib/FtsoManagement.sol/FtsoManagement.json +2 -2
- package/flare/artifacts/contracts/ftso/lib/FtsoManagerSettings.sol/FtsoManagerSettings.json +2 -2
- package/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockFtsoRegistry.json +2 -2
- package/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockPriceSubmitter.json +2 -2
- package/flare/artifacts/contracts/ftso/priceProviderMockContracts/PriceProviderMockContracts.sol/MockVoterWhitelister.json +2 -2
- package/flare/artifacts/contracts/ftso/priceProviderMockContracts/priceProviderMockFtso.sol/MockNpmFtso.json +2 -2
- package/flare/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
- package/flare/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
- package/flare/artifacts/contracts/staking/implementation/AddressBinder.sol/AddressBinder.json +121 -0
- package/flare/artifacts/contracts/staking/implementation/PChainStake.sol/PChainStake.json +512 -0
- package/flare/artifacts/contracts/staking/implementation/PChainStakeMirror.sol/PChainStakeMirror.json +1299 -0
- package/flare/artifacts/contracts/staking/implementation/PChainStakeMirrorMultiSigVoting.sol/PChainStakeMirrorMultiSigVoting.json +579 -0
- package/flare/artifacts/contracts/staking/implementation/PChainStakeMirrorVerifier.sol/PChainStakeMirrorVerifier.json +168 -0
- package/flare/artifacts/contracts/staking/interface/IIPChainStakeMirrorVerifier.sol/IIPChainStakeMirrorVerifier.json +72 -0
- package/flare/artifacts/contracts/staking/lib/PChainStakeHistory.sol/PChainStakeHistory.json +24 -0
- package/flare/artifacts/contracts/token/implementation/CombinedNat.sol/CombinedNat.json +128 -0
- package/flare/artifacts/contracts/token/implementation/GovernanceVotePower.sol/GovernanceVotePower.json +20 -2
- package/flare/artifacts/contracts/token/implementation/VPContract.sol/VPContract.json +2 -2
- package/flare/artifacts/contracts/token/implementation/VPToken.sol/VPToken.json +2 -2
- package/flare/artifacts/contracts/token/implementation/WNat.sol/WNat.json +2 -2
- package/flare/artifacts/contracts/token/{lib → interface}/IICombinedNatBalance.sol/IICombinedNatBalance.json +33 -1
- package/flare/artifacts/contracts/token/interface/IIGovernanceVotePower.sol/IIGovernanceVotePower.json +14 -1
- package/flare/artifacts/contracts/tokenPools/implementation/AttestationProviderRewardManager.sol/AttestationProviderRewardManager.json +2 -2
- package/flare/artifacts/contracts/tokenPools/implementation/DistributionToDelegators.sol/DistributionToDelegators.json +2 -2
- package/flare/artifacts/contracts/tokenPools/implementation/Escrow.sol/Escrow.json +2 -2
- package/flare/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
- package/flare/artifacts/contracts/tokenPools/implementation/ValidatorRewardManager.sol/ValidatorRewardManager.json +2 -2
- package/flare/artifacts/contracts/userInterfaces/IAddressBinder.sol/IAddressBinder.json +121 -0
- package/flare/artifacts/contracts/userInterfaces/IGovernanceVotePower.sol/IGovernanceVotePower.json +1 -1
- package/flare/artifacts/contracts/userInterfaces/IPChainStakeMirror.sol/IPChainStakeMirror.json +575 -0
- package/flare/artifacts/contracts/userInterfaces/IPChainStakeMirrorMultiSigVoting.sol/IPChainStakeMirrorMultiSigVoting.json +311 -0
- package/flare/artifacts/contracts/userInterfaces/IPChainStakeMirrorVerifier.sol/IPChainStakeMirrorVerifier.json +10 -0
- package/flare/artifacts/contracts/userInterfaces/IPChainVotePower.sol/IPChainVotePower.json +309 -0
- package/flare/artifacts/contracts/utils/implementation/BytesLib.sol/BytesLib.json +10 -0
- package/flare/artifacts/contracts/utils/implementation/FtsoRegistry.sol/FtsoRegistry.json +2 -2
- package/flare/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
- package/flare/artifacts/contracts/utils/implementation/VoterWhitelister.sol/VoterWhitelister.json +2 -2
- package/flare/deploys/contracts.json +23 -3
- package/package.json +3 -2
- package/songbird/artifacts/contracts/claiming/implementation/ClaimSetupManager.sol/ClaimSetupManager.json +2 -2
- package/songbird/artifacts/contracts/ftso/implementation/FtsoManager.sol/FtsoManager.json +2 -2
- package/songbird/artifacts/contracts/governance/implementation/PollingFoundation.sol/PollingFoundation.json +2 -2
- package/songbird/artifacts/contracts/governance/implementation/PollingFtso.sol/PollingFtso.json +2 -2
- package/songbird/artifacts/contracts/inflation/implementation/Inflation.sol/Inflation.json +273 -298
- package/songbird/artifacts/contracts/inflation/implementation/InflationAllocation.sol/InflationAllocation.json +463 -0
- package/songbird/artifacts/contracts/inflation/implementation/SelfDestructBurner.sol/SelfDestructBurner.json +73 -0
- package/songbird/artifacts/contracts/inflation/implementation/Supply.sol/Supply.json +290 -51
- package/songbird/artifacts/contracts/inflation/interface/{IIInflationSharingPercentageProvider.sol/IIInflationSharingPercentageProvider.json → IIInflationAllocation.sol/IIInflationAllocation.json} +15 -2
- package/songbird/artifacts/contracts/inflation/interface/IIInflationReceiver.sol/IIInflationReceiver.json +26 -0
- package/songbird/artifacts/contracts/inflation/interface/IIInflationReceiverV1.sol/IIInflationReceiverV1.json +57 -0
- package/songbird/artifacts/contracts/inflation/interface/IIInflationV1.sol/IIInflationV1.json +142 -0
- package/songbird/artifacts/contracts/inflation/interface/IIPreInflationCalculation.sol/IIPreInflationCalculation.json +18 -0
- package/songbird/artifacts/contracts/inflation/interface/IISupply.sol/IISupply.json +6 -12
- package/songbird/artifacts/contracts/inflation/lib/{RewardServices.sol/RewardServices.json → InflationRewardServices.sol/InflationRewardServices.json} +25 -6
- package/songbird/artifacts/contracts/inflation/lib/InflationTimeSlots.sol/InflationTimeSlots.json +10 -0
- package/songbird/artifacts/contracts/tokenPools/implementation/FtsoRewardManager.sol/FtsoRewardManager.json +2 -2
- package/songbird/artifacts/contracts/tokenPools/implementation/InflationReceiver.sol/InflationReceiver.json +127 -0
- package/songbird/artifacts/contracts/tokenPools/implementation/TokenPoolBase.sol/TokenPoolBase.json +10 -0
- package/songbird/artifacts/contracts/tokenPools/interface/IIFtsoRewardManager.sol/IIFtsoRewardManager.json +13 -0
- package/songbird/artifacts/contracts/userInterfaces/IGenericRewardManager.sol/IGenericRewardManager.json +248 -0
- package/songbird/artifacts/contracts/utils/implementation/FtsoV2Upgrader.sol/FtsoV2Upgrader.json +2 -2
- package/songbird/deploys/contracts.json +3 -3
- package/dist/songbird/artifacts/contracts/governance/implementation/InflationAllocation.sol/InflationAllocation.json +0 -351
- package/dist/songbird/artifacts/contracts/inflation/interface/IIInflationPercentageProvider.sol/IIInflationPercentageProvider.json +0 -24
- package/dist/songbird/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +0 -10
- package/dist/songbird/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +0 -10
- package/dist/songbird/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +0 -30
- package/songbird/artifacts/contracts/governance/implementation/InflationAllocation.sol/InflationAllocation.json +0 -351
- package/songbird/artifacts/contracts/inflation/interface/IIInflationPercentageProvider.sol/IIInflationPercentageProvider.json +0 -24
- package/songbird/artifacts/contracts/inflation/lib/InflationAnnum.sol/InflationAnnum.json +0 -10
- package/songbird/artifacts/contracts/inflation/lib/InflationAnnums.sol/InflationAnnums.json +0 -10
- package/songbird/artifacts/contracts/inflation/lib/RewardService.sol/RewardService.json +0 -30
|
@@ -1379,8 +1379,8 @@
|
|
|
1379
1379
|
"type": "function"
|
|
1380
1380
|
}
|
|
1381
1381
|
],
|
|
1382
|
-
"bytecode": "0x60a06040523480156200001157600080fd5b5060405162005b8538038062005b85833981810160405260a08110156200003757600080fd5b508051602082015160408301516060840151608090940151929391929091908385806001600160a01b0381161562000074576200007481620000fd565b506001600160a01b038116620000c4576040805162461bcd60e51b815260206004820152601060248201526f5f676f7665726e616e6365207a65726f60801b604482015290519081900360640190fd5b506001600255620000d581620001c0565b5060609290921b6001600160601b031916608052600f556010555050600019600455620001e4565b600054600160a01b900460ff16156200015d576040805162461bcd60e51b815260206004820152601460248201527f696e697469616c6973656420213d2066616c7365000000000000000000000000604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b60805160601c61597462000211600039806114b852806116e45280613222528061326352506159746000f3fe6080604052600436106103505760003560e01c806384e10a90116101c6578063cfbcd25f116100f7578063e7c830d411610095578063ed39d3f81161006f578063ed39d3f814611353578063f2edab5a14611368578063f5a9838314611392578063f5f5ba72146113a757610350565b8063e7c830d4146112f0578063ea28edad14611305578063eb82dd7f1461131a57610350565b8063d6c1dbee116100d1578063d6c1dbee14611155578063e17f212e1461117f578063e273956314611194578063e416b7e1146111be57610350565b8063cfbcd25f1461101d578063d20bb54214611050578063d418634a1461112b57610350565b8063a9b79e1711610164578063b2c121921161013e578063b2c1219214610f25578063b482403414610f70578063b4a2043d14610f85578063c4db96191461100857610350565b8063a9b79e1714610c0d578063b00c0b7614610d6a578063b2af870a14610e9a57610350565b8063961c00ed116101a0578063961c00ed14610a6c5780639d6a890f14610aa55780639edbf00714610ad8578063a4472c1014610aed57610350565b806384e10a901461093957806385b4c538146109955780638dc305fa146109f157610350565b806333b7971e116102a0578063657d96951161023e57806369b91b591161021857806369b91b591461080b57806374e6310e1461083e5780637b6b2c0a146108f157806382a2b9051461090657610350565b8063657d96951461076857806367dcac53146107a157806367fc4029146107d757610350565b80635267a15d1161027a5780635267a15d146106f55780635aa6e6751461070a5780635ff270791461071f57806362354e031461075357610350565b806333b7971e146105ba5780633e7ff857146106cb57806351b42b00146106e057610350565b806312f97ac01161030d5780631de56098116102e75780631de560981461047757806321bb25af1461048c5780632dafdbbf146105725780633123b7d8146105a557610350565b806312f97ac01461041157806316e693281461042657806316fe49c71461046257610350565b806302fb0c5e146103555780630441218e1461037e57806306201f1d146103ac5780630cb72344146103b65780630f15f4c0146103e757806311a7aaaa146103fc575b600080fd5b34801561036157600080fd5b5061036a611431565b604080519115158252519081900360200190f35b34801561038a57600080fd5b5061039361143a565b6040805192835260208301919091528051918290030190f35b6103b461144e565b005b3480156103c257600080fd5b506103cb6114b6565b604080516001600160a01b039092168252519081900360200190f35b3480156103f357600080fd5b506103b46114da565b34801561040857600080fd5b506103cb6115a3565b34801561041d57600080fd5b506103cb6115b2565b34801561043257600080fd5b506104506004803603602081101561044957600080fd5b50356115c1565b60408051918252519081900360200190f35b34801561046e57600080fd5b5061045061169f565b34801561048357600080fd5b506103b46116a5565b34801561049857600080fd5b50610450600480360360a08110156104af57600080fd5b6001600160a01b038235811692602081013590911691810190606081016040820135600160201b8111156104e257600080fd5b8201836020820111156104f457600080fd5b803590602001918460208302840111600160201b8311171561051557600080fd5b919390929091602081019035600160201b81111561053257600080fd5b82018360208201111561054457600080fd5b803590602001918460208302840111600160201b8311171561056557600080fd5b919350915035151561180b565b34801561057e57600080fd5b50610587611897565b60408051938452602084019290925282820152519081900360600190f35b3480156105b157600080fd5b506104506118c2565b3480156105c657600080fd5b506105ed600480360360208110156105dd57600080fd5b50356001600160a01b03166118d1565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561063557818101518382015260200161061d565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561067457818101518382015260200161065c565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156106b357818101518382015260200161069b565b50505050905001965050505050505060405180910390f35b3480156106d757600080fd5b50610450611b25565b3480156106ec57600080fd5b506103b4611b2b565b34801561070157600080fd5b506103cb611b72565b34801561071657600080fd5b506103cb611b97565b34801561072b57600080fd5b506103b46004803603602081101561074257600080fd5b50356001600160e01b031916611c38565b34801561075f57600080fd5b506103cb611f9a565b34801561077457600080fd5b506103936004803603604081101561078b57600080fd5b50803590602001356001600160a01b0316611fb2565b3480156107ad57600080fd5b506103b4600480360360608110156107c457600080fd5b5080359060208101359060400135611fee565b3480156107e357600080fd5b506103b4600480360360208110156107fa57600080fd5b50356001600160e01b031916612056565b34801561081757600080fd5b506104506004803603602081101561082e57600080fd5b50356001600160a01b031661213e565b34801561084a57600080fd5b506108726004803603602081101561086157600080fd5b50356001600160e01b031916612157565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156108b557818101518382015260200161089d565b50505050905090810190601f1680156108e25780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b3480156108fd57600080fd5b506104506121fd565b34801561091257600080fd5b506103b46004803603602081101561092957600080fd5b50356001600160a01b0316612203565b34801561094557600080fd5b5061094e6122f6565b60408051998a5260208a0198909852888801969096526060880194909452608087019290925260a086015260c085015260e084015261010083015251908190036101200190f35b3480156109a157600080fd5b506109d6600480360360608110156109b857600080fd5b508035906001600160a01b036020820135811691604001351661231c565b60408051921515835260208301919091528051918290030190f35b3480156109fd57600080fd5b506103b460048036036040811015610a1457600080fd5b810190602081018135600160201b811115610a2e57600080fd5b820183602082011115610a4057600080fd5b803590602001918460208302840111600160201b83111715610a6157600080fd5b919350915035612370565b348015610a7857600080fd5b5061045060048036036040811015610a8f57600080fd5b506001600160a01b03813516906020013561271e565b348015610ab157600080fd5b506103b460048036036020811015610ac857600080fd5b50356001600160a01b03166127a0565b348015610ae457600080fd5b506103cb612859565b348015610af957600080fd5b50610b2660048036036040811015610b1057600080fd5b506001600160a01b038135169060200135612868565b604051808060200180602001806020018515158152602001848103845288818151815260200191508051906020019060200280838360005b83811015610b76578181015183820152602001610b5e565b50505050905001848103835287818151815260200191508051906020019060200280838360005b83811015610bb5578181015183820152602001610b9d565b50505050905001848103825286818151815260200191508051906020019060200280838360005b83811015610bf4578181015183820152602001610bdc565b5050505090500197505050505050505060405180910390f35b348015610c1957600080fd5b506103b46004803603610120811015610c3157600080fd5b810190602081018135600160201b811115610c4b57600080fd5b820183602082011115610c5d57600080fd5b803590602001918460208302840111600160201b83111715610c7e57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b811115610ccd57600080fd5b820183602082011115610cdf57600080fd5b803590602001918460208302840111600160201b83111715610d0057600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550508235935050506020810135906001600160a01b036040820135169060608101359060808101359060a08101359060c001356128d2565b348015610d7657600080fd5b506103b460048036036040811015610d8d57600080fd5b810190602081018135600160201b811115610da757600080fd5b820183602082011115610db957600080fd5b803590602001918460208302840111600160201b83111715610dda57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b811115610e2957600080fd5b820183602082011115610e3b57600080fd5b803590602001918460208302840111600160201b83111715610e5c57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550612d21945050505050565b348015610ea657600080fd5b5061045060048036036040811015610ebd57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b811115610ee757600080fd5b820183602082011115610ef957600080fd5b803590602001918460208302840111600160201b83111715610f1a57600080fd5b509092509050612dcc565b348015610f3157600080fd5b5061045060048036036080811015610f4857600080fd5b506001600160a01b038135811691602081013590911690604081013590606001351515612e82565b348015610f7c57600080fd5b50610450612f08565b348015610f9157600080fd5b50610fb860048036036020811015610fa857600080fd5b50356001600160a01b0316612f0e565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610ff4578181015183820152602001610fdc565b505050509050019250505060405180910390f35b34801561101457600080fd5b506103cb6130b5565b34801561102957600080fd5b506104506004803603602081101561104057600080fd5b50356001600160a01b03166130c4565b34801561105c57600080fd5b506104506004803603606081101561107357600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561109d57600080fd5b8201836020820111156110af57600080fd5b803590602001918460208302840111600160201b831117156110d057600080fd5b919390929091602081019035600160201b8111156110ed57600080fd5b8201836020820111156110ff57600080fd5b803590602001918460208302840111600160201b8311171561112057600080fd5b5090925090506130db565b34801561113757600080fd5b506103936004803603602081101561114e57600080fd5b5035613156565b34801561116157600080fd5b506103b46004803603602081101561117857600080fd5b5035613175565b34801561118b57600080fd5b5061036a61334b565b3480156111a057600080fd5b506103b4600480360360208110156111b757600080fd5b503561335b565b3480156111ca57600080fd5b5061124e600480360360608110156111e157600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561121057600080fd5b82018360208201111561122257600080fd5b803590602001918460208302840111600160201b8311171561124357600080fd5b5090925090506133b2565b6040518080602001806020018415158152602001838103835286818151815260200191508051906020019060200280838360005b8381101561129a578181015183820152602001611282565b50505050905001838103825285818151815260200191508051906020019060200280838360005b838110156112d95781810151838201526020016112c1565b505050509050019550505050505060405180910390f35b3480156112fc57600080fd5b50610450613418565b34801561131157600080fd5b506103b4613422565b34801561132657600080fd5b506103936004803603604081101561133d57600080fd5b50803590602001356001600160a01b03166134b5565b34801561135f57600080fd5b506103cb6134f1565b34801561137457600080fd5b506104506004803603602081101561138b57600080fd5b5035613500565b34801561139e57600080fd5b506103b461350b565b3480156113b357600080fd5b506113bc6135d2565b6040805160208082528351818301528351919283929083019185019080838360005b838110156113f65781810151838201526020016113de565b50505050905090810190601f1680156114235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60035460ff1681565b6000806114456135fd565b90939092509050565b61145661366d565b61145e6136bd565b601b5560185461146e9034613724565b60185561147961377e565b6040805134815290517f95c4e29cc99bc027cfc3cd719d6fd973d5f0317061885fbb322b9b17d8d35d379181900360200190a16114b461385e565b565b7f000000000000000000000000000000000000000000000000000000000000000081565b6114e26138aa565b601e546001600160a01b0316158015906115065750601c546001600160a01b031615155b801561151c5750601f546001600160a01b031615155b611561576040805162461bcd60e51b81526020600482015260116024820152701859191c995cdcd95cc81b9bdd081cd95d607a1b604482015290519081900360640190fd5b6003805460ff191660011790556040805130815290517f2d9c100169d5e24ef79d07ec273fcbbd5ce996a849ef0223f37c49f6418df84d9181900360200190a1565b601c546001600160a01b031681565b6020546001600160a01b031681565b60008073__$b9040dea2fd9c47e6b7e0e916053de4d6b$__63e937a562600f856115e9613909565b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b15801561162b57600080fd5b505af415801561163f573d6000803e3d6000fd5b505050506040513d602081101561165557600080fd5b50516040805185815260208101839052815192935033927fd89f05622c2dcb0b4fcaa19e62fc2a2b0923955685fb7b0c641467f764244abc929181900390910190a290505b919050565b600f5490565b600054600160b01b900460ff16806116c75750600054600160a81b900460ff16155b15611800576116d461394e565b60035460ff1615801561170f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031615155b801561171b5750600654155b80156117275750600554155b61176c576040805162461bcd60e51b81526020600482015260116024820152706e6f7420696e697469616c20737461746560781b604482015290519081900360640190fd5b61177f6001611779613909565b90613724565b600655601c5460408051633e7ff85760e01b815290516001600160a01b0390921691633e7ff85791600480820192602092909190829003018186803b1580156117c757600080fd5b505afa1580156117db573d6000803e3d6000fd5b505050506040513d60208110156117f157600080fd5b505160055560006004556114b4565b6114b4600036613983565b6000611815613b13565b60028054141561185a576040805162461bcd60e51b815260206004820152601f60248201526000805160206158d7833981519152604482015290519081900360640190fd5b60028055878761186a8282613b6a565b6118798a8a8a8a8a8a8a613bf7565b6001600255925061188c915061385e9050565b979650505050505050565b6000806000806017546118b760165460135461372490919063ffffffff16565b925092509250909192565b60006118cc613db4565b905090565b6060808073__$b9040dea2fd9c47e6b7e0e916053de4d6b$__6325459925600f866118fa613909565b6040518463ffffffff1660e01b815260040180848152602001836001600160a01b03168152602001828152602001935050505060006040518083038186803b15801561194557600080fd5b505af4158015611959573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052606081101561198257600080fd5b8101908080516040519392919084600160201b8211156119a157600080fd5b9083019060208201858111156119b657600080fd5b82518660208202830111600160201b821117156119d257600080fd5b82525081516020918201928201910280838360005b838110156119ff5781810151838201526020016119e7565b5050505090500160405260200180516040519392919084600160201b821115611a2757600080fd5b908301906020820185811115611a3c57600080fd5b82518660208202830111600160201b82111715611a5857600080fd5b82525081516020918201928201910280838360005b83811015611a85578181015183820152602001611a6d565b5050505090500160405260200180516040519392919084600160201b821115611aad57600080fd5b908301906020820185811115611ac257600080fd5b82518660208202830111600160201b82111715611ade57600080fd5b82525081516020918201928201910280838360005b83811015611b0b578181015183820152602001611af3565b505050509050016040525050509250925092509193909250565b60055490565b611b336138aa565b6003805460ff191690556040805130815290517fa391f4e911c33688045cc1f43dc17c05924f79ad72a8cf5a58cf00c3acc9090e9181900360200190a1565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e77195490565b60008054600160a81b900460ff16611bba576000546001600160a01b03166118cc565b73183faff6997c98a812a3b98748fc80241d08f3126001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b158015611c0757600080fd5b505afa158015611c1b573d6000803e3d6000fd5b505050506040513d6020811015611c3157600080fd5b5051905090565b60408051630debfda360e41b8152336004820152905173183faff6997c98a812a3b98748fc80241d08f3129163debfda30916024808301926020929190829003018186803b158015611c8957600080fd5b505afa158015611c9d573d6000803e3d6000fd5b505050506040513d6020811015611cb357600080fd5b5051611cf6576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b0319811660009081526001602052604090208054611d62576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b8054421015611db8576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611e525780601f10611e2757610100808354040283529160200191611e52565b820191906000526020600020905b815481529060010190602001808311611e3557829003601f168201915b5050506001600160e01b0319861660009081526001602081905260408220828155949550909250611e8691508301826157b6565b50506000805460ff60b01b1916600160b01b178155604051825130918491819060208401908083835b60208310611ece5780518252601f199092019160209182019101611eaf565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611f30576040519150601f19603f3d011682016040523d82523d6000602084013e611f35565b606091505b50506000805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a1611f9481613dc5565b50505050565b73183faff6997c98a812a3b98748fc80241d08f31281565b60009182526007602090815260408084206001600160a01b0390931684529190529020546001600160801b0380821692600160801b9092041690565b611ff6613de2565b60006120028383613e35565b6015549091506120129082613724565b601555604080518581526020810183905281517f754fa5a3ace0438b80ec651f7d61e44f761a808ebd17d7ce70da619399611a08929181900390910190a150505050565b61205e6138aa565b6001600160e01b031981166000908152600160205260409020546120c9576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b03198116600090815260016020819052604082208281559190612139908301826157b6565b505050565b60006121518261214c613e52565b613e72565b92915050565b600160208181526000928352604092839020805481840180548651600296821615610100026000190190911695909504601f810185900485028601850190965285855290949193929091908301828280156121f35780601f106121c8576101008083540402835291602001916121f3565b820191906000526020600020905b8154815290600101906020018083116121d657829003601f168201915b5050505050905082565b60045481565b600054600160b01b900460ff16806122255750600054600160a81b900460ff16155b156122e85761223261394e565b6020546001600160a01b03161561227e576040805162461bcd60e51b815260206004820152600b60248201526a185b1c9958591e481cd95d60aa1b604482015290519081900360640190fd5b6001600160a01b0381166122c8576040805162461bcd60e51b815260206004820152600c60248201526b61646472657373207a65726f60a01b604482015290519081900360640190fd5b602080546001600160a01b0319166001600160a01b0383161790556122f3565b6122f3600036613983565b50565b601254601354601454601554601654601754601854601954601a54909192939495969798565b60008061232a858585613e95565b6000958652600a602090815260408088206001600160a01b039788168952825280882095909616875293909352505091205490916101009091046001600160801b031690565b612378613b13565b6002805414156123bd576040805162461bcd60e51b815260206004820152601f60248201526000805160206158d7833981519152604482015290519081900360640190fd5b600280556123c96136bd565b5060005b82811015612401576123f98484838181106123e457fe5b905060200201356001600160a01b0316613ed7565b6001016123cd565b50600061240c613909565b90506124188282613f23565b612459576040805162461bcd60e51b815260206004820152600d60248201526c6e6f7420636c61696d61626c6560981b604482015290519081900360640190fd5b601d546040805163712441d960e11b81523360048201818152602483019384526044830188905260009485946001600160a01b039091169363e24883b293928b928b92606401846020850280828437600081840152601f19601f82011690508083019250505094505050505060006040518083038186803b1580156124dd57600080fd5b505afa1580156124f1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561251a57600080fd5b8101908080516040519392919084600160201b82111561253957600080fd5b90830190602082018581111561254e57600080fd5b82518660208202830111600160201b8211171561256a57600080fd5b82525081516020918201928201910280838360005b8381101561259757818101518382015260200161257f565b50505050919091016040525060200151929450919250600091506125bb9050613e52565b905060005b868110156126f65760008888838181106125d657fe5b905060200201356001600160a01b0316905060008583815181106125f657fe5b60200260200101519050600061260e83838b88613f45565b9050816001600160a01b0316836001600160a01b0316146126375761263582838b88613f45565b015b60408051808201909152601881527f636c61696d656420616d6f756e7420746f6f20736d616c6c000000000000000060208201526126789082908890613fe9565b905080156126eb57601f546040805163b760faf960e01b81526001600160a01b0385811660048301529151919092169163b760faf991849160248082019260009290919082900301818588803b1580156126d157600080fd5b505af11580156126e5573d6000803e3d6000fd5b50505050505b5050506001016125c0565b5061270c336127058489614080565b60006140d9565b5050600160025550612139905061385e565b600081612729613db4565b111580156127455750600f5461274190611779613909565b8211155b61278d576040805162461bcd60e51b81526020600482015260146024820152730d2dcecc2d8d2c840e4caeec2e4c840cae0dec6d60631b604482015290519081900360640190fd5b612799600f84846141f4565b9392505050565b600054600160a01b900460ff16156127f6576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b601f546001600160a01b031681565b6060806060600080612878613909565b90506128848682613f23565b9150818061289e5750808614801561289e57506004548610155b156128c85760006128b188886000614287565b805160408201516060909201519097509095509350505b5092959194509250565b6128da613de2565b86158015906128e95750885115155b6128ef57fe5b6000838152600c6020526040812082905561290a8584613e35565b905060008a5167ffffffffffffffff8111801561292657600080fd5b50604051908082528060200260200182016040528015612950578160200160208202803683370190505b509050818160008151811061296157fe5b602002602001018181525050888a60008151811061297b57fe5b60209081029190910101528a51600019015b60008c828151811061299b57fe5b602002602001015190506129f58c83815181106129b457fe5b60200260200101518d6000815181106129c957fe5b6020026020010151856000815181106129de57fe5b602002602001015161484a9092919063ffffffff16565b838381518110612a0157fe5b60209081029190910181019190915260008881526007825260408082206001600160a01b0385168352909252208351612a4d90859085908110612a4057fe5b602002602001015161494a565b81546001600160801b031981166001600160801b039182169290920116178155601f5460408051631257fcdb60e31b81526001600160a01b038581166004830152602482018a9052915160009392909216916392bfe6d891604480820192602092909190829003018186803b158015612ac557600080fd5b505afa158015612ad9573d6000803e3d6000fd5b505050506040513d6020811015612aef57600080fd5b50519050612b07612b0282612710614080565b61494a565b82546001600160801b03918216600160801b0291161782558451859085908110612b2d57fe5b60209081029190910181015160008b81526009835260408082206001600160a01b03881680845290855281832080549094019093558c82526008845280822092825291909252902054612ba05760008981526008602090815260408083206001600160a01b038716845290915290208190555b83612bad57505050612c1f565b848481518110612bb957fe5b602002602001015185600081518110612bce57fe5b6020026020010181815103915081815250508d8481518110612bec57fe5b60200260200101518e600081518110612c0157fe5b6020908102919091010180519190910390525050506000190161298d565b6000868152600d60205260409020805484019055601254612c409084613724565b601281905550876001600160a01b03167f8b2bc56c62594afde5b520e83e1ca19ebd071798db21382e328014f47b31ce578a8e85604051808481526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015612cbe578181015183820152602001612ca6565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015612cfd578181015183820152602001612ce5565b505050509050019550505050505060405180910390a2505050505050505050505050565b612d29611b72565b6001600160a01b0316336001600160a01b031614612d85576040805162461bcd60e51b815260206004820152601460248201527337b7363c9030b2323932b9b9903ab83230ba32b960611b604482015290519081900360640190fd5b612dbe612db983836040518060400160405280600e81526020016d20b2323932b9b9aab83230ba32b960911b81525061498e565b614ab2565b612dc88282614ad6565b5050565b6000612dd6613b13565b600280541415612e1b576040805162461bcd60e51b815260206004820152601f60248201526000805160206158d7833981519152604482015290519081900360640190fd5b600280556000805b83811015612e6357848482818110612e3757fe5b90506020020135821015612e5b57848482818110612e5157fe5b9050602002013591505b600101612e23565b50612e713386836000614c21565b60016002559150612799905061385e565b6000612e8c613b13565b600280541415612ed1576040805162461bcd60e51b815260206004820152601f60248201526000805160206158d7833981519152604482015290519081900360640190fd5b600280558484612ee18282613b6a565b612eed87878787614c21565b60016002559250612f00915061385e9050565b949350505050565b60105490565b6060600080612f1b6135fd565b909250905060018282030160008167ffffffffffffffff81118015612f3f57600080fd5b50604051908082528060200260200182016040528015612f69578160200160208202803683370190505b5090506000805b83811015613016576000612f88898389016001614287565b905060005b81606001515181101561300c5781606001518181518110612faa57fe5b6020026020010151158015612fd65750600082604001518281518110612fcc57fe5b6020026020010151115b15613004576001858481518110612fe957fe5b9115156020928302919091019091015260019093019261300c565b600101612f8d565b5050600101612f70565b508067ffffffffffffffff8111801561302e57600080fd5b50604051908082528060200260200182016040528015613058578160200160208202803683370190505b5095506000805b848110156130a95783818151811061307357fe5b6020026020010151156130a15780870188838151811061308f57fe5b60209081029190910101526001909101905b60010161305f565b50505050505050919050565b601d546001600160a01b031681565b6000612151826130d2613909565b600f91906141f4565b60006130e5613b13565b60028054141561312a576040805162461bcd60e51b815260206004820152601f60248201526000805160206158d7833981519152604482015290519081900360640190fd5b6002805561313e3387878787876000613bf7565b6001600255905061314d61385e565b95945050505050565b6000908152600d6020908152604080832054600e909252909120549091565b601c546001600160a01b031633148061319857506020546001600160a01b031633145b6131d9576040805162461bcd60e51b815260206004820152600d60248201526c6f6e6c79206d616e616765727360981b604482015290519081900360640190fd5b8060055414613220576040805162461bcd60e51b815260206004820152600e60248201526d1ddc9bdb99c8195c1bd8da081a5960921b604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161580159061325c575060065460320181105b156132e0577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d6c1dbee826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156132c757600080fd5b505af11580156132db573d6000803e3d6000fd5b505050505b6000818152600e6020908152604080832054600d909252909120546014549190039061330c9082613724565b6014556040805183815290517f5d05c64f281304391697cf987812e1a736413a062a9bdf39af4102209eb6fa589181900360200190a150600101600555565b600054600160a81b900460ff1681565b61336361366d565b601a8190556017546133759082613724565b601755426019556040805182815290517f187f32a0f765499f15b3bb52ed0aebf6015059f230f2ace7e701e60a476695959181900360200190a150565b6060806000806133c0613909565b90506133cc8782613f23565b915081806133e6575080871480156133e657506004548710155b1561340d5760006133fb898989896000614c9e565b90508060400151945080606001519350505b509450945094915050565b60006118cc613909565b61342a6138aa565b60001960045414613474576040805162461bcd60e51b815260206004820152600f60248201526e185b1c9958591e48195b98589b1959608a1b604482015290519081900360640190fd5b61347c613909565b600481905560408051918252517f1cfb844c44f9325fc9ad6cc6191a4a24b0415137fe300b6c9071523a253f7a089181900360200190a1565b60008281526009602090815260408083206001600160a01b03909416808452938252808320549483526008825280832093835292905220549091565b601e546001600160a01b031690565b60006121518261507a565b6135136138aa565b600054600160a81b900460ff1615613572576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b60008054600161ff0160a01b031916600160a81b1790556040805173183faff6997c98a812a3b98748fc80241d08f312815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b604080518082019091526011815270233a39b7a932bbb0b93226b0b730b3b2b960791b602082015290565b60055460008061360b613909565b905060008111613662576040805162461bcd60e51b815260206004820152601f60248201527f6e6f2065706f6368207769746820636c61696d61626c65207265776172647300604482015290519081900360640190fd5b600181039150509091565b601e546001600160a01b031633146114b4576040805162461bcd60e51b815260206004820152600e60248201526d696e666c6174696f6e206f6e6c7960901b604482015290519081900360640190fd5b601b546000906136cd9034613724565b905047818111156137165761dead6108fc6136e8838561510c565b6040518115909202916000818181858888f19350505050158015613710573d6000803e3d6000fd5b50613720565b8181101561372057fe5b5090565b600082820183811015612799576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006137a360165461379d60145460155461372490919063ffffffff16565b9061510c565b905080156122f35760006137ba476014606461484a565b90506000818311156137cd5750806137d0565b50815b8015612139576016546137e39082613724565b601655601b546137f3908261510c565b601b5560405161dead9082156108fc029083906000818181858888f19350505050158015613825573d6000803e3d6000fd5b506040805182815290517f44d5cd18c37b86a3423952287006d9550ab3cff404d6e899d5499d9ef87100b59181900360200190a1505050565b613866615169565b47146114b4576040805162461bcd60e51b815260206004820152600e60248201526d6f7574206f662062616c616e636560901b604482015290519081900360640190fd5b6138b2611b97565b6001600160a01b0316336001600160a01b0316146114b4576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b601c54604080516339f20c3560e21b815290516000926001600160a01b03169163e7c830d4916004808301926020929190829003018186803b158015611c0757600080fd5b600054600160b01b900460ff161561397b5733301461396957fe5b6000805460ff60b01b191690556114b4565b6114b46138aa565b61398b6138aa565b600082359050600073183faff6997c98a812a3b98748fc80241d08f3126001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156139e057600080fd5b505afa1580156139f4573d6000803e3d6000fd5b505050506040513d6020811015613a0a57600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b03198616815260016020818152604090922084518155848301518051919450613a8e939285019201906157fa565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b60035460ff166114b4576040805162461bcd60e51b815260206004820152601a60248201527f726577617264206d616e61676572206465616374697661746564000000000000604482015290519081900360640190fd5b336001600160a01b0383161415613b8057612dc8565b601d546040805163ce2caa5760e01b81523360048201526001600160a01b03858116602483015284811660448301529151919092169163ce2caa57916064808301926000929190829003018186803b158015613bdb57600080fd5b505afa158015613bef573d6000803e3d6000fd5b505050505050565b6000613c0287613ed7565b613c0a6136bd565b506002601f546040805163f683776760e01b81526001600160a01b038c811660048301529151919092169163f6837767916024808301926020929190829003018186803b158015613c5a57600080fd5b505afa158015613c6e573d6000803e3d6000fd5b505050506040513d6020811015613c8457600080fd5b505114613cd8576040805162461bcd60e51b815260206004820152601860248201527f6578706c696369742064656c65676174696f6e206f6e6c790000000000000000604482015290519081900360640190fd5b6000613ce2613909565b905060005b86811015613d9c57613d0b888883818110613cfe57fe5b9050602002013583613f23565b613d1457613d94565b6000613d368b8a8a85818110613d2657fe5b9050602002013589896001614c9e565b90506000613d5a8c8c8c8c87818110613d4b57fe5b90506020020135856001615188565b905080600e60008c8c87818110613d6d57fe5b60209081029290920135835250810191909152604001600020805490910190559390930192505b600101613ce7565b50613da88883856140d9565b50979650505050505050565b600654600090612151906001615400565b3d604051818101604052816000823e8215613dde578181f35b8181fd5b601c546001600160a01b031633146114b4576040805162461bcd60e51b81526020600482015260116024820152706674736f206d616e61676572206f6e6c7960781b604482015290519081900360640190fd5b6000612799613e448385615426565b613e4c6154a5565b906154c4565b60006118cc600454613e6d613e65613db4565b60055461552b565b61552b565b6001600160a01b0382166000908152600b6020526040812054612799908361552b565b6000838152600a602090815260408083206001600160a01b038087168552908352818420908516845290915281205460ff1680612f005750612f008483615542565b6001600160a01b0381166122f3576040805162461bcd60e51b815260206004820152600e60248201526d726563697069656e74207a65726f60901b604482015290519081900360640190fd5b60006004548310158015613f3957506005548310155b80156127995750501190565b600080613f528684613e72565b90505b838111613f9f576000613f6a87836001614287565b90506000613f7c888885856000615188565b6000848152600e6020526040902080548201905593909301925050600101613f55565b506001600160a01b0385166000908152600b6020526040902054600184011115612f00576001600160a01b0385166000908152600b60205260409020600184019055949350505050565b600081848411156140785760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561403d578181015183820152602001614025565b50505050905090810190601f16801561406a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008261408f57506000612151565b8282028284828161409c57fe5b04146127995760405162461bcd60e51b815260040180806020018281038252602181526020018061591e6021913960400191505060405180910390fd5b81156141eb57801561415457601f546040805163b760faf960e01b81526001600160a01b0386811660048301529151919092169163b760faf991859160248082019260009290919082900301818588803b15801561413657600080fd5b505af115801561414a573d6000803e3d6000fd5b50505050506141eb565b6040516000906001600160a01b0385169084908381818185875af1925050503d806000811461419f576040519150601f19603f3d011682016040523d82523d6000602084013e6141a4565b606091505b50509050806141e9576040805162461bcd60e51b815260206004820152600c60248201526b18db185a5b4819985a5b195960a21b604482015290519081900360640190fd5b505b505047601b5550565b6001600160a01b0382166000908152600284016020526040812080545b80156142785781546000199091019082908290811061422c57fe5b6000918252602090912001546201000090046001600160f01b031684106142735781818154811061425957fe5b60009182526020909120015461ffff169250612799915050565b614211565b50505060018301549392505050565b61428f615882565b600061429a8461507a565b90506000806142a76158aa565b6142b18789615542565b156142bf5750505050612799565b60008781526009602090815260408083206001600160a01b038c1684529091529020541515806142ed575085155b1561431f576142fd88888661555e565b915061430a8789846156d4565b6001600160801b031660208201819052151592505b601f546040805163ed475a7960e01b81526001600160a01b038b811660048301526024820188905291516060938493169163ed475a79916044808301926000929190829003018186803b15801561437557600080fd5b505afa158015614389573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260808110156143b257600080fd5b8101908080516040519392919084600160201b8211156143d157600080fd5b9083019060208201858111156143e657600080fd5b82518660208202830111600160201b8211171561440257600080fd5b82525081516020918201928201910280838360005b8381101561442f578181015183820152602001614417565b5050505090500160405260200180516040519392919084600160201b82111561445757600080fd5b90830190602082018581111561446c57600080fd5b82518660208202830111600160201b8211171561448857600080fd5b82525081516020918201928201910280838360005b838110156144b557818101518382015260200161449d565b5050505091909101604052505083519395509193508791506144da90505760006144dd565b60015b60ff160167ffffffffffffffff811180156144f757600080fd5b50604051908082528060200260200182016040528015614521578160200160208202803683370190505b508088525167ffffffffffffffff8111801561453c57600080fd5b50604051908082528060200260200182016040528015614566578160200160208202803683370190505b50602088015286515167ffffffffffffffff8111801561458557600080fd5b506040519080825280602002602001820160405280156145af578160200160208202803683370190505b50604088015286515167ffffffffffffffff811180156145ce57600080fd5b506040519080825280602002602001820160405280156145f8578160200160208202803683370190505b50606088015284156146805789876000015160008151811061461657fe5b60200260200101906001600160a01b031690816001600160a01b03168152505083876020015160008151811061464857fe5b60200260200101818152505082602001516001600160801b0316876040015160008151811061467357fe5b6020026020010181815250505b81511561483d57601f546040805163277166bf60e11b81526001600160a01b038d81166004830152602482018a905291516000939290921691634ee2cd7e91604480820192602092909190829003018186803b1580156146df57600080fd5b505afa1580156146f3573d6000803e3d6000fd5b505050506040513d602081101561470957600080fd5b5051905060005b835181101561483a576000818861472857600061472b565b60015b60ff1601905084828151811061473d57fe5b60200260200101518a60000151828151811061475557fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506147bc85838151811061478457fe5b60200260200101516147b686858151811061479b57fe5b60200260200101516127108761484a9092919063ffffffff16565b8e615771565b8a6020015182815181106147cc57fe5b60200260200101818152505061480d8c8684815181106147e857fe5b60200260200101518c60200151848151811061480057fe5b60200260200101516156d4565b6001600160801b03168a60400151828151811061482657fe5b602090810291909101015250600101614710565b50505b5050505050509392505050565b6000808211614893576040805162461bcd60e51b815260206004820152601060248201526f4469766973696f6e206279207a65726f60801b604482015290519081900360640190fd5b836148a057506000612799565b838302838582816148ad57fe5b0414156148c6578281816148bd57fe5b04915050612799565b60008386816148d157fe5b04905060008487816148df57fe5b06905060008587816148ed57fe5b04905060008688816148fb57fe5b06905061493d61490f88613e4c8685614080565b61177961491c8686614080565b6117796149298987614080565b6117798d6149378c8b614080565b90614080565b9998505050505050505050565b6000600160801b82106137205760405162461bcd60e51b81526004018080602001828103825260278152602001806158f76027913960400191505060405180910390fd5b600080826040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156149d25781810151838201526020016149ba565b50505050905090810190601f1680156149ff5780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012090506000805b8651811015614a6757868181518110614a3557fe5b6020026020010151831415614a5f57858181518110614a5057fe5b60200260200101519150614a67565b600101614a20565b506001600160a01b03811661314d576040805162461bcd60e51b815260206004820152600c60248201526b61646472657373207a65726f60a01b604482015290519081900360640190fd5b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b614b0282826040518060400160405280600981526020016824b7333630ba34b7b760b91b81525061498e565b601e60006101000a8154816001600160a01b0302191690836001600160a01b03160217905550614b5682826040518060400160405280600b81526020016a233a39b7a6b0b730b3b2b960a91b81525061498e565b601c60006101000a8154816001600160a01b0302191690836001600160a01b03160217905550614ba382826040518060400160405280600481526020016315d3985d60e21b81525061498e565b601f60006101000a8154816001600160a01b0302191690836001600160a01b03160217905550614bfd82826040518060400160405280601181526020017021b630b4b6a9b2ba3ab826b0b730b3b2b960791b81525061498e565b601d80546001600160a01b0319166001600160a01b03929092169190911790555050565b6000614c2c84613ed7565b614c346136bd565b506000614c3f613909565b9050808410158015614c515750600081115b15614c5d576001810393505b614c678482613f23565b614c75576000915050612f00565b614c88868686614c83613e52565b613f45565b9150614c958583856140d9565b50949350505050565b614ca6615882565b6000614cb18661507a565b6040805160208088028281018201909352878252929350869290918891849182918501908490808284376000920191909152505050908452508067ffffffffffffffff81118015614d0157600080fd5b50604051908082528060200260200182016040528015614d2b578160200160208202803683370190505b5060208401528067ffffffffffffffff81118015614d4857600080fd5b50604051908082528060200260200182016040528015614d72578160200160208202803683370190505b5060408401528067ffffffffffffffff81118015614d8f57600080fd5b50604051908082528060200260200182016040528015614db9578160200160208202803683370190505b50606084015260005b8181101561506e57614df088888884818110614dda57fe5b905060200201356001600160a01b03168b613e95565b84606001518281518110614e0057fe5b60200260200101901515908115158152505083606001518181518110614e2257fe5b602002602001015115614eb75784614eb2576000888152600a6020526040812090888884818110614e4f57fe5b602090810292909201356001600160a01b039081168452838301949094525060409182016000908120938d16815292905290819020549085015180516101009092046001600160801b03169183908110614ea557fe5b6020026020010181815250505b615066565b886001600160a01b0316878783818110614ecd57fe5b905060200201356001600160a01b03166001600160a01b03161415614f1857614ef789898561555e565b84602001518281518110614f0757fe5b602002602001018181525050615010565b601f546000906001600160a01b031663e64767aa8b8a8a86818110614f3957fe5b905060200201356001600160a01b0316876040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b03168152602001828152602001935050505060206040518083038186803b158015614f9e57600080fd5b505afa158015614fb2573d6000803e3d6000fd5b505050506040513d6020811015614fc857600080fd5b50519050614ff2888884818110614fdb57fe5b905060200201356001600160a01b0316828b615771565b8560200151838151811061500257fe5b602002602001018181525050505b6150408888888481811061502057fe5b905060200201356001600160a01b03168660200151848151811061480057fe5b6001600160801b03168460400151828151811061505957fe5b6020026020010181815250505b600101614dc2565b50505095945050505050565b6000818152600c60205260409020548061169a57601c5460408051637976d5ad60e11b81526004810185905290516001600160a01b039092169163f2edab5a91602480820192602092909190829003018186803b1580156150da57600080fd5b505afa1580156150ee573d6000803e3d6000fd5b505050506040513d602081101561510457600080fd5b505192915050565b600082821115615163576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006118cc60165461379d60135460185461510c90919063ffffffff16565b600080805b8451518110156153f557846060015181815181106151a757fe5b6020026020010151156151b9576153ed565b6000856000015182815181106151cb57fe5b60209081029190910181015160008981526007835260408082206001600160a01b038416835284528120928901518051929450909161520f919086908110612a4057fe5b90506001600160801b038116156152405781546001600160801b03600160801b808304821684900382160291161782555b600061525589604001518681518110612a4057fe5b90506001600160801b038116156152985782546001600160801b031981166001600160801b03918216839003821617845560138054918316918201905595909501945b8715615382576000600a60008c81526020019081526020016000206000866001600160a01b03166001600160a01b0316815260200190815260200160002060008e6001600160a01b03166001600160a01b0316815260200190815260200160002090508060000160009054906101000a900460ff1615615351576040805162461bcd60e51b815260206004820152600f60248201526e185b1c9958591e4818db185a5b5959608a1b604482015290519081900360640190fd5b8054600160ff199091161770ffffffffffffffffffffffffffffffff0019166101006001600160801b038416021790555b8a6001600160a01b03168c6001600160a01b0316856001600160a01b03167f6ec685171a9028d19dc155a48e7824e3c68b03bc8995410e006abe3cbbeb3e2d8d8560405180838152602001826001600160801b031681526020019250505060405180910390a4505050505b60010161518d565b509695505050505050565b600080838311156154165750600090508061541f565b50600190508183035b9250929050565b6000806154416201517f60195461372490919063ffffffff16565b90508084111561548c576040805162461bcd60e51b81526020600482015260116024820152706166746572206461696c79206379636c6560781b604482015290519081900360640190fd5b61549a83613e4c838761510c565b600101949350505050565b60006118cc60155461379d60125460175461510c90919063ffffffff16565b600080821161551a576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161552357fe5b049392505050565b60008183101561553b5781612799565b5090919050565b6001600160a01b03166000908152600b60205260409020541190565b601f5460408051634181ad4160e11b81526001600160a01b038681166004830152602482018590529151600093849316916383035a82916044808301926020929190829003018186803b1580156155b457600080fd5b505afa1580156155c8573d6000803e3d6000fd5b505050506040513d60208110156155de57600080fd5b5051601f5460408051631257fcdb60e31b81526001600160a01b03898116600483015260248201889052915193945060009391909216916392bfe6d8916044808301926020929190829003018186803b15801561563a57600080fd5b505afa15801561564e573d6000803e3d6000fd5b505050506040513d602081101561566457600080fd5b50519050818114156156855761567c81612710614080565b92505050612799565b81811161568e57fe5b600082156156a4576156a283612710614080565b015b60006156b2600f89896141f4565b905080156153f5576156c684840382614080565b909101979650505050505050565b6000816156e357506000612799565b60008481526007602090815260408083206001600160a01b0387168452909152902080546001600160801b03168061572057600092505050612799565b8154600160801b90046001600160801b031684811415615744575091506127999050565b806001600160801b0316851061575657fe5b61188c612b026001600160801b03848116908890851661484a565b60008261578057506000612799565b60008061578f600f87866141f4565b9050612710811015614c95576157aa85612710839003614080565b90910195945050505050565b50805460018160011615610100020316600290046000825580601f106157dc57506122f3565b601f0160209004906000526020600020908101906122f391906158c1565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826158305760008555615876565b82601f1061584957805160ff1916838001178555615876565b82800160010185558215615876579182015b8281111561587657825182559160200191906001019061585b565b506137209291506158c1565b6040518060800160405280606081526020016060815260200160608152602001606081525090565b604080518082019091526000808252602082015290565b5b8082111561372057600081556001016158c256fe5265656e7472616e637947756172643a207265656e7472616e742063616c6c0053616665436173743a2076616c756520646f65736e27742066697420696e203132382062697473536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220519af7979c09fa4e7bda9cc896c4530aa2881881c12808a0e0e53a10257a5a8364736f6c63430007060033",
|
|
1383
|
-
"deployedBytecode": "0x6080604052600436106103505760003560e01c806384e10a90116101c6578063cfbcd25f116100f7578063e7c830d411610095578063ed39d3f81161006f578063ed39d3f814611353578063f2edab5a14611368578063f5a9838314611392578063f5f5ba72146113a757610350565b8063e7c830d4146112f0578063ea28edad14611305578063eb82dd7f1461131a57610350565b8063d6c1dbee116100d1578063d6c1dbee14611155578063e17f212e1461117f578063e273956314611194578063e416b7e1146111be57610350565b8063cfbcd25f1461101d578063d20bb54214611050578063d418634a1461112b57610350565b8063a9b79e1711610164578063b2c121921161013e578063b2c1219214610f25578063b482403414610f70578063b4a2043d14610f85578063c4db96191461100857610350565b8063a9b79e1714610c0d578063b00c0b7614610d6a578063b2af870a14610e9a57610350565b8063961c00ed116101a0578063961c00ed14610a6c5780639d6a890f14610aa55780639edbf00714610ad8578063a4472c1014610aed57610350565b806384e10a901461093957806385b4c538146109955780638dc305fa146109f157610350565b806333b7971e116102a0578063657d96951161023e57806369b91b591161021857806369b91b591461080b57806374e6310e1461083e5780637b6b2c0a146108f157806382a2b9051461090657610350565b8063657d96951461076857806367dcac53146107a157806367fc4029146107d757610350565b80635267a15d1161027a5780635267a15d146106f55780635aa6e6751461070a5780635ff270791461071f57806362354e031461075357610350565b806333b7971e146105ba5780633e7ff857146106cb57806351b42b00146106e057610350565b806312f97ac01161030d5780631de56098116102e75780631de560981461047757806321bb25af1461048c5780632dafdbbf146105725780633123b7d8146105a557610350565b806312f97ac01461041157806316e693281461042657806316fe49c71461046257610350565b806302fb0c5e146103555780630441218e1461037e57806306201f1d146103ac5780630cb72344146103b65780630f15f4c0146103e757806311a7aaaa146103fc575b600080fd5b34801561036157600080fd5b5061036a611431565b604080519115158252519081900360200190f35b34801561038a57600080fd5b5061039361143a565b6040805192835260208301919091528051918290030190f35b6103b461144e565b005b3480156103c257600080fd5b506103cb6114b6565b604080516001600160a01b039092168252519081900360200190f35b3480156103f357600080fd5b506103b46114da565b34801561040857600080fd5b506103cb6115a3565b34801561041d57600080fd5b506103cb6115b2565b34801561043257600080fd5b506104506004803603602081101561044957600080fd5b50356115c1565b60408051918252519081900360200190f35b34801561046e57600080fd5b5061045061169f565b34801561048357600080fd5b506103b46116a5565b34801561049857600080fd5b50610450600480360360a08110156104af57600080fd5b6001600160a01b038235811692602081013590911691810190606081016040820135600160201b8111156104e257600080fd5b8201836020820111156104f457600080fd5b803590602001918460208302840111600160201b8311171561051557600080fd5b919390929091602081019035600160201b81111561053257600080fd5b82018360208201111561054457600080fd5b803590602001918460208302840111600160201b8311171561056557600080fd5b919350915035151561180b565b34801561057e57600080fd5b50610587611897565b60408051938452602084019290925282820152519081900360600190f35b3480156105b157600080fd5b506104506118c2565b3480156105c657600080fd5b506105ed600480360360208110156105dd57600080fd5b50356001600160a01b03166118d1565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561063557818101518382015260200161061d565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561067457818101518382015260200161065c565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156106b357818101518382015260200161069b565b50505050905001965050505050505060405180910390f35b3480156106d757600080fd5b50610450611b25565b3480156106ec57600080fd5b506103b4611b2b565b34801561070157600080fd5b506103cb611b72565b34801561071657600080fd5b506103cb611b97565b34801561072b57600080fd5b506103b46004803603602081101561074257600080fd5b50356001600160e01b031916611c38565b34801561075f57600080fd5b506103cb611f9a565b34801561077457600080fd5b506103936004803603604081101561078b57600080fd5b50803590602001356001600160a01b0316611fb2565b3480156107ad57600080fd5b506103b4600480360360608110156107c457600080fd5b5080359060208101359060400135611fee565b3480156107e357600080fd5b506103b4600480360360208110156107fa57600080fd5b50356001600160e01b031916612056565b34801561081757600080fd5b506104506004803603602081101561082e57600080fd5b50356001600160a01b031661213e565b34801561084a57600080fd5b506108726004803603602081101561086157600080fd5b50356001600160e01b031916612157565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156108b557818101518382015260200161089d565b50505050905090810190601f1680156108e25780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b3480156108fd57600080fd5b506104506121fd565b34801561091257600080fd5b506103b46004803603602081101561092957600080fd5b50356001600160a01b0316612203565b34801561094557600080fd5b5061094e6122f6565b60408051998a5260208a0198909852888801969096526060880194909452608087019290925260a086015260c085015260e084015261010083015251908190036101200190f35b3480156109a157600080fd5b506109d6600480360360608110156109b857600080fd5b508035906001600160a01b036020820135811691604001351661231c565b60408051921515835260208301919091528051918290030190f35b3480156109fd57600080fd5b506103b460048036036040811015610a1457600080fd5b810190602081018135600160201b811115610a2e57600080fd5b820183602082011115610a4057600080fd5b803590602001918460208302840111600160201b83111715610a6157600080fd5b919350915035612370565b348015610a7857600080fd5b5061045060048036036040811015610a8f57600080fd5b506001600160a01b03813516906020013561271e565b348015610ab157600080fd5b506103b460048036036020811015610ac857600080fd5b50356001600160a01b03166127a0565b348015610ae457600080fd5b506103cb612859565b348015610af957600080fd5b50610b2660048036036040811015610b1057600080fd5b506001600160a01b038135169060200135612868565b604051808060200180602001806020018515158152602001848103845288818151815260200191508051906020019060200280838360005b83811015610b76578181015183820152602001610b5e565b50505050905001848103835287818151815260200191508051906020019060200280838360005b83811015610bb5578181015183820152602001610b9d565b50505050905001848103825286818151815260200191508051906020019060200280838360005b83811015610bf4578181015183820152602001610bdc565b5050505090500197505050505050505060405180910390f35b348015610c1957600080fd5b506103b46004803603610120811015610c3157600080fd5b810190602081018135600160201b811115610c4b57600080fd5b820183602082011115610c5d57600080fd5b803590602001918460208302840111600160201b83111715610c7e57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b811115610ccd57600080fd5b820183602082011115610cdf57600080fd5b803590602001918460208302840111600160201b83111715610d0057600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550508235935050506020810135906001600160a01b036040820135169060608101359060808101359060a08101359060c001356128d2565b348015610d7657600080fd5b506103b460048036036040811015610d8d57600080fd5b810190602081018135600160201b811115610da757600080fd5b820183602082011115610db957600080fd5b803590602001918460208302840111600160201b83111715610dda57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b811115610e2957600080fd5b820183602082011115610e3b57600080fd5b803590602001918460208302840111600160201b83111715610e5c57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550612d21945050505050565b348015610ea657600080fd5b5061045060048036036040811015610ebd57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b811115610ee757600080fd5b820183602082011115610ef957600080fd5b803590602001918460208302840111600160201b83111715610f1a57600080fd5b509092509050612dcc565b348015610f3157600080fd5b5061045060048036036080811015610f4857600080fd5b506001600160a01b038135811691602081013590911690604081013590606001351515612e82565b348015610f7c57600080fd5b50610450612f08565b348015610f9157600080fd5b50610fb860048036036020811015610fa857600080fd5b50356001600160a01b0316612f0e565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610ff4578181015183820152602001610fdc565b505050509050019250505060405180910390f35b34801561101457600080fd5b506103cb6130b5565b34801561102957600080fd5b506104506004803603602081101561104057600080fd5b50356001600160a01b03166130c4565b34801561105c57600080fd5b506104506004803603606081101561107357600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561109d57600080fd5b8201836020820111156110af57600080fd5b803590602001918460208302840111600160201b831117156110d057600080fd5b919390929091602081019035600160201b8111156110ed57600080fd5b8201836020820111156110ff57600080fd5b803590602001918460208302840111600160201b8311171561112057600080fd5b5090925090506130db565b34801561113757600080fd5b506103936004803603602081101561114e57600080fd5b5035613156565b34801561116157600080fd5b506103b46004803603602081101561117857600080fd5b5035613175565b34801561118b57600080fd5b5061036a61334b565b3480156111a057600080fd5b506103b4600480360360208110156111b757600080fd5b503561335b565b3480156111ca57600080fd5b5061124e600480360360608110156111e157600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561121057600080fd5b82018360208201111561122257600080fd5b803590602001918460208302840111600160201b8311171561124357600080fd5b5090925090506133b2565b6040518080602001806020018415158152602001838103835286818151815260200191508051906020019060200280838360005b8381101561129a578181015183820152602001611282565b50505050905001838103825285818151815260200191508051906020019060200280838360005b838110156112d95781810151838201526020016112c1565b505050509050019550505050505060405180910390f35b3480156112fc57600080fd5b50610450613418565b34801561131157600080fd5b506103b4613422565b34801561132657600080fd5b506103936004803603604081101561133d57600080fd5b50803590602001356001600160a01b03166134b5565b34801561135f57600080fd5b506103cb6134f1565b34801561137457600080fd5b506104506004803603602081101561138b57600080fd5b5035613500565b34801561139e57600080fd5b506103b461350b565b3480156113b357600080fd5b506113bc6135d2565b6040805160208082528351818301528351919283929083019185019080838360005b838110156113f65781810151838201526020016113de565b50505050905090810190601f1680156114235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60035460ff1681565b6000806114456135fd565b90939092509050565b61145661366d565b61145e6136bd565b601b5560185461146e9034613724565b60185561147961377e565b6040805134815290517f95c4e29cc99bc027cfc3cd719d6fd973d5f0317061885fbb322b9b17d8d35d379181900360200190a16114b461385e565b565b7f000000000000000000000000000000000000000000000000000000000000000081565b6114e26138aa565b601e546001600160a01b0316158015906115065750601c546001600160a01b031615155b801561151c5750601f546001600160a01b031615155b611561576040805162461bcd60e51b81526020600482015260116024820152701859191c995cdcd95cc81b9bdd081cd95d607a1b604482015290519081900360640190fd5b6003805460ff191660011790556040805130815290517f2d9c100169d5e24ef79d07ec273fcbbd5ce996a849ef0223f37c49f6418df84d9181900360200190a1565b601c546001600160a01b031681565b6020546001600160a01b031681565b60008073__$b9040dea2fd9c47e6b7e0e916053de4d6b$__63e937a562600f856115e9613909565b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b15801561162b57600080fd5b505af415801561163f573d6000803e3d6000fd5b505050506040513d602081101561165557600080fd5b50516040805185815260208101839052815192935033927fd89f05622c2dcb0b4fcaa19e62fc2a2b0923955685fb7b0c641467f764244abc929181900390910190a290505b919050565b600f5490565b600054600160b01b900460ff16806116c75750600054600160a81b900460ff16155b15611800576116d461394e565b60035460ff1615801561170f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031615155b801561171b5750600654155b80156117275750600554155b61176c576040805162461bcd60e51b81526020600482015260116024820152706e6f7420696e697469616c20737461746560781b604482015290519081900360640190fd5b61177f6001611779613909565b90613724565b600655601c5460408051633e7ff85760e01b815290516001600160a01b0390921691633e7ff85791600480820192602092909190829003018186803b1580156117c757600080fd5b505afa1580156117db573d6000803e3d6000fd5b505050506040513d60208110156117f157600080fd5b505160055560006004556114b4565b6114b4600036613983565b6000611815613b13565b60028054141561185a576040805162461bcd60e51b815260206004820152601f60248201526000805160206158d7833981519152604482015290519081900360640190fd5b60028055878761186a8282613b6a565b6118798a8a8a8a8a8a8a613bf7565b6001600255925061188c915061385e9050565b979650505050505050565b6000806000806017546118b760165460135461372490919063ffffffff16565b925092509250909192565b60006118cc613db4565b905090565b6060808073__$b9040dea2fd9c47e6b7e0e916053de4d6b$__6325459925600f866118fa613909565b6040518463ffffffff1660e01b815260040180848152602001836001600160a01b03168152602001828152602001935050505060006040518083038186803b15801561194557600080fd5b505af4158015611959573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052606081101561198257600080fd5b8101908080516040519392919084600160201b8211156119a157600080fd5b9083019060208201858111156119b657600080fd5b82518660208202830111600160201b821117156119d257600080fd5b82525081516020918201928201910280838360005b838110156119ff5781810151838201526020016119e7565b5050505090500160405260200180516040519392919084600160201b821115611a2757600080fd5b908301906020820185811115611a3c57600080fd5b82518660208202830111600160201b82111715611a5857600080fd5b82525081516020918201928201910280838360005b83811015611a85578181015183820152602001611a6d565b5050505090500160405260200180516040519392919084600160201b821115611aad57600080fd5b908301906020820185811115611ac257600080fd5b82518660208202830111600160201b82111715611ade57600080fd5b82525081516020918201928201910280838360005b83811015611b0b578181015183820152602001611af3565b505050509050016040525050509250925092509193909250565b60055490565b611b336138aa565b6003805460ff191690556040805130815290517fa391f4e911c33688045cc1f43dc17c05924f79ad72a8cf5a58cf00c3acc9090e9181900360200190a1565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e77195490565b60008054600160a81b900460ff16611bba576000546001600160a01b03166118cc565b73183faff6997c98a812a3b98748fc80241d08f3126001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b158015611c0757600080fd5b505afa158015611c1b573d6000803e3d6000fd5b505050506040513d6020811015611c3157600080fd5b5051905090565b60408051630debfda360e41b8152336004820152905173183faff6997c98a812a3b98748fc80241d08f3129163debfda30916024808301926020929190829003018186803b158015611c8957600080fd5b505afa158015611c9d573d6000803e3d6000fd5b505050506040513d6020811015611cb357600080fd5b5051611cf6576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b0319811660009081526001602052604090208054611d62576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b8054421015611db8576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611e525780601f10611e2757610100808354040283529160200191611e52565b820191906000526020600020905b815481529060010190602001808311611e3557829003601f168201915b5050506001600160e01b0319861660009081526001602081905260408220828155949550909250611e8691508301826157b6565b50506000805460ff60b01b1916600160b01b178155604051825130918491819060208401908083835b60208310611ece5780518252601f199092019160209182019101611eaf565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611f30576040519150601f19603f3d011682016040523d82523d6000602084013e611f35565b606091505b50506000805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a1611f9481613dc5565b50505050565b73183faff6997c98a812a3b98748fc80241d08f31281565b60009182526007602090815260408084206001600160a01b0390931684529190529020546001600160801b0380821692600160801b9092041690565b611ff6613de2565b60006120028383613e35565b6015549091506120129082613724565b601555604080518581526020810183905281517f754fa5a3ace0438b80ec651f7d61e44f761a808ebd17d7ce70da619399611a08929181900390910190a150505050565b61205e6138aa565b6001600160e01b031981166000908152600160205260409020546120c9576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b03198116600090815260016020819052604082208281559190612139908301826157b6565b505050565b60006121518261214c613e52565b613e72565b92915050565b600160208181526000928352604092839020805481840180548651600296821615610100026000190190911695909504601f810185900485028601850190965285855290949193929091908301828280156121f35780601f106121c8576101008083540402835291602001916121f3565b820191906000526020600020905b8154815290600101906020018083116121d657829003601f168201915b5050505050905082565b60045481565b600054600160b01b900460ff16806122255750600054600160a81b900460ff16155b156122e85761223261394e565b6020546001600160a01b03161561227e576040805162461bcd60e51b815260206004820152600b60248201526a185b1c9958591e481cd95d60aa1b604482015290519081900360640190fd5b6001600160a01b0381166122c8576040805162461bcd60e51b815260206004820152600c60248201526b61646472657373207a65726f60a01b604482015290519081900360640190fd5b602080546001600160a01b0319166001600160a01b0383161790556122f3565b6122f3600036613983565b50565b601254601354601454601554601654601754601854601954601a54909192939495969798565b60008061232a858585613e95565b6000958652600a602090815260408088206001600160a01b039788168952825280882095909616875293909352505091205490916101009091046001600160801b031690565b612378613b13565b6002805414156123bd576040805162461bcd60e51b815260206004820152601f60248201526000805160206158d7833981519152604482015290519081900360640190fd5b600280556123c96136bd565b5060005b82811015612401576123f98484838181106123e457fe5b905060200201356001600160a01b0316613ed7565b6001016123cd565b50600061240c613909565b90506124188282613f23565b612459576040805162461bcd60e51b815260206004820152600d60248201526c6e6f7420636c61696d61626c6560981b604482015290519081900360640190fd5b601d546040805163712441d960e11b81523360048201818152602483019384526044830188905260009485946001600160a01b039091169363e24883b293928b928b92606401846020850280828437600081840152601f19601f82011690508083019250505094505050505060006040518083038186803b1580156124dd57600080fd5b505afa1580156124f1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561251a57600080fd5b8101908080516040519392919084600160201b82111561253957600080fd5b90830190602082018581111561254e57600080fd5b82518660208202830111600160201b8211171561256a57600080fd5b82525081516020918201928201910280838360005b8381101561259757818101518382015260200161257f565b50505050919091016040525060200151929450919250600091506125bb9050613e52565b905060005b868110156126f65760008888838181106125d657fe5b905060200201356001600160a01b0316905060008583815181106125f657fe5b60200260200101519050600061260e83838b88613f45565b9050816001600160a01b0316836001600160a01b0316146126375761263582838b88613f45565b015b60408051808201909152601881527f636c61696d656420616d6f756e7420746f6f20736d616c6c000000000000000060208201526126789082908890613fe9565b905080156126eb57601f546040805163b760faf960e01b81526001600160a01b0385811660048301529151919092169163b760faf991849160248082019260009290919082900301818588803b1580156126d157600080fd5b505af11580156126e5573d6000803e3d6000fd5b50505050505b5050506001016125c0565b5061270c336127058489614080565b60006140d9565b5050600160025550612139905061385e565b600081612729613db4565b111580156127455750600f5461274190611779613909565b8211155b61278d576040805162461bcd60e51b81526020600482015260146024820152730d2dcecc2d8d2c840e4caeec2e4c840cae0dec6d60631b604482015290519081900360640190fd5b612799600f84846141f4565b9392505050565b600054600160a01b900460ff16156127f6576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b601f546001600160a01b031681565b6060806060600080612878613909565b90506128848682613f23565b9150818061289e5750808614801561289e57506004548610155b156128c85760006128b188886000614287565b805160408201516060909201519097509095509350505b5092959194509250565b6128da613de2565b86158015906128e95750885115155b6128ef57fe5b6000838152600c6020526040812082905561290a8584613e35565b905060008a5167ffffffffffffffff8111801561292657600080fd5b50604051908082528060200260200182016040528015612950578160200160208202803683370190505b509050818160008151811061296157fe5b602002602001018181525050888a60008151811061297b57fe5b60209081029190910101528a51600019015b60008c828151811061299b57fe5b602002602001015190506129f58c83815181106129b457fe5b60200260200101518d6000815181106129c957fe5b6020026020010151856000815181106129de57fe5b602002602001015161484a9092919063ffffffff16565b838381518110612a0157fe5b60209081029190910181019190915260008881526007825260408082206001600160a01b0385168352909252208351612a4d90859085908110612a4057fe5b602002602001015161494a565b81546001600160801b031981166001600160801b039182169290920116178155601f5460408051631257fcdb60e31b81526001600160a01b038581166004830152602482018a9052915160009392909216916392bfe6d891604480820192602092909190829003018186803b158015612ac557600080fd5b505afa158015612ad9573d6000803e3d6000fd5b505050506040513d6020811015612aef57600080fd5b50519050612b07612b0282612710614080565b61494a565b82546001600160801b03918216600160801b0291161782558451859085908110612b2d57fe5b60209081029190910181015160008b81526009835260408082206001600160a01b03881680845290855281832080549094019093558c82526008845280822092825291909252902054612ba05760008981526008602090815260408083206001600160a01b038716845290915290208190555b83612bad57505050612c1f565b848481518110612bb957fe5b602002602001015185600081518110612bce57fe5b6020026020010181815103915081815250508d8481518110612bec57fe5b60200260200101518e600081518110612c0157fe5b6020908102919091010180519190910390525050506000190161298d565b6000868152600d60205260409020805484019055601254612c409084613724565b601281905550876001600160a01b03167f8b2bc56c62594afde5b520e83e1ca19ebd071798db21382e328014f47b31ce578a8e85604051808481526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015612cbe578181015183820152602001612ca6565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015612cfd578181015183820152602001612ce5565b505050509050019550505050505060405180910390a2505050505050505050505050565b612d29611b72565b6001600160a01b0316336001600160a01b031614612d85576040805162461bcd60e51b815260206004820152601460248201527337b7363c9030b2323932b9b9903ab83230ba32b960611b604482015290519081900360640190fd5b612dbe612db983836040518060400160405280600e81526020016d20b2323932b9b9aab83230ba32b960911b81525061498e565b614ab2565b612dc88282614ad6565b5050565b6000612dd6613b13565b600280541415612e1b576040805162461bcd60e51b815260206004820152601f60248201526000805160206158d7833981519152604482015290519081900360640190fd5b600280556000805b83811015612e6357848482818110612e3757fe5b90506020020135821015612e5b57848482818110612e5157fe5b9050602002013591505b600101612e23565b50612e713386836000614c21565b60016002559150612799905061385e565b6000612e8c613b13565b600280541415612ed1576040805162461bcd60e51b815260206004820152601f60248201526000805160206158d7833981519152604482015290519081900360640190fd5b600280558484612ee18282613b6a565b612eed87878787614c21565b60016002559250612f00915061385e9050565b949350505050565b60105490565b6060600080612f1b6135fd565b909250905060018282030160008167ffffffffffffffff81118015612f3f57600080fd5b50604051908082528060200260200182016040528015612f69578160200160208202803683370190505b5090506000805b83811015613016576000612f88898389016001614287565b905060005b81606001515181101561300c5781606001518181518110612faa57fe5b6020026020010151158015612fd65750600082604001518281518110612fcc57fe5b6020026020010151115b15613004576001858481518110612fe957fe5b9115156020928302919091019091015260019093019261300c565b600101612f8d565b5050600101612f70565b508067ffffffffffffffff8111801561302e57600080fd5b50604051908082528060200260200182016040528015613058578160200160208202803683370190505b5095506000805b848110156130a95783818151811061307357fe5b6020026020010151156130a15780870188838151811061308f57fe5b60209081029190910101526001909101905b60010161305f565b50505050505050919050565b601d546001600160a01b031681565b6000612151826130d2613909565b600f91906141f4565b60006130e5613b13565b60028054141561312a576040805162461bcd60e51b815260206004820152601f60248201526000805160206158d7833981519152604482015290519081900360640190fd5b6002805561313e3387878787876000613bf7565b6001600255905061314d61385e565b95945050505050565b6000908152600d6020908152604080832054600e909252909120549091565b601c546001600160a01b031633148061319857506020546001600160a01b031633145b6131d9576040805162461bcd60e51b815260206004820152600d60248201526c6f6e6c79206d616e616765727360981b604482015290519081900360640190fd5b8060055414613220576040805162461bcd60e51b815260206004820152600e60248201526d1ddc9bdb99c8195c1bd8da081a5960921b604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161580159061325c575060065460320181105b156132e0577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d6c1dbee826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156132c757600080fd5b505af11580156132db573d6000803e3d6000fd5b505050505b6000818152600e6020908152604080832054600d909252909120546014549190039061330c9082613724565b6014556040805183815290517f5d05c64f281304391697cf987812e1a736413a062a9bdf39af4102209eb6fa589181900360200190a150600101600555565b600054600160a81b900460ff1681565b61336361366d565b601a8190556017546133759082613724565b601755426019556040805182815290517f187f32a0f765499f15b3bb52ed0aebf6015059f230f2ace7e701e60a476695959181900360200190a150565b6060806000806133c0613909565b90506133cc8782613f23565b915081806133e6575080871480156133e657506004548710155b1561340d5760006133fb898989896000614c9e565b90508060400151945080606001519350505b509450945094915050565b60006118cc613909565b61342a6138aa565b60001960045414613474576040805162461bcd60e51b815260206004820152600f60248201526e185b1c9958591e48195b98589b1959608a1b604482015290519081900360640190fd5b61347c613909565b600481905560408051918252517f1cfb844c44f9325fc9ad6cc6191a4a24b0415137fe300b6c9071523a253f7a089181900360200190a1565b60008281526009602090815260408083206001600160a01b03909416808452938252808320549483526008825280832093835292905220549091565b601e546001600160a01b031690565b60006121518261507a565b6135136138aa565b600054600160a81b900460ff1615613572576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b60008054600161ff0160a01b031916600160a81b1790556040805173183faff6997c98a812a3b98748fc80241d08f312815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b604080518082019091526011815270233a39b7a932bbb0b93226b0b730b3b2b960791b602082015290565b60055460008061360b613909565b905060008111613662576040805162461bcd60e51b815260206004820152601f60248201527f6e6f2065706f6368207769746820636c61696d61626c65207265776172647300604482015290519081900360640190fd5b600181039150509091565b601e546001600160a01b031633146114b4576040805162461bcd60e51b815260206004820152600e60248201526d696e666c6174696f6e206f6e6c7960901b604482015290519081900360640190fd5b601b546000906136cd9034613724565b905047818111156137165761dead6108fc6136e8838561510c565b6040518115909202916000818181858888f19350505050158015613710573d6000803e3d6000fd5b50613720565b8181101561372057fe5b5090565b600082820183811015612799576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006137a360165461379d60145460155461372490919063ffffffff16565b9061510c565b905080156122f35760006137ba476014606461484a565b90506000818311156137cd5750806137d0565b50815b8015612139576016546137e39082613724565b601655601b546137f3908261510c565b601b5560405161dead9082156108fc029083906000818181858888f19350505050158015613825573d6000803e3d6000fd5b506040805182815290517f44d5cd18c37b86a3423952287006d9550ab3cff404d6e899d5499d9ef87100b59181900360200190a1505050565b613866615169565b47146114b4576040805162461bcd60e51b815260206004820152600e60248201526d6f7574206f662062616c616e636560901b604482015290519081900360640190fd5b6138b2611b97565b6001600160a01b0316336001600160a01b0316146114b4576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b601c54604080516339f20c3560e21b815290516000926001600160a01b03169163e7c830d4916004808301926020929190829003018186803b158015611c0757600080fd5b600054600160b01b900460ff161561397b5733301461396957fe5b6000805460ff60b01b191690556114b4565b6114b46138aa565b61398b6138aa565b600082359050600073183faff6997c98a812a3b98748fc80241d08f3126001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156139e057600080fd5b505afa1580156139f4573d6000803e3d6000fd5b505050506040513d6020811015613a0a57600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b03198616815260016020818152604090922084518155848301518051919450613a8e939285019201906157fa565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b60035460ff166114b4576040805162461bcd60e51b815260206004820152601a60248201527f726577617264206d616e61676572206465616374697661746564000000000000604482015290519081900360640190fd5b336001600160a01b0383161415613b8057612dc8565b601d546040805163ce2caa5760e01b81523360048201526001600160a01b03858116602483015284811660448301529151919092169163ce2caa57916064808301926000929190829003018186803b158015613bdb57600080fd5b505afa158015613bef573d6000803e3d6000fd5b505050505050565b6000613c0287613ed7565b613c0a6136bd565b506002601f546040805163f683776760e01b81526001600160a01b038c811660048301529151919092169163f6837767916024808301926020929190829003018186803b158015613c5a57600080fd5b505afa158015613c6e573d6000803e3d6000fd5b505050506040513d6020811015613c8457600080fd5b505114613cd8576040805162461bcd60e51b815260206004820152601860248201527f6578706c696369742064656c65676174696f6e206f6e6c790000000000000000604482015290519081900360640190fd5b6000613ce2613909565b905060005b86811015613d9c57613d0b888883818110613cfe57fe5b9050602002013583613f23565b613d1457613d94565b6000613d368b8a8a85818110613d2657fe5b9050602002013589896001614c9e565b90506000613d5a8c8c8c8c87818110613d4b57fe5b90506020020135856001615188565b905080600e60008c8c87818110613d6d57fe5b60209081029290920135835250810191909152604001600020805490910190559390930192505b600101613ce7565b50613da88883856140d9565b50979650505050505050565b600654600090612151906001615400565b3d604051818101604052816000823e8215613dde578181f35b8181fd5b601c546001600160a01b031633146114b4576040805162461bcd60e51b81526020600482015260116024820152706674736f206d616e61676572206f6e6c7960781b604482015290519081900360640190fd5b6000612799613e448385615426565b613e4c6154a5565b906154c4565b60006118cc600454613e6d613e65613db4565b60055461552b565b61552b565b6001600160a01b0382166000908152600b6020526040812054612799908361552b565b6000838152600a602090815260408083206001600160a01b038087168552908352818420908516845290915281205460ff1680612f005750612f008483615542565b6001600160a01b0381166122f3576040805162461bcd60e51b815260206004820152600e60248201526d726563697069656e74207a65726f60901b604482015290519081900360640190fd5b60006004548310158015613f3957506005548310155b80156127995750501190565b600080613f528684613e72565b90505b838111613f9f576000613f6a87836001614287565b90506000613f7c888885856000615188565b6000848152600e6020526040902080548201905593909301925050600101613f55565b506001600160a01b0385166000908152600b6020526040902054600184011115612f00576001600160a01b0385166000908152600b60205260409020600184019055949350505050565b600081848411156140785760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561403d578181015183820152602001614025565b50505050905090810190601f16801561406a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008261408f57506000612151565b8282028284828161409c57fe5b04146127995760405162461bcd60e51b815260040180806020018281038252602181526020018061591e6021913960400191505060405180910390fd5b81156141eb57801561415457601f546040805163b760faf960e01b81526001600160a01b0386811660048301529151919092169163b760faf991859160248082019260009290919082900301818588803b15801561413657600080fd5b505af115801561414a573d6000803e3d6000fd5b50505050506141eb565b6040516000906001600160a01b0385169084908381818185875af1925050503d806000811461419f576040519150601f19603f3d011682016040523d82523d6000602084013e6141a4565b606091505b50509050806141e9576040805162461bcd60e51b815260206004820152600c60248201526b18db185a5b4819985a5b195960a21b604482015290519081900360640190fd5b505b505047601b5550565b6001600160a01b0382166000908152600284016020526040812080545b80156142785781546000199091019082908290811061422c57fe5b6000918252602090912001546201000090046001600160f01b031684106142735781818154811061425957fe5b60009182526020909120015461ffff169250612799915050565b614211565b50505060018301549392505050565b61428f615882565b600061429a8461507a565b90506000806142a76158aa565b6142b18789615542565b156142bf5750505050612799565b60008781526009602090815260408083206001600160a01b038c1684529091529020541515806142ed575085155b1561431f576142fd88888661555e565b915061430a8789846156d4565b6001600160801b031660208201819052151592505b601f546040805163ed475a7960e01b81526001600160a01b038b811660048301526024820188905291516060938493169163ed475a79916044808301926000929190829003018186803b15801561437557600080fd5b505afa158015614389573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260808110156143b257600080fd5b8101908080516040519392919084600160201b8211156143d157600080fd5b9083019060208201858111156143e657600080fd5b82518660208202830111600160201b8211171561440257600080fd5b82525081516020918201928201910280838360005b8381101561442f578181015183820152602001614417565b5050505090500160405260200180516040519392919084600160201b82111561445757600080fd5b90830190602082018581111561446c57600080fd5b82518660208202830111600160201b8211171561448857600080fd5b82525081516020918201928201910280838360005b838110156144b557818101518382015260200161449d565b5050505091909101604052505083519395509193508791506144da90505760006144dd565b60015b60ff160167ffffffffffffffff811180156144f757600080fd5b50604051908082528060200260200182016040528015614521578160200160208202803683370190505b508088525167ffffffffffffffff8111801561453c57600080fd5b50604051908082528060200260200182016040528015614566578160200160208202803683370190505b50602088015286515167ffffffffffffffff8111801561458557600080fd5b506040519080825280602002602001820160405280156145af578160200160208202803683370190505b50604088015286515167ffffffffffffffff811180156145ce57600080fd5b506040519080825280602002602001820160405280156145f8578160200160208202803683370190505b50606088015284156146805789876000015160008151811061461657fe5b60200260200101906001600160a01b031690816001600160a01b03168152505083876020015160008151811061464857fe5b60200260200101818152505082602001516001600160801b0316876040015160008151811061467357fe5b6020026020010181815250505b81511561483d57601f546040805163277166bf60e11b81526001600160a01b038d81166004830152602482018a905291516000939290921691634ee2cd7e91604480820192602092909190829003018186803b1580156146df57600080fd5b505afa1580156146f3573d6000803e3d6000fd5b505050506040513d602081101561470957600080fd5b5051905060005b835181101561483a576000818861472857600061472b565b60015b60ff1601905084828151811061473d57fe5b60200260200101518a60000151828151811061475557fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506147bc85838151811061478457fe5b60200260200101516147b686858151811061479b57fe5b60200260200101516127108761484a9092919063ffffffff16565b8e615771565b8a6020015182815181106147cc57fe5b60200260200101818152505061480d8c8684815181106147e857fe5b60200260200101518c60200151848151811061480057fe5b60200260200101516156d4565b6001600160801b03168a60400151828151811061482657fe5b602090810291909101015250600101614710565b50505b5050505050509392505050565b6000808211614893576040805162461bcd60e51b815260206004820152601060248201526f4469766973696f6e206279207a65726f60801b604482015290519081900360640190fd5b836148a057506000612799565b838302838582816148ad57fe5b0414156148c6578281816148bd57fe5b04915050612799565b60008386816148d157fe5b04905060008487816148df57fe5b06905060008587816148ed57fe5b04905060008688816148fb57fe5b06905061493d61490f88613e4c8685614080565b61177961491c8686614080565b6117796149298987614080565b6117798d6149378c8b614080565b90614080565b9998505050505050505050565b6000600160801b82106137205760405162461bcd60e51b81526004018080602001828103825260278152602001806158f76027913960400191505060405180910390fd5b600080826040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156149d25781810151838201526020016149ba565b50505050905090810190601f1680156149ff5780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012090506000805b8651811015614a6757868181518110614a3557fe5b6020026020010151831415614a5f57858181518110614a5057fe5b60200260200101519150614a67565b600101614a20565b506001600160a01b03811661314d576040805162461bcd60e51b815260206004820152600c60248201526b61646472657373207a65726f60a01b604482015290519081900360640190fd5b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b614b0282826040518060400160405280600981526020016824b7333630ba34b7b760b91b81525061498e565b601e60006101000a8154816001600160a01b0302191690836001600160a01b03160217905550614b5682826040518060400160405280600b81526020016a233a39b7a6b0b730b3b2b960a91b81525061498e565b601c60006101000a8154816001600160a01b0302191690836001600160a01b03160217905550614ba382826040518060400160405280600481526020016315d3985d60e21b81525061498e565b601f60006101000a8154816001600160a01b0302191690836001600160a01b03160217905550614bfd82826040518060400160405280601181526020017021b630b4b6a9b2ba3ab826b0b730b3b2b960791b81525061498e565b601d80546001600160a01b0319166001600160a01b03929092169190911790555050565b6000614c2c84613ed7565b614c346136bd565b506000614c3f613909565b9050808410158015614c515750600081115b15614c5d576001810393505b614c678482613f23565b614c75576000915050612f00565b614c88868686614c83613e52565b613f45565b9150614c958583856140d9565b50949350505050565b614ca6615882565b6000614cb18661507a565b6040805160208088028281018201909352878252929350869290918891849182918501908490808284376000920191909152505050908452508067ffffffffffffffff81118015614d0157600080fd5b50604051908082528060200260200182016040528015614d2b578160200160208202803683370190505b5060208401528067ffffffffffffffff81118015614d4857600080fd5b50604051908082528060200260200182016040528015614d72578160200160208202803683370190505b5060408401528067ffffffffffffffff81118015614d8f57600080fd5b50604051908082528060200260200182016040528015614db9578160200160208202803683370190505b50606084015260005b8181101561506e57614df088888884818110614dda57fe5b905060200201356001600160a01b03168b613e95565b84606001518281518110614e0057fe5b60200260200101901515908115158152505083606001518181518110614e2257fe5b602002602001015115614eb75784614eb2576000888152600a6020526040812090888884818110614e4f57fe5b602090810292909201356001600160a01b039081168452838301949094525060409182016000908120938d16815292905290819020549085015180516101009092046001600160801b03169183908110614ea557fe5b6020026020010181815250505b615066565b886001600160a01b0316878783818110614ecd57fe5b905060200201356001600160a01b03166001600160a01b03161415614f1857614ef789898561555e565b84602001518281518110614f0757fe5b602002602001018181525050615010565b601f546000906001600160a01b031663e64767aa8b8a8a86818110614f3957fe5b905060200201356001600160a01b0316876040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b03168152602001828152602001935050505060206040518083038186803b158015614f9e57600080fd5b505afa158015614fb2573d6000803e3d6000fd5b505050506040513d6020811015614fc857600080fd5b50519050614ff2888884818110614fdb57fe5b905060200201356001600160a01b0316828b615771565b8560200151838151811061500257fe5b602002602001018181525050505b6150408888888481811061502057fe5b905060200201356001600160a01b03168660200151848151811061480057fe5b6001600160801b03168460400151828151811061505957fe5b6020026020010181815250505b600101614dc2565b50505095945050505050565b6000818152600c60205260409020548061169a57601c5460408051637976d5ad60e11b81526004810185905290516001600160a01b039092169163f2edab5a91602480820192602092909190829003018186803b1580156150da57600080fd5b505afa1580156150ee573d6000803e3d6000fd5b505050506040513d602081101561510457600080fd5b505192915050565b600082821115615163576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006118cc60165461379d60135460185461510c90919063ffffffff16565b600080805b8451518110156153f557846060015181815181106151a757fe5b6020026020010151156151b9576153ed565b6000856000015182815181106151cb57fe5b60209081029190910181015160008981526007835260408082206001600160a01b038416835284528120928901518051929450909161520f919086908110612a4057fe5b90506001600160801b038116156152405781546001600160801b03600160801b808304821684900382160291161782555b600061525589604001518681518110612a4057fe5b90506001600160801b038116156152985782546001600160801b031981166001600160801b03918216839003821617845560138054918316918201905595909501945b8715615382576000600a60008c81526020019081526020016000206000866001600160a01b03166001600160a01b0316815260200190815260200160002060008e6001600160a01b03166001600160a01b0316815260200190815260200160002090508060000160009054906101000a900460ff1615615351576040805162461bcd60e51b815260206004820152600f60248201526e185b1c9958591e4818db185a5b5959608a1b604482015290519081900360640190fd5b8054600160ff199091161770ffffffffffffffffffffffffffffffff0019166101006001600160801b038416021790555b8a6001600160a01b03168c6001600160a01b0316856001600160a01b03167f6ec685171a9028d19dc155a48e7824e3c68b03bc8995410e006abe3cbbeb3e2d8d8560405180838152602001826001600160801b031681526020019250505060405180910390a4505050505b60010161518d565b509695505050505050565b600080838311156154165750600090508061541f565b50600190508183035b9250929050565b6000806154416201517f60195461372490919063ffffffff16565b90508084111561548c576040805162461bcd60e51b81526020600482015260116024820152706166746572206461696c79206379636c6560781b604482015290519081900360640190fd5b61549a83613e4c838761510c565b600101949350505050565b60006118cc60155461379d60125460175461510c90919063ffffffff16565b600080821161551a576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161552357fe5b049392505050565b60008183101561553b5781612799565b5090919050565b6001600160a01b03166000908152600b60205260409020541190565b601f5460408051634181ad4160e11b81526001600160a01b038681166004830152602482018590529151600093849316916383035a82916044808301926020929190829003018186803b1580156155b457600080fd5b505afa1580156155c8573d6000803e3d6000fd5b505050506040513d60208110156155de57600080fd5b5051601f5460408051631257fcdb60e31b81526001600160a01b03898116600483015260248201889052915193945060009391909216916392bfe6d8916044808301926020929190829003018186803b15801561563a57600080fd5b505afa15801561564e573d6000803e3d6000fd5b505050506040513d602081101561566457600080fd5b50519050818114156156855761567c81612710614080565b92505050612799565b81811161568e57fe5b600082156156a4576156a283612710614080565b015b60006156b2600f89896141f4565b905080156153f5576156c684840382614080565b909101979650505050505050565b6000816156e357506000612799565b60008481526007602090815260408083206001600160a01b0387168452909152902080546001600160801b03168061572057600092505050612799565b8154600160801b90046001600160801b031684811415615744575091506127999050565b806001600160801b0316851061575657fe5b61188c612b026001600160801b03848116908890851661484a565b60008261578057506000612799565b60008061578f600f87866141f4565b9050612710811015614c95576157aa85612710839003614080565b90910195945050505050565b50805460018160011615610100020316600290046000825580601f106157dc57506122f3565b601f0160209004906000526020600020908101906122f391906158c1565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826158305760008555615876565b82601f1061584957805160ff1916838001178555615876565b82800160010185558215615876579182015b8281111561587657825182559160200191906001019061585b565b506137209291506158c1565b6040518060800160405280606081526020016060815260200160608152602001606081525090565b604080518082019091526000808252602082015290565b5b8082111561372057600081556001016158c256fe5265656e7472616e637947756172643a207265656e7472616e742063616c6c0053616665436173743a2076616c756520646f65736e27742066697420696e203132382062697473536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220519af7979c09fa4e7bda9cc896c4530aa2881881c12808a0e0e53a10257a5a8364736f6c63430007060033",
|
|
1382
|
+
"bytecode": "0x60a06040523480156200001157600080fd5b5060405162005b8538038062005b85833981810160405260a08110156200003757600080fd5b508051602082015160408301516060840151608090940151929391929091908385806001600160a01b0381161562000074576200007481620000fd565b506001600160a01b038116620000c4576040805162461bcd60e51b815260206004820152601060248201526f5f676f7665726e616e6365207a65726f60801b604482015290519081900360640190fd5b506001600255620000d581620001c0565b5060609290921b6001600160601b031916608052600f556010555050600019600455620001e4565b600054600160a01b900460ff16156200015d576040805162461bcd60e51b815260206004820152601460248201527f696e697469616c6973656420213d2066616c7365000000000000000000000000604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b60805160601c61597462000211600039806114b852806116e45280613222528061326352506159746000f3fe6080604052600436106103505760003560e01c806384e10a90116101c6578063cfbcd25f116100f7578063e7c830d411610095578063ed39d3f81161006f578063ed39d3f814611353578063f2edab5a14611368578063f5a9838314611392578063f5f5ba72146113a757610350565b8063e7c830d4146112f0578063ea28edad14611305578063eb82dd7f1461131a57610350565b8063d6c1dbee116100d1578063d6c1dbee14611155578063e17f212e1461117f578063e273956314611194578063e416b7e1146111be57610350565b8063cfbcd25f1461101d578063d20bb54214611050578063d418634a1461112b57610350565b8063a9b79e1711610164578063b2c121921161013e578063b2c1219214610f25578063b482403414610f70578063b4a2043d14610f85578063c4db96191461100857610350565b8063a9b79e1714610c0d578063b00c0b7614610d6a578063b2af870a14610e9a57610350565b8063961c00ed116101a0578063961c00ed14610a6c5780639d6a890f14610aa55780639edbf00714610ad8578063a4472c1014610aed57610350565b806384e10a901461093957806385b4c538146109955780638dc305fa146109f157610350565b806333b7971e116102a0578063657d96951161023e57806369b91b591161021857806369b91b591461080b57806374e6310e1461083e5780637b6b2c0a146108f157806382a2b9051461090657610350565b8063657d96951461076857806367dcac53146107a157806367fc4029146107d757610350565b80635267a15d1161027a5780635267a15d146106f55780635aa6e6751461070a5780635ff270791461071f57806362354e031461075357610350565b806333b7971e146105ba5780633e7ff857146106cb57806351b42b00146106e057610350565b806312f97ac01161030d5780631de56098116102e75780631de560981461047757806321bb25af1461048c5780632dafdbbf146105725780633123b7d8146105a557610350565b806312f97ac01461041157806316e693281461042657806316fe49c71461046257610350565b806302fb0c5e146103555780630441218e1461037e57806306201f1d146103ac5780630cb72344146103b65780630f15f4c0146103e757806311a7aaaa146103fc575b600080fd5b34801561036157600080fd5b5061036a611431565b604080519115158252519081900360200190f35b34801561038a57600080fd5b5061039361143a565b6040805192835260208301919091528051918290030190f35b6103b461144e565b005b3480156103c257600080fd5b506103cb6114b6565b604080516001600160a01b039092168252519081900360200190f35b3480156103f357600080fd5b506103b46114da565b34801561040857600080fd5b506103cb6115a3565b34801561041d57600080fd5b506103cb6115b2565b34801561043257600080fd5b506104506004803603602081101561044957600080fd5b50356115c1565b60408051918252519081900360200190f35b34801561046e57600080fd5b5061045061169f565b34801561048357600080fd5b506103b46116a5565b34801561049857600080fd5b50610450600480360360a08110156104af57600080fd5b6001600160a01b038235811692602081013590911691810190606081016040820135600160201b8111156104e257600080fd5b8201836020820111156104f457600080fd5b803590602001918460208302840111600160201b8311171561051557600080fd5b919390929091602081019035600160201b81111561053257600080fd5b82018360208201111561054457600080fd5b803590602001918460208302840111600160201b8311171561056557600080fd5b919350915035151561180b565b34801561057e57600080fd5b50610587611897565b60408051938452602084019290925282820152519081900360600190f35b3480156105b157600080fd5b506104506118c2565b3480156105c657600080fd5b506105ed600480360360208110156105dd57600080fd5b50356001600160a01b03166118d1565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561063557818101518382015260200161061d565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561067457818101518382015260200161065c565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156106b357818101518382015260200161069b565b50505050905001965050505050505060405180910390f35b3480156106d757600080fd5b50610450611b25565b3480156106ec57600080fd5b506103b4611b2b565b34801561070157600080fd5b506103cb611b72565b34801561071657600080fd5b506103cb611b97565b34801561072b57600080fd5b506103b46004803603602081101561074257600080fd5b50356001600160e01b031916611c38565b34801561075f57600080fd5b506103cb611f9a565b34801561077457600080fd5b506103936004803603604081101561078b57600080fd5b50803590602001356001600160a01b0316611fb2565b3480156107ad57600080fd5b506103b4600480360360608110156107c457600080fd5b5080359060208101359060400135611fee565b3480156107e357600080fd5b506103b4600480360360208110156107fa57600080fd5b50356001600160e01b031916612056565b34801561081757600080fd5b506104506004803603602081101561082e57600080fd5b50356001600160a01b031661213e565b34801561084a57600080fd5b506108726004803603602081101561086157600080fd5b50356001600160e01b031916612157565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156108b557818101518382015260200161089d565b50505050905090810190601f1680156108e25780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b3480156108fd57600080fd5b506104506121fd565b34801561091257600080fd5b506103b46004803603602081101561092957600080fd5b50356001600160a01b0316612203565b34801561094557600080fd5b5061094e6122f6565b60408051998a5260208a0198909852888801969096526060880194909452608087019290925260a086015260c085015260e084015261010083015251908190036101200190f35b3480156109a157600080fd5b506109d6600480360360608110156109b857600080fd5b508035906001600160a01b036020820135811691604001351661231c565b60408051921515835260208301919091528051918290030190f35b3480156109fd57600080fd5b506103b460048036036040811015610a1457600080fd5b810190602081018135600160201b811115610a2e57600080fd5b820183602082011115610a4057600080fd5b803590602001918460208302840111600160201b83111715610a6157600080fd5b919350915035612370565b348015610a7857600080fd5b5061045060048036036040811015610a8f57600080fd5b506001600160a01b03813516906020013561271e565b348015610ab157600080fd5b506103b460048036036020811015610ac857600080fd5b50356001600160a01b03166127a0565b348015610ae457600080fd5b506103cb612859565b348015610af957600080fd5b50610b2660048036036040811015610b1057600080fd5b506001600160a01b038135169060200135612868565b604051808060200180602001806020018515158152602001848103845288818151815260200191508051906020019060200280838360005b83811015610b76578181015183820152602001610b5e565b50505050905001848103835287818151815260200191508051906020019060200280838360005b83811015610bb5578181015183820152602001610b9d565b50505050905001848103825286818151815260200191508051906020019060200280838360005b83811015610bf4578181015183820152602001610bdc565b5050505090500197505050505050505060405180910390f35b348015610c1957600080fd5b506103b46004803603610120811015610c3157600080fd5b810190602081018135600160201b811115610c4b57600080fd5b820183602082011115610c5d57600080fd5b803590602001918460208302840111600160201b83111715610c7e57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b811115610ccd57600080fd5b820183602082011115610cdf57600080fd5b803590602001918460208302840111600160201b83111715610d0057600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550508235935050506020810135906001600160a01b036040820135169060608101359060808101359060a08101359060c001356128d2565b348015610d7657600080fd5b506103b460048036036040811015610d8d57600080fd5b810190602081018135600160201b811115610da757600080fd5b820183602082011115610db957600080fd5b803590602001918460208302840111600160201b83111715610dda57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b811115610e2957600080fd5b820183602082011115610e3b57600080fd5b803590602001918460208302840111600160201b83111715610e5c57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550612d21945050505050565b348015610ea657600080fd5b5061045060048036036040811015610ebd57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b811115610ee757600080fd5b820183602082011115610ef957600080fd5b803590602001918460208302840111600160201b83111715610f1a57600080fd5b509092509050612dcc565b348015610f3157600080fd5b5061045060048036036080811015610f4857600080fd5b506001600160a01b038135811691602081013590911690604081013590606001351515612e82565b348015610f7c57600080fd5b50610450612f08565b348015610f9157600080fd5b50610fb860048036036020811015610fa857600080fd5b50356001600160a01b0316612f0e565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610ff4578181015183820152602001610fdc565b505050509050019250505060405180910390f35b34801561101457600080fd5b506103cb6130b5565b34801561102957600080fd5b506104506004803603602081101561104057600080fd5b50356001600160a01b03166130c4565b34801561105c57600080fd5b506104506004803603606081101561107357600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561109d57600080fd5b8201836020820111156110af57600080fd5b803590602001918460208302840111600160201b831117156110d057600080fd5b919390929091602081019035600160201b8111156110ed57600080fd5b8201836020820111156110ff57600080fd5b803590602001918460208302840111600160201b8311171561112057600080fd5b5090925090506130db565b34801561113757600080fd5b506103936004803603602081101561114e57600080fd5b5035613156565b34801561116157600080fd5b506103b46004803603602081101561117857600080fd5b5035613175565b34801561118b57600080fd5b5061036a61334b565b3480156111a057600080fd5b506103b4600480360360208110156111b757600080fd5b503561335b565b3480156111ca57600080fd5b5061124e600480360360608110156111e157600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561121057600080fd5b82018360208201111561122257600080fd5b803590602001918460208302840111600160201b8311171561124357600080fd5b5090925090506133b2565b6040518080602001806020018415158152602001838103835286818151815260200191508051906020019060200280838360005b8381101561129a578181015183820152602001611282565b50505050905001838103825285818151815260200191508051906020019060200280838360005b838110156112d95781810151838201526020016112c1565b505050509050019550505050505060405180910390f35b3480156112fc57600080fd5b50610450613418565b34801561131157600080fd5b506103b4613422565b34801561132657600080fd5b506103936004803603604081101561133d57600080fd5b50803590602001356001600160a01b03166134b5565b34801561135f57600080fd5b506103cb6134f1565b34801561137457600080fd5b506104506004803603602081101561138b57600080fd5b5035613500565b34801561139e57600080fd5b506103b461350b565b3480156113b357600080fd5b506113bc6135d2565b6040805160208082528351818301528351919283929083019185019080838360005b838110156113f65781810151838201526020016113de565b50505050905090810190601f1680156114235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60035460ff1681565b6000806114456135fd565b90939092509050565b61145661366d565b61145e6136bd565b601b5560185461146e9034613724565b60185561147961377e565b6040805134815290517f95c4e29cc99bc027cfc3cd719d6fd973d5f0317061885fbb322b9b17d8d35d379181900360200190a16114b461385e565b565b7f000000000000000000000000000000000000000000000000000000000000000081565b6114e26138aa565b601e546001600160a01b0316158015906115065750601c546001600160a01b031615155b801561151c5750601f546001600160a01b031615155b611561576040805162461bcd60e51b81526020600482015260116024820152701859191c995cdcd95cc81b9bdd081cd95d607a1b604482015290519081900360640190fd5b6003805460ff191660011790556040805130815290517f2d9c100169d5e24ef79d07ec273fcbbd5ce996a849ef0223f37c49f6418df84d9181900360200190a1565b601c546001600160a01b031681565b6020546001600160a01b031681565b60008073__$b9040dea2fd9c47e6b7e0e916053de4d6b$__63e937a562600f856115e9613909565b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b15801561162b57600080fd5b505af415801561163f573d6000803e3d6000fd5b505050506040513d602081101561165557600080fd5b50516040805185815260208101839052815192935033927fd89f05622c2dcb0b4fcaa19e62fc2a2b0923955685fb7b0c641467f764244abc929181900390910190a290505b919050565b600f5490565b600054600160b01b900460ff16806116c75750600054600160a81b900460ff16155b15611800576116d461394e565b60035460ff1615801561170f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031615155b801561171b5750600654155b80156117275750600554155b61176c576040805162461bcd60e51b81526020600482015260116024820152706e6f7420696e697469616c20737461746560781b604482015290519081900360640190fd5b61177f6001611779613909565b90613724565b600655601c5460408051633e7ff85760e01b815290516001600160a01b0390921691633e7ff85791600480820192602092909190829003018186803b1580156117c757600080fd5b505afa1580156117db573d6000803e3d6000fd5b505050506040513d60208110156117f157600080fd5b505160055560006004556114b4565b6114b4600036613983565b6000611815613b13565b60028054141561185a576040805162461bcd60e51b815260206004820152601f60248201526000805160206158d7833981519152604482015290519081900360640190fd5b60028055878761186a8282613b6a565b6118798a8a8a8a8a8a8a613bf7565b6001600255925061188c915061385e9050565b979650505050505050565b6000806000806017546118b760165460135461372490919063ffffffff16565b925092509250909192565b60006118cc613db4565b905090565b6060808073__$b9040dea2fd9c47e6b7e0e916053de4d6b$__6325459925600f866118fa613909565b6040518463ffffffff1660e01b815260040180848152602001836001600160a01b03168152602001828152602001935050505060006040518083038186803b15801561194557600080fd5b505af4158015611959573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052606081101561198257600080fd5b8101908080516040519392919084600160201b8211156119a157600080fd5b9083019060208201858111156119b657600080fd5b82518660208202830111600160201b821117156119d257600080fd5b82525081516020918201928201910280838360005b838110156119ff5781810151838201526020016119e7565b5050505090500160405260200180516040519392919084600160201b821115611a2757600080fd5b908301906020820185811115611a3c57600080fd5b82518660208202830111600160201b82111715611a5857600080fd5b82525081516020918201928201910280838360005b83811015611a85578181015183820152602001611a6d565b5050505090500160405260200180516040519392919084600160201b821115611aad57600080fd5b908301906020820185811115611ac257600080fd5b82518660208202830111600160201b82111715611ade57600080fd5b82525081516020918201928201910280838360005b83811015611b0b578181015183820152602001611af3565b505050509050016040525050509250925092509193909250565b60055490565b611b336138aa565b6003805460ff191690556040805130815290517fa391f4e911c33688045cc1f43dc17c05924f79ad72a8cf5a58cf00c3acc9090e9181900360200190a1565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e77195490565b60008054600160a81b900460ff16611bba576000546001600160a01b03166118cc565b73183faff6997c98a812a3b98748fc80241d08f3126001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b158015611c0757600080fd5b505afa158015611c1b573d6000803e3d6000fd5b505050506040513d6020811015611c3157600080fd5b5051905090565b60408051630debfda360e41b8152336004820152905173183faff6997c98a812a3b98748fc80241d08f3129163debfda30916024808301926020929190829003018186803b158015611c8957600080fd5b505afa158015611c9d573d6000803e3d6000fd5b505050506040513d6020811015611cb357600080fd5b5051611cf6576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b0319811660009081526001602052604090208054611d62576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b8054421015611db8576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611e525780601f10611e2757610100808354040283529160200191611e52565b820191906000526020600020905b815481529060010190602001808311611e3557829003601f168201915b5050506001600160e01b0319861660009081526001602081905260408220828155949550909250611e8691508301826157b6565b50506000805460ff60b01b1916600160b01b178155604051825130918491819060208401908083835b60208310611ece5780518252601f199092019160209182019101611eaf565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611f30576040519150601f19603f3d011682016040523d82523d6000602084013e611f35565b606091505b50506000805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a1611f9481613dc5565b50505050565b73183faff6997c98a812a3b98748fc80241d08f31281565b60009182526007602090815260408084206001600160a01b0390931684529190529020546001600160801b0380821692600160801b9092041690565b611ff6613de2565b60006120028383613e35565b6015549091506120129082613724565b601555604080518581526020810183905281517f754fa5a3ace0438b80ec651f7d61e44f761a808ebd17d7ce70da619399611a08929181900390910190a150505050565b61205e6138aa565b6001600160e01b031981166000908152600160205260409020546120c9576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b03198116600090815260016020819052604082208281559190612139908301826157b6565b505050565b60006121518261214c613e52565b613e72565b92915050565b600160208181526000928352604092839020805481840180548651600296821615610100026000190190911695909504601f810185900485028601850190965285855290949193929091908301828280156121f35780601f106121c8576101008083540402835291602001916121f3565b820191906000526020600020905b8154815290600101906020018083116121d657829003601f168201915b5050505050905082565b60045481565b600054600160b01b900460ff16806122255750600054600160a81b900460ff16155b156122e85761223261394e565b6020546001600160a01b03161561227e576040805162461bcd60e51b815260206004820152600b60248201526a185b1c9958591e481cd95d60aa1b604482015290519081900360640190fd5b6001600160a01b0381166122c8576040805162461bcd60e51b815260206004820152600c60248201526b61646472657373207a65726f60a01b604482015290519081900360640190fd5b602080546001600160a01b0319166001600160a01b0383161790556122f3565b6122f3600036613983565b50565b601254601354601454601554601654601754601854601954601a54909192939495969798565b60008061232a858585613e95565b6000958652600a602090815260408088206001600160a01b039788168952825280882095909616875293909352505091205490916101009091046001600160801b031690565b612378613b13565b6002805414156123bd576040805162461bcd60e51b815260206004820152601f60248201526000805160206158d7833981519152604482015290519081900360640190fd5b600280556123c96136bd565b5060005b82811015612401576123f98484838181106123e457fe5b905060200201356001600160a01b0316613ed7565b6001016123cd565b50600061240c613909565b90506124188282613f23565b612459576040805162461bcd60e51b815260206004820152600d60248201526c6e6f7420636c61696d61626c6560981b604482015290519081900360640190fd5b601d546040805163712441d960e11b81523360048201818152602483019384526044830188905260009485946001600160a01b039091169363e24883b293928b928b92606401846020850280828437600081840152601f19601f82011690508083019250505094505050505060006040518083038186803b1580156124dd57600080fd5b505afa1580156124f1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561251a57600080fd5b8101908080516040519392919084600160201b82111561253957600080fd5b90830190602082018581111561254e57600080fd5b82518660208202830111600160201b8211171561256a57600080fd5b82525081516020918201928201910280838360005b8381101561259757818101518382015260200161257f565b50505050919091016040525060200151929450919250600091506125bb9050613e52565b905060005b868110156126f65760008888838181106125d657fe5b905060200201356001600160a01b0316905060008583815181106125f657fe5b60200260200101519050600061260e83838b88613f45565b9050816001600160a01b0316836001600160a01b0316146126375761263582838b88613f45565b015b60408051808201909152601881527f636c61696d656420616d6f756e7420746f6f20736d616c6c000000000000000060208201526126789082908890613fe9565b905080156126eb57601f546040805163b760faf960e01b81526001600160a01b0385811660048301529151919092169163b760faf991849160248082019260009290919082900301818588803b1580156126d157600080fd5b505af11580156126e5573d6000803e3d6000fd5b50505050505b5050506001016125c0565b5061270c336127058489614080565b60006140d9565b5050600160025550612139905061385e565b600081612729613db4565b111580156127455750600f5461274190611779613909565b8211155b61278d576040805162461bcd60e51b81526020600482015260146024820152730d2dcecc2d8d2c840e4caeec2e4c840cae0dec6d60631b604482015290519081900360640190fd5b612799600f84846141f4565b9392505050565b600054600160a01b900460ff16156127f6576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b601f546001600160a01b031681565b6060806060600080612878613909565b90506128848682613f23565b9150818061289e5750808614801561289e57506004548610155b156128c85760006128b188886000614287565b805160408201516060909201519097509095509350505b5092959194509250565b6128da613de2565b86158015906128e95750885115155b6128ef57fe5b6000838152600c6020526040812082905561290a8584613e35565b905060008a5167ffffffffffffffff8111801561292657600080fd5b50604051908082528060200260200182016040528015612950578160200160208202803683370190505b509050818160008151811061296157fe5b602002602001018181525050888a60008151811061297b57fe5b60209081029190910101528a51600019015b60008c828151811061299b57fe5b602002602001015190506129f58c83815181106129b457fe5b60200260200101518d6000815181106129c957fe5b6020026020010151856000815181106129de57fe5b602002602001015161484a9092919063ffffffff16565b838381518110612a0157fe5b60209081029190910181019190915260008881526007825260408082206001600160a01b0385168352909252208351612a4d90859085908110612a4057fe5b602002602001015161494a565b81546001600160801b031981166001600160801b039182169290920116178155601f5460408051631257fcdb60e31b81526001600160a01b038581166004830152602482018a9052915160009392909216916392bfe6d891604480820192602092909190829003018186803b158015612ac557600080fd5b505afa158015612ad9573d6000803e3d6000fd5b505050506040513d6020811015612aef57600080fd5b50519050612b07612b0282612710614080565b61494a565b82546001600160801b03918216600160801b0291161782558451859085908110612b2d57fe5b60209081029190910181015160008b81526009835260408082206001600160a01b03881680845290855281832080549094019093558c82526008845280822092825291909252902054612ba05760008981526008602090815260408083206001600160a01b038716845290915290208190555b83612bad57505050612c1f565b848481518110612bb957fe5b602002602001015185600081518110612bce57fe5b6020026020010181815103915081815250508d8481518110612bec57fe5b60200260200101518e600081518110612c0157fe5b6020908102919091010180519190910390525050506000190161298d565b6000868152600d60205260409020805484019055601254612c409084613724565b601281905550876001600160a01b03167f8b2bc56c62594afde5b520e83e1ca19ebd071798db21382e328014f47b31ce578a8e85604051808481526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015612cbe578181015183820152602001612ca6565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015612cfd578181015183820152602001612ce5565b505050509050019550505050505060405180910390a2505050505050505050505050565b612d29611b72565b6001600160a01b0316336001600160a01b031614612d85576040805162461bcd60e51b815260206004820152601460248201527337b7363c9030b2323932b9b9903ab83230ba32b960611b604482015290519081900360640190fd5b612dbe612db983836040518060400160405280600e81526020016d20b2323932b9b9aab83230ba32b960911b81525061498e565b614ab2565b612dc88282614ad6565b5050565b6000612dd6613b13565b600280541415612e1b576040805162461bcd60e51b815260206004820152601f60248201526000805160206158d7833981519152604482015290519081900360640190fd5b600280556000805b83811015612e6357848482818110612e3757fe5b90506020020135821015612e5b57848482818110612e5157fe5b9050602002013591505b600101612e23565b50612e713386836000614c21565b60016002559150612799905061385e565b6000612e8c613b13565b600280541415612ed1576040805162461bcd60e51b815260206004820152601f60248201526000805160206158d7833981519152604482015290519081900360640190fd5b600280558484612ee18282613b6a565b612eed87878787614c21565b60016002559250612f00915061385e9050565b949350505050565b60105490565b6060600080612f1b6135fd565b909250905060018282030160008167ffffffffffffffff81118015612f3f57600080fd5b50604051908082528060200260200182016040528015612f69578160200160208202803683370190505b5090506000805b83811015613016576000612f88898389016001614287565b905060005b81606001515181101561300c5781606001518181518110612faa57fe5b6020026020010151158015612fd65750600082604001518281518110612fcc57fe5b6020026020010151115b15613004576001858481518110612fe957fe5b9115156020928302919091019091015260019093019261300c565b600101612f8d565b5050600101612f70565b508067ffffffffffffffff8111801561302e57600080fd5b50604051908082528060200260200182016040528015613058578160200160208202803683370190505b5095506000805b848110156130a95783818151811061307357fe5b6020026020010151156130a15780870188838151811061308f57fe5b60209081029190910101526001909101905b60010161305f565b50505050505050919050565b601d546001600160a01b031681565b6000612151826130d2613909565b600f91906141f4565b60006130e5613b13565b60028054141561312a576040805162461bcd60e51b815260206004820152601f60248201526000805160206158d7833981519152604482015290519081900360640190fd5b6002805561313e3387878787876000613bf7565b6001600255905061314d61385e565b95945050505050565b6000908152600d6020908152604080832054600e909252909120549091565b601c546001600160a01b031633148061319857506020546001600160a01b031633145b6131d9576040805162461bcd60e51b815260206004820152600d60248201526c6f6e6c79206d616e616765727360981b604482015290519081900360640190fd5b8060055414613220576040805162461bcd60e51b815260206004820152600e60248201526d1ddc9bdb99c8195c1bd8da081a5960921b604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161580159061325c575060065460320181105b156132e0577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d6c1dbee826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156132c757600080fd5b505af11580156132db573d6000803e3d6000fd5b505050505b6000818152600e6020908152604080832054600d909252909120546014549190039061330c9082613724565b6014556040805183815290517f5d05c64f281304391697cf987812e1a736413a062a9bdf39af4102209eb6fa589181900360200190a150600101600555565b600054600160a81b900460ff1681565b61336361366d565b601a8190556017546133759082613724565b601755426019556040805182815290517f187f32a0f765499f15b3bb52ed0aebf6015059f230f2ace7e701e60a476695959181900360200190a150565b6060806000806133c0613909565b90506133cc8782613f23565b915081806133e6575080871480156133e657506004548710155b1561340d5760006133fb898989896000614c9e565b90508060400151945080606001519350505b509450945094915050565b60006118cc613909565b61342a6138aa565b60001960045414613474576040805162461bcd60e51b815260206004820152600f60248201526e185b1c9958591e48195b98589b1959608a1b604482015290519081900360640190fd5b61347c613909565b600481905560408051918252517f1cfb844c44f9325fc9ad6cc6191a4a24b0415137fe300b6c9071523a253f7a089181900360200190a1565b60008281526009602090815260408083206001600160a01b03909416808452938252808320549483526008825280832093835292905220549091565b601e546001600160a01b031690565b60006121518261507a565b6135136138aa565b600054600160a81b900460ff1615613572576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b60008054600161ff0160a01b031916600160a81b1790556040805173183faff6997c98a812a3b98748fc80241d08f312815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b604080518082019091526011815270233a39b7a932bbb0b93226b0b730b3b2b960791b602082015290565b60055460008061360b613909565b905060008111613662576040805162461bcd60e51b815260206004820152601f60248201527f6e6f2065706f6368207769746820636c61696d61626c65207265776172647300604482015290519081900360640190fd5b600181039150509091565b601e546001600160a01b031633146114b4576040805162461bcd60e51b815260206004820152600e60248201526d696e666c6174696f6e206f6e6c7960901b604482015290519081900360640190fd5b601b546000906136cd9034613724565b905047818111156137165761dead6108fc6136e8838561510c565b6040518115909202916000818181858888f19350505050158015613710573d6000803e3d6000fd5b50613720565b8181101561372057fe5b5090565b600082820183811015612799576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006137a360165461379d60145460155461372490919063ffffffff16565b9061510c565b905080156122f35760006137ba476014606461484a565b90506000818311156137cd5750806137d0565b50815b8015612139576016546137e39082613724565b601655601b546137f3908261510c565b601b5560405161dead9082156108fc029083906000818181858888f19350505050158015613825573d6000803e3d6000fd5b506040805182815290517f44d5cd18c37b86a3423952287006d9550ab3cff404d6e899d5499d9ef87100b59181900360200190a1505050565b613866615169565b47146114b4576040805162461bcd60e51b815260206004820152600e60248201526d6f7574206f662062616c616e636560901b604482015290519081900360640190fd5b6138b2611b97565b6001600160a01b0316336001600160a01b0316146114b4576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b601c54604080516339f20c3560e21b815290516000926001600160a01b03169163e7c830d4916004808301926020929190829003018186803b158015611c0757600080fd5b600054600160b01b900460ff161561397b5733301461396957fe5b6000805460ff60b01b191690556114b4565b6114b46138aa565b61398b6138aa565b600082359050600073183faff6997c98a812a3b98748fc80241d08f3126001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156139e057600080fd5b505afa1580156139f4573d6000803e3d6000fd5b505050506040513d6020811015613a0a57600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b03198616815260016020818152604090922084518155848301518051919450613a8e939285019201906157fa565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b60035460ff166114b4576040805162461bcd60e51b815260206004820152601a60248201527f726577617264206d616e61676572206465616374697661746564000000000000604482015290519081900360640190fd5b336001600160a01b0383161415613b8057612dc8565b601d546040805163ce2caa5760e01b81523360048201526001600160a01b03858116602483015284811660448301529151919092169163ce2caa57916064808301926000929190829003018186803b158015613bdb57600080fd5b505afa158015613bef573d6000803e3d6000fd5b505050505050565b6000613c0287613ed7565b613c0a6136bd565b506002601f546040805163f683776760e01b81526001600160a01b038c811660048301529151919092169163f6837767916024808301926020929190829003018186803b158015613c5a57600080fd5b505afa158015613c6e573d6000803e3d6000fd5b505050506040513d6020811015613c8457600080fd5b505114613cd8576040805162461bcd60e51b815260206004820152601860248201527f6578706c696369742064656c65676174696f6e206f6e6c790000000000000000604482015290519081900360640190fd5b6000613ce2613909565b905060005b86811015613d9c57613d0b888883818110613cfe57fe5b9050602002013583613f23565b613d1457613d94565b6000613d368b8a8a85818110613d2657fe5b9050602002013589896001614c9e565b90506000613d5a8c8c8c8c87818110613d4b57fe5b90506020020135856001615188565b905080600e60008c8c87818110613d6d57fe5b60209081029290920135835250810191909152604001600020805490910190559390930192505b600101613ce7565b50613da88883856140d9565b50979650505050505050565b600654600090612151906001615400565b3d604051818101604052816000823e8215613dde578181f35b8181fd5b601c546001600160a01b031633146114b4576040805162461bcd60e51b81526020600482015260116024820152706674736f206d616e61676572206f6e6c7960781b604482015290519081900360640190fd5b6000612799613e448385615426565b613e4c6154a5565b906154c4565b60006118cc600454613e6d613e65613db4565b60055461552b565b61552b565b6001600160a01b0382166000908152600b6020526040812054612799908361552b565b6000838152600a602090815260408083206001600160a01b038087168552908352818420908516845290915281205460ff1680612f005750612f008483615542565b6001600160a01b0381166122f3576040805162461bcd60e51b815260206004820152600e60248201526d726563697069656e74207a65726f60901b604482015290519081900360640190fd5b60006004548310158015613f3957506005548310155b80156127995750501190565b600080613f528684613e72565b90505b838111613f9f576000613f6a87836001614287565b90506000613f7c888885856000615188565b6000848152600e6020526040902080548201905593909301925050600101613f55565b506001600160a01b0385166000908152600b6020526040902054600184011115612f00576001600160a01b0385166000908152600b60205260409020600184019055949350505050565b600081848411156140785760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561403d578181015183820152602001614025565b50505050905090810190601f16801561406a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008261408f57506000612151565b8282028284828161409c57fe5b04146127995760405162461bcd60e51b815260040180806020018281038252602181526020018061591e6021913960400191505060405180910390fd5b81156141eb57801561415457601f546040805163b760faf960e01b81526001600160a01b0386811660048301529151919092169163b760faf991859160248082019260009290919082900301818588803b15801561413657600080fd5b505af115801561414a573d6000803e3d6000fd5b50505050506141eb565b6040516000906001600160a01b0385169084908381818185875af1925050503d806000811461419f576040519150601f19603f3d011682016040523d82523d6000602084013e6141a4565b606091505b50509050806141e9576040805162461bcd60e51b815260206004820152600c60248201526b18db185a5b4819985a5b195960a21b604482015290519081900360640190fd5b505b505047601b5550565b6001600160a01b0382166000908152600284016020526040812080545b80156142785781546000199091019082908290811061422c57fe5b6000918252602090912001546201000090046001600160f01b031684106142735781818154811061425957fe5b60009182526020909120015461ffff169250612799915050565b614211565b50505060018301549392505050565b61428f615882565b600061429a8461507a565b90506000806142a76158aa565b6142b18789615542565b156142bf5750505050612799565b60008781526009602090815260408083206001600160a01b038c1684529091529020541515806142ed575085155b1561431f576142fd88888661555e565b915061430a8789846156d4565b6001600160801b031660208201819052151592505b601f546040805163ed475a7960e01b81526001600160a01b038b811660048301526024820188905291516060938493169163ed475a79916044808301926000929190829003018186803b15801561437557600080fd5b505afa158015614389573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260808110156143b257600080fd5b8101908080516040519392919084600160201b8211156143d157600080fd5b9083019060208201858111156143e657600080fd5b82518660208202830111600160201b8211171561440257600080fd5b82525081516020918201928201910280838360005b8381101561442f578181015183820152602001614417565b5050505090500160405260200180516040519392919084600160201b82111561445757600080fd5b90830190602082018581111561446c57600080fd5b82518660208202830111600160201b8211171561448857600080fd5b82525081516020918201928201910280838360005b838110156144b557818101518382015260200161449d565b5050505091909101604052505083519395509193508791506144da90505760006144dd565b60015b60ff160167ffffffffffffffff811180156144f757600080fd5b50604051908082528060200260200182016040528015614521578160200160208202803683370190505b508088525167ffffffffffffffff8111801561453c57600080fd5b50604051908082528060200260200182016040528015614566578160200160208202803683370190505b50602088015286515167ffffffffffffffff8111801561458557600080fd5b506040519080825280602002602001820160405280156145af578160200160208202803683370190505b50604088015286515167ffffffffffffffff811180156145ce57600080fd5b506040519080825280602002602001820160405280156145f8578160200160208202803683370190505b50606088015284156146805789876000015160008151811061461657fe5b60200260200101906001600160a01b031690816001600160a01b03168152505083876020015160008151811061464857fe5b60200260200101818152505082602001516001600160801b0316876040015160008151811061467357fe5b6020026020010181815250505b81511561483d57601f546040805163277166bf60e11b81526001600160a01b038d81166004830152602482018a905291516000939290921691634ee2cd7e91604480820192602092909190829003018186803b1580156146df57600080fd5b505afa1580156146f3573d6000803e3d6000fd5b505050506040513d602081101561470957600080fd5b5051905060005b835181101561483a576000818861472857600061472b565b60015b60ff1601905084828151811061473d57fe5b60200260200101518a60000151828151811061475557fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506147bc85838151811061478457fe5b60200260200101516147b686858151811061479b57fe5b60200260200101516127108761484a9092919063ffffffff16565b8e615771565b8a6020015182815181106147cc57fe5b60200260200101818152505061480d8c8684815181106147e857fe5b60200260200101518c60200151848151811061480057fe5b60200260200101516156d4565b6001600160801b03168a60400151828151811061482657fe5b602090810291909101015250600101614710565b50505b5050505050509392505050565b6000808211614893576040805162461bcd60e51b815260206004820152601060248201526f4469766973696f6e206279207a65726f60801b604482015290519081900360640190fd5b836148a057506000612799565b838302838582816148ad57fe5b0414156148c6578281816148bd57fe5b04915050612799565b60008386816148d157fe5b04905060008487816148df57fe5b06905060008587816148ed57fe5b04905060008688816148fb57fe5b06905061493d61490f88613e4c8685614080565b61177961491c8686614080565b6117796149298987614080565b6117798d6149378c8b614080565b90614080565b9998505050505050505050565b6000600160801b82106137205760405162461bcd60e51b81526004018080602001828103825260278152602001806158f76027913960400191505060405180910390fd5b600080826040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156149d25781810151838201526020016149ba565b50505050905090810190601f1680156149ff5780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012090506000805b8651811015614a6757868181518110614a3557fe5b6020026020010151831415614a5f57858181518110614a5057fe5b60200260200101519150614a67565b600101614a20565b506001600160a01b03811661314d576040805162461bcd60e51b815260206004820152600c60248201526b61646472657373207a65726f60a01b604482015290519081900360640190fd5b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b614b0282826040518060400160405280600981526020016824b7333630ba34b7b760b91b81525061498e565b601e60006101000a8154816001600160a01b0302191690836001600160a01b03160217905550614b5682826040518060400160405280600b81526020016a233a39b7a6b0b730b3b2b960a91b81525061498e565b601c60006101000a8154816001600160a01b0302191690836001600160a01b03160217905550614ba382826040518060400160405280600481526020016315d3985d60e21b81525061498e565b601f60006101000a8154816001600160a01b0302191690836001600160a01b03160217905550614bfd82826040518060400160405280601181526020017021b630b4b6a9b2ba3ab826b0b730b3b2b960791b81525061498e565b601d80546001600160a01b0319166001600160a01b03929092169190911790555050565b6000614c2c84613ed7565b614c346136bd565b506000614c3f613909565b9050808410158015614c515750600081115b15614c5d576001810393505b614c678482613f23565b614c75576000915050612f00565b614c88868686614c83613e52565b613f45565b9150614c958583856140d9565b50949350505050565b614ca6615882565b6000614cb18661507a565b6040805160208088028281018201909352878252929350869290918891849182918501908490808284376000920191909152505050908452508067ffffffffffffffff81118015614d0157600080fd5b50604051908082528060200260200182016040528015614d2b578160200160208202803683370190505b5060208401528067ffffffffffffffff81118015614d4857600080fd5b50604051908082528060200260200182016040528015614d72578160200160208202803683370190505b5060408401528067ffffffffffffffff81118015614d8f57600080fd5b50604051908082528060200260200182016040528015614db9578160200160208202803683370190505b50606084015260005b8181101561506e57614df088888884818110614dda57fe5b905060200201356001600160a01b03168b613e95565b84606001518281518110614e0057fe5b60200260200101901515908115158152505083606001518181518110614e2257fe5b602002602001015115614eb75784614eb2576000888152600a6020526040812090888884818110614e4f57fe5b602090810292909201356001600160a01b039081168452838301949094525060409182016000908120938d16815292905290819020549085015180516101009092046001600160801b03169183908110614ea557fe5b6020026020010181815250505b615066565b886001600160a01b0316878783818110614ecd57fe5b905060200201356001600160a01b03166001600160a01b03161415614f1857614ef789898561555e565b84602001518281518110614f0757fe5b602002602001018181525050615010565b601f546000906001600160a01b031663e64767aa8b8a8a86818110614f3957fe5b905060200201356001600160a01b0316876040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b03168152602001828152602001935050505060206040518083038186803b158015614f9e57600080fd5b505afa158015614fb2573d6000803e3d6000fd5b505050506040513d6020811015614fc857600080fd5b50519050614ff2888884818110614fdb57fe5b905060200201356001600160a01b0316828b615771565b8560200151838151811061500257fe5b602002602001018181525050505b6150408888888481811061502057fe5b905060200201356001600160a01b03168660200151848151811061480057fe5b6001600160801b03168460400151828151811061505957fe5b6020026020010181815250505b600101614dc2565b50505095945050505050565b6000818152600c60205260409020548061169a57601c5460408051637976d5ad60e11b81526004810185905290516001600160a01b039092169163f2edab5a91602480820192602092909190829003018186803b1580156150da57600080fd5b505afa1580156150ee573d6000803e3d6000fd5b505050506040513d602081101561510457600080fd5b505192915050565b600082821115615163576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006118cc60165461379d60135460185461510c90919063ffffffff16565b600080805b8451518110156153f557846060015181815181106151a757fe5b6020026020010151156151b9576153ed565b6000856000015182815181106151cb57fe5b60209081029190910181015160008981526007835260408082206001600160a01b038416835284528120928901518051929450909161520f919086908110612a4057fe5b90506001600160801b038116156152405781546001600160801b03600160801b808304821684900382160291161782555b600061525589604001518681518110612a4057fe5b90506001600160801b038116156152985782546001600160801b031981166001600160801b03918216839003821617845560138054918316918201905595909501945b8715615382576000600a60008c81526020019081526020016000206000866001600160a01b03166001600160a01b0316815260200190815260200160002060008e6001600160a01b03166001600160a01b0316815260200190815260200160002090508060000160009054906101000a900460ff1615615351576040805162461bcd60e51b815260206004820152600f60248201526e185b1c9958591e4818db185a5b5959608a1b604482015290519081900360640190fd5b8054600160ff199091161770ffffffffffffffffffffffffffffffff0019166101006001600160801b038416021790555b8a6001600160a01b03168c6001600160a01b0316856001600160a01b03167f6ec685171a9028d19dc155a48e7824e3c68b03bc8995410e006abe3cbbeb3e2d8d8560405180838152602001826001600160801b031681526020019250505060405180910390a4505050505b60010161518d565b509695505050505050565b600080838311156154165750600090508061541f565b50600190508183035b9250929050565b6000806154416201517f60195461372490919063ffffffff16565b90508084111561548c576040805162461bcd60e51b81526020600482015260116024820152706166746572206461696c79206379636c6560781b604482015290519081900360640190fd5b61549a83613e4c838761510c565b600101949350505050565b60006118cc60155461379d60125460175461510c90919063ffffffff16565b600080821161551a576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161552357fe5b049392505050565b60008183101561553b5781612799565b5090919050565b6001600160a01b03166000908152600b60205260409020541190565b601f5460408051634181ad4160e11b81526001600160a01b038681166004830152602482018590529151600093849316916383035a82916044808301926020929190829003018186803b1580156155b457600080fd5b505afa1580156155c8573d6000803e3d6000fd5b505050506040513d60208110156155de57600080fd5b5051601f5460408051631257fcdb60e31b81526001600160a01b03898116600483015260248201889052915193945060009391909216916392bfe6d8916044808301926020929190829003018186803b15801561563a57600080fd5b505afa15801561564e573d6000803e3d6000fd5b505050506040513d602081101561566457600080fd5b50519050818114156156855761567c81612710614080565b92505050612799565b81811161568e57fe5b600082156156a4576156a283612710614080565b015b60006156b2600f89896141f4565b905080156153f5576156c684840382614080565b909101979650505050505050565b6000816156e357506000612799565b60008481526007602090815260408083206001600160a01b0387168452909152902080546001600160801b03168061572057600092505050612799565b8154600160801b90046001600160801b031684811415615744575091506127999050565b806001600160801b0316851061575657fe5b61188c612b026001600160801b03848116908890851661484a565b60008261578057506000612799565b60008061578f600f87866141f4565b9050612710811015614c95576157aa85612710839003614080565b90910195945050505050565b50805460018160011615610100020316600290046000825580601f106157dc57506122f3565b601f0160209004906000526020600020908101906122f391906158c1565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826158305760008555615876565b82601f1061584957805160ff1916838001178555615876565b82800160010185558215615876579182015b8281111561587657825182559160200191906001019061585b565b506137209291506158c1565b6040518060800160405280606081526020016060815260200160608152602001606081525090565b604080518082019091526000808252602082015290565b5b8082111561372057600081556001016158c256fe5265656e7472616e637947756172643a207265656e7472616e742063616c6c0053616665436173743a2076616c756520646f65736e27742066697420696e203132382062697473536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220ee3059e63e6c3a94012049fcb62f642ee29786a0e8040678dbc0fbd25d1bf8fe64736f6c63430007060033",
|
|
1383
|
+
"deployedBytecode": "0x6080604052600436106103505760003560e01c806384e10a90116101c6578063cfbcd25f116100f7578063e7c830d411610095578063ed39d3f81161006f578063ed39d3f814611353578063f2edab5a14611368578063f5a9838314611392578063f5f5ba72146113a757610350565b8063e7c830d4146112f0578063ea28edad14611305578063eb82dd7f1461131a57610350565b8063d6c1dbee116100d1578063d6c1dbee14611155578063e17f212e1461117f578063e273956314611194578063e416b7e1146111be57610350565b8063cfbcd25f1461101d578063d20bb54214611050578063d418634a1461112b57610350565b8063a9b79e1711610164578063b2c121921161013e578063b2c1219214610f25578063b482403414610f70578063b4a2043d14610f85578063c4db96191461100857610350565b8063a9b79e1714610c0d578063b00c0b7614610d6a578063b2af870a14610e9a57610350565b8063961c00ed116101a0578063961c00ed14610a6c5780639d6a890f14610aa55780639edbf00714610ad8578063a4472c1014610aed57610350565b806384e10a901461093957806385b4c538146109955780638dc305fa146109f157610350565b806333b7971e116102a0578063657d96951161023e57806369b91b591161021857806369b91b591461080b57806374e6310e1461083e5780637b6b2c0a146108f157806382a2b9051461090657610350565b8063657d96951461076857806367dcac53146107a157806367fc4029146107d757610350565b80635267a15d1161027a5780635267a15d146106f55780635aa6e6751461070a5780635ff270791461071f57806362354e031461075357610350565b806333b7971e146105ba5780633e7ff857146106cb57806351b42b00146106e057610350565b806312f97ac01161030d5780631de56098116102e75780631de560981461047757806321bb25af1461048c5780632dafdbbf146105725780633123b7d8146105a557610350565b806312f97ac01461041157806316e693281461042657806316fe49c71461046257610350565b806302fb0c5e146103555780630441218e1461037e57806306201f1d146103ac5780630cb72344146103b65780630f15f4c0146103e757806311a7aaaa146103fc575b600080fd5b34801561036157600080fd5b5061036a611431565b604080519115158252519081900360200190f35b34801561038a57600080fd5b5061039361143a565b6040805192835260208301919091528051918290030190f35b6103b461144e565b005b3480156103c257600080fd5b506103cb6114b6565b604080516001600160a01b039092168252519081900360200190f35b3480156103f357600080fd5b506103b46114da565b34801561040857600080fd5b506103cb6115a3565b34801561041d57600080fd5b506103cb6115b2565b34801561043257600080fd5b506104506004803603602081101561044957600080fd5b50356115c1565b60408051918252519081900360200190f35b34801561046e57600080fd5b5061045061169f565b34801561048357600080fd5b506103b46116a5565b34801561049857600080fd5b50610450600480360360a08110156104af57600080fd5b6001600160a01b038235811692602081013590911691810190606081016040820135600160201b8111156104e257600080fd5b8201836020820111156104f457600080fd5b803590602001918460208302840111600160201b8311171561051557600080fd5b919390929091602081019035600160201b81111561053257600080fd5b82018360208201111561054457600080fd5b803590602001918460208302840111600160201b8311171561056557600080fd5b919350915035151561180b565b34801561057e57600080fd5b50610587611897565b60408051938452602084019290925282820152519081900360600190f35b3480156105b157600080fd5b506104506118c2565b3480156105c657600080fd5b506105ed600480360360208110156105dd57600080fd5b50356001600160a01b03166118d1565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561063557818101518382015260200161061d565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561067457818101518382015260200161065c565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156106b357818101518382015260200161069b565b50505050905001965050505050505060405180910390f35b3480156106d757600080fd5b50610450611b25565b3480156106ec57600080fd5b506103b4611b2b565b34801561070157600080fd5b506103cb611b72565b34801561071657600080fd5b506103cb611b97565b34801561072b57600080fd5b506103b46004803603602081101561074257600080fd5b50356001600160e01b031916611c38565b34801561075f57600080fd5b506103cb611f9a565b34801561077457600080fd5b506103936004803603604081101561078b57600080fd5b50803590602001356001600160a01b0316611fb2565b3480156107ad57600080fd5b506103b4600480360360608110156107c457600080fd5b5080359060208101359060400135611fee565b3480156107e357600080fd5b506103b4600480360360208110156107fa57600080fd5b50356001600160e01b031916612056565b34801561081757600080fd5b506104506004803603602081101561082e57600080fd5b50356001600160a01b031661213e565b34801561084a57600080fd5b506108726004803603602081101561086157600080fd5b50356001600160e01b031916612157565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156108b557818101518382015260200161089d565b50505050905090810190601f1680156108e25780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b3480156108fd57600080fd5b506104506121fd565b34801561091257600080fd5b506103b46004803603602081101561092957600080fd5b50356001600160a01b0316612203565b34801561094557600080fd5b5061094e6122f6565b60408051998a5260208a0198909852888801969096526060880194909452608087019290925260a086015260c085015260e084015261010083015251908190036101200190f35b3480156109a157600080fd5b506109d6600480360360608110156109b857600080fd5b508035906001600160a01b036020820135811691604001351661231c565b60408051921515835260208301919091528051918290030190f35b3480156109fd57600080fd5b506103b460048036036040811015610a1457600080fd5b810190602081018135600160201b811115610a2e57600080fd5b820183602082011115610a4057600080fd5b803590602001918460208302840111600160201b83111715610a6157600080fd5b919350915035612370565b348015610a7857600080fd5b5061045060048036036040811015610a8f57600080fd5b506001600160a01b03813516906020013561271e565b348015610ab157600080fd5b506103b460048036036020811015610ac857600080fd5b50356001600160a01b03166127a0565b348015610ae457600080fd5b506103cb612859565b348015610af957600080fd5b50610b2660048036036040811015610b1057600080fd5b506001600160a01b038135169060200135612868565b604051808060200180602001806020018515158152602001848103845288818151815260200191508051906020019060200280838360005b83811015610b76578181015183820152602001610b5e565b50505050905001848103835287818151815260200191508051906020019060200280838360005b83811015610bb5578181015183820152602001610b9d565b50505050905001848103825286818151815260200191508051906020019060200280838360005b83811015610bf4578181015183820152602001610bdc565b5050505090500197505050505050505060405180910390f35b348015610c1957600080fd5b506103b46004803603610120811015610c3157600080fd5b810190602081018135600160201b811115610c4b57600080fd5b820183602082011115610c5d57600080fd5b803590602001918460208302840111600160201b83111715610c7e57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b811115610ccd57600080fd5b820183602082011115610cdf57600080fd5b803590602001918460208302840111600160201b83111715610d0057600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550508235935050506020810135906001600160a01b036040820135169060608101359060808101359060a08101359060c001356128d2565b348015610d7657600080fd5b506103b460048036036040811015610d8d57600080fd5b810190602081018135600160201b811115610da757600080fd5b820183602082011115610db957600080fd5b803590602001918460208302840111600160201b83111715610dda57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b811115610e2957600080fd5b820183602082011115610e3b57600080fd5b803590602001918460208302840111600160201b83111715610e5c57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550612d21945050505050565b348015610ea657600080fd5b5061045060048036036040811015610ebd57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b811115610ee757600080fd5b820183602082011115610ef957600080fd5b803590602001918460208302840111600160201b83111715610f1a57600080fd5b509092509050612dcc565b348015610f3157600080fd5b5061045060048036036080811015610f4857600080fd5b506001600160a01b038135811691602081013590911690604081013590606001351515612e82565b348015610f7c57600080fd5b50610450612f08565b348015610f9157600080fd5b50610fb860048036036020811015610fa857600080fd5b50356001600160a01b0316612f0e565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610ff4578181015183820152602001610fdc565b505050509050019250505060405180910390f35b34801561101457600080fd5b506103cb6130b5565b34801561102957600080fd5b506104506004803603602081101561104057600080fd5b50356001600160a01b03166130c4565b34801561105c57600080fd5b506104506004803603606081101561107357600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561109d57600080fd5b8201836020820111156110af57600080fd5b803590602001918460208302840111600160201b831117156110d057600080fd5b919390929091602081019035600160201b8111156110ed57600080fd5b8201836020820111156110ff57600080fd5b803590602001918460208302840111600160201b8311171561112057600080fd5b5090925090506130db565b34801561113757600080fd5b506103936004803603602081101561114e57600080fd5b5035613156565b34801561116157600080fd5b506103b46004803603602081101561117857600080fd5b5035613175565b34801561118b57600080fd5b5061036a61334b565b3480156111a057600080fd5b506103b4600480360360208110156111b757600080fd5b503561335b565b3480156111ca57600080fd5b5061124e600480360360608110156111e157600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561121057600080fd5b82018360208201111561122257600080fd5b803590602001918460208302840111600160201b8311171561124357600080fd5b5090925090506133b2565b6040518080602001806020018415158152602001838103835286818151815260200191508051906020019060200280838360005b8381101561129a578181015183820152602001611282565b50505050905001838103825285818151815260200191508051906020019060200280838360005b838110156112d95781810151838201526020016112c1565b505050509050019550505050505060405180910390f35b3480156112fc57600080fd5b50610450613418565b34801561131157600080fd5b506103b4613422565b34801561132657600080fd5b506103936004803603604081101561133d57600080fd5b50803590602001356001600160a01b03166134b5565b34801561135f57600080fd5b506103cb6134f1565b34801561137457600080fd5b506104506004803603602081101561138b57600080fd5b5035613500565b34801561139e57600080fd5b506103b461350b565b3480156113b357600080fd5b506113bc6135d2565b6040805160208082528351818301528351919283929083019185019080838360005b838110156113f65781810151838201526020016113de565b50505050905090810190601f1680156114235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60035460ff1681565b6000806114456135fd565b90939092509050565b61145661366d565b61145e6136bd565b601b5560185461146e9034613724565b60185561147961377e565b6040805134815290517f95c4e29cc99bc027cfc3cd719d6fd973d5f0317061885fbb322b9b17d8d35d379181900360200190a16114b461385e565b565b7f000000000000000000000000000000000000000000000000000000000000000081565b6114e26138aa565b601e546001600160a01b0316158015906115065750601c546001600160a01b031615155b801561151c5750601f546001600160a01b031615155b611561576040805162461bcd60e51b81526020600482015260116024820152701859191c995cdcd95cc81b9bdd081cd95d607a1b604482015290519081900360640190fd5b6003805460ff191660011790556040805130815290517f2d9c100169d5e24ef79d07ec273fcbbd5ce996a849ef0223f37c49f6418df84d9181900360200190a1565b601c546001600160a01b031681565b6020546001600160a01b031681565b60008073__$b9040dea2fd9c47e6b7e0e916053de4d6b$__63e937a562600f856115e9613909565b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b15801561162b57600080fd5b505af415801561163f573d6000803e3d6000fd5b505050506040513d602081101561165557600080fd5b50516040805185815260208101839052815192935033927fd89f05622c2dcb0b4fcaa19e62fc2a2b0923955685fb7b0c641467f764244abc929181900390910190a290505b919050565b600f5490565b600054600160b01b900460ff16806116c75750600054600160a81b900460ff16155b15611800576116d461394e565b60035460ff1615801561170f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031615155b801561171b5750600654155b80156117275750600554155b61176c576040805162461bcd60e51b81526020600482015260116024820152706e6f7420696e697469616c20737461746560781b604482015290519081900360640190fd5b61177f6001611779613909565b90613724565b600655601c5460408051633e7ff85760e01b815290516001600160a01b0390921691633e7ff85791600480820192602092909190829003018186803b1580156117c757600080fd5b505afa1580156117db573d6000803e3d6000fd5b505050506040513d60208110156117f157600080fd5b505160055560006004556114b4565b6114b4600036613983565b6000611815613b13565b60028054141561185a576040805162461bcd60e51b815260206004820152601f60248201526000805160206158d7833981519152604482015290519081900360640190fd5b60028055878761186a8282613b6a565b6118798a8a8a8a8a8a8a613bf7565b6001600255925061188c915061385e9050565b979650505050505050565b6000806000806017546118b760165460135461372490919063ffffffff16565b925092509250909192565b60006118cc613db4565b905090565b6060808073__$b9040dea2fd9c47e6b7e0e916053de4d6b$__6325459925600f866118fa613909565b6040518463ffffffff1660e01b815260040180848152602001836001600160a01b03168152602001828152602001935050505060006040518083038186803b15801561194557600080fd5b505af4158015611959573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052606081101561198257600080fd5b8101908080516040519392919084600160201b8211156119a157600080fd5b9083019060208201858111156119b657600080fd5b82518660208202830111600160201b821117156119d257600080fd5b82525081516020918201928201910280838360005b838110156119ff5781810151838201526020016119e7565b5050505090500160405260200180516040519392919084600160201b821115611a2757600080fd5b908301906020820185811115611a3c57600080fd5b82518660208202830111600160201b82111715611a5857600080fd5b82525081516020918201928201910280838360005b83811015611a85578181015183820152602001611a6d565b5050505090500160405260200180516040519392919084600160201b821115611aad57600080fd5b908301906020820185811115611ac257600080fd5b82518660208202830111600160201b82111715611ade57600080fd5b82525081516020918201928201910280838360005b83811015611b0b578181015183820152602001611af3565b505050509050016040525050509250925092509193909250565b60055490565b611b336138aa565b6003805460ff191690556040805130815290517fa391f4e911c33688045cc1f43dc17c05924f79ad72a8cf5a58cf00c3acc9090e9181900360200190a1565b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e77195490565b60008054600160a81b900460ff16611bba576000546001600160a01b03166118cc565b73183faff6997c98a812a3b98748fc80241d08f3126001600160a01b031663732524946040518163ffffffff1660e01b815260040160206040518083038186803b158015611c0757600080fd5b505afa158015611c1b573d6000803e3d6000fd5b505050506040513d6020811015611c3157600080fd5b5051905090565b60408051630debfda360e41b8152336004820152905173183faff6997c98a812a3b98748fc80241d08f3129163debfda30916024808301926020929190829003018186803b158015611c8957600080fd5b505afa158015611c9d573d6000803e3d6000fd5b505050506040513d6020811015611cb357600080fd5b5051611cf6576040805162461bcd60e51b815260206004820152600d60248201526c37b7363c9032bc32b1baba37b960991b604482015290519081900360640190fd5b6001600160e01b0319811660009081526001602052604090208054611d62576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b8054421015611db8576040805162461bcd60e51b815260206004820152601960248201527f74696d656c6f636b3a206e6f7420616c6c6f7765642079657400000000000000604482015290519081900360640190fd5b6000816001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611e525780601f10611e2757610100808354040283529160200191611e52565b820191906000526020600020905b815481529060010190602001808311611e3557829003601f168201915b5050506001600160e01b0319861660009081526001602081905260408220828155949550909250611e8691508301826157b6565b50506000805460ff60b01b1916600160b01b178155604051825130918491819060208401908083835b60208310611ece5780518252601f199092019160209182019101611eaf565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611f30576040519150601f19603f3d011682016040523d82523d6000602084013e611f35565b606091505b50506000805460ff60b01b19169055604080516001600160e01b03198716815242602082015281519293507fa7326b57fc9cfe267aaea5e7f0b01757154d265620a0585819416ee9ddd2c438929081900390910190a1611f9481613dc5565b50505050565b73183faff6997c98a812a3b98748fc80241d08f31281565b60009182526007602090815260408084206001600160a01b0390931684529190529020546001600160801b0380821692600160801b9092041690565b611ff6613de2565b60006120028383613e35565b6015549091506120129082613724565b601555604080518581526020810183905281517f754fa5a3ace0438b80ec651f7d61e44f761a808ebd17d7ce70da619399611a08929181900390910190a150505050565b61205e6138aa565b6001600160e01b031981166000908152600160205260409020546120c9576040805162461bcd60e51b815260206004820152601a60248201527f74696d656c6f636b3a20696e76616c69642073656c6563746f72000000000000604482015290519081900360640190fd5b604080516001600160e01b03198316815242602082015281517f7735b2391c38a81419c513e30ca578db7158eadd7101511b23e221c654d19cf8929181900390910190a16001600160e01b03198116600090815260016020819052604082208281559190612139908301826157b6565b505050565b60006121518261214c613e52565b613e72565b92915050565b600160208181526000928352604092839020805481840180548651600296821615610100026000190190911695909504601f810185900485028601850190965285855290949193929091908301828280156121f35780601f106121c8576101008083540402835291602001916121f3565b820191906000526020600020905b8154815290600101906020018083116121d657829003601f168201915b5050505050905082565b60045481565b600054600160b01b900460ff16806122255750600054600160a81b900460ff16155b156122e85761223261394e565b6020546001600160a01b03161561227e576040805162461bcd60e51b815260206004820152600b60248201526a185b1c9958591e481cd95d60aa1b604482015290519081900360640190fd5b6001600160a01b0381166122c8576040805162461bcd60e51b815260206004820152600c60248201526b61646472657373207a65726f60a01b604482015290519081900360640190fd5b602080546001600160a01b0319166001600160a01b0383161790556122f3565b6122f3600036613983565b50565b601254601354601454601554601654601754601854601954601a54909192939495969798565b60008061232a858585613e95565b6000958652600a602090815260408088206001600160a01b039788168952825280882095909616875293909352505091205490916101009091046001600160801b031690565b612378613b13565b6002805414156123bd576040805162461bcd60e51b815260206004820152601f60248201526000805160206158d7833981519152604482015290519081900360640190fd5b600280556123c96136bd565b5060005b82811015612401576123f98484838181106123e457fe5b905060200201356001600160a01b0316613ed7565b6001016123cd565b50600061240c613909565b90506124188282613f23565b612459576040805162461bcd60e51b815260206004820152600d60248201526c6e6f7420636c61696d61626c6560981b604482015290519081900360640190fd5b601d546040805163712441d960e11b81523360048201818152602483019384526044830188905260009485946001600160a01b039091169363e24883b293928b928b92606401846020850280828437600081840152601f19601f82011690508083019250505094505050505060006040518083038186803b1580156124dd57600080fd5b505afa1580156124f1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561251a57600080fd5b8101908080516040519392919084600160201b82111561253957600080fd5b90830190602082018581111561254e57600080fd5b82518660208202830111600160201b8211171561256a57600080fd5b82525081516020918201928201910280838360005b8381101561259757818101518382015260200161257f565b50505050919091016040525060200151929450919250600091506125bb9050613e52565b905060005b868110156126f65760008888838181106125d657fe5b905060200201356001600160a01b0316905060008583815181106125f657fe5b60200260200101519050600061260e83838b88613f45565b9050816001600160a01b0316836001600160a01b0316146126375761263582838b88613f45565b015b60408051808201909152601881527f636c61696d656420616d6f756e7420746f6f20736d616c6c000000000000000060208201526126789082908890613fe9565b905080156126eb57601f546040805163b760faf960e01b81526001600160a01b0385811660048301529151919092169163b760faf991849160248082019260009290919082900301818588803b1580156126d157600080fd5b505af11580156126e5573d6000803e3d6000fd5b50505050505b5050506001016125c0565b5061270c336127058489614080565b60006140d9565b5050600160025550612139905061385e565b600081612729613db4565b111580156127455750600f5461274190611779613909565b8211155b61278d576040805162461bcd60e51b81526020600482015260146024820152730d2dcecc2d8d2c840e4caeec2e4c840cae0dec6d60631b604482015290519081900360640190fd5b612799600f84846141f4565b9392505050565b600054600160a01b900460ff16156127f6576040805162461bcd60e51b8152602060048201526014602482015273696e697469616c6973656420213d2066616c736560601b604482015290519081900360640190fd5b60008054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517f9789733827840833afc031fb2ef9ab6894271f77bad2085687cf4ae5c7bee4db916020908290030190a150565b601f546001600160a01b031681565b6060806060600080612878613909565b90506128848682613f23565b9150818061289e5750808614801561289e57506004548610155b156128c85760006128b188886000614287565b805160408201516060909201519097509095509350505b5092959194509250565b6128da613de2565b86158015906128e95750885115155b6128ef57fe5b6000838152600c6020526040812082905561290a8584613e35565b905060008a5167ffffffffffffffff8111801561292657600080fd5b50604051908082528060200260200182016040528015612950578160200160208202803683370190505b509050818160008151811061296157fe5b602002602001018181525050888a60008151811061297b57fe5b60209081029190910101528a51600019015b60008c828151811061299b57fe5b602002602001015190506129f58c83815181106129b457fe5b60200260200101518d6000815181106129c957fe5b6020026020010151856000815181106129de57fe5b602002602001015161484a9092919063ffffffff16565b838381518110612a0157fe5b60209081029190910181019190915260008881526007825260408082206001600160a01b0385168352909252208351612a4d90859085908110612a4057fe5b602002602001015161494a565b81546001600160801b031981166001600160801b039182169290920116178155601f5460408051631257fcdb60e31b81526001600160a01b038581166004830152602482018a9052915160009392909216916392bfe6d891604480820192602092909190829003018186803b158015612ac557600080fd5b505afa158015612ad9573d6000803e3d6000fd5b505050506040513d6020811015612aef57600080fd5b50519050612b07612b0282612710614080565b61494a565b82546001600160801b03918216600160801b0291161782558451859085908110612b2d57fe5b60209081029190910181015160008b81526009835260408082206001600160a01b03881680845290855281832080549094019093558c82526008845280822092825291909252902054612ba05760008981526008602090815260408083206001600160a01b038716845290915290208190555b83612bad57505050612c1f565b848481518110612bb957fe5b602002602001015185600081518110612bce57fe5b6020026020010181815103915081815250508d8481518110612bec57fe5b60200260200101518e600081518110612c0157fe5b6020908102919091010180519190910390525050506000190161298d565b6000868152600d60205260409020805484019055601254612c409084613724565b601281905550876001600160a01b03167f8b2bc56c62594afde5b520e83e1ca19ebd071798db21382e328014f47b31ce578a8e85604051808481526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015612cbe578181015183820152602001612ca6565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015612cfd578181015183820152602001612ce5565b505050509050019550505050505060405180910390a2505050505050505050505050565b612d29611b72565b6001600160a01b0316336001600160a01b031614612d85576040805162461bcd60e51b815260206004820152601460248201527337b7363c9030b2323932b9b9903ab83230ba32b960611b604482015290519081900360640190fd5b612dbe612db983836040518060400160405280600e81526020016d20b2323932b9b9aab83230ba32b960911b81525061498e565b614ab2565b612dc88282614ad6565b5050565b6000612dd6613b13565b600280541415612e1b576040805162461bcd60e51b815260206004820152601f60248201526000805160206158d7833981519152604482015290519081900360640190fd5b600280556000805b83811015612e6357848482818110612e3757fe5b90506020020135821015612e5b57848482818110612e5157fe5b9050602002013591505b600101612e23565b50612e713386836000614c21565b60016002559150612799905061385e565b6000612e8c613b13565b600280541415612ed1576040805162461bcd60e51b815260206004820152601f60248201526000805160206158d7833981519152604482015290519081900360640190fd5b600280558484612ee18282613b6a565b612eed87878787614c21565b60016002559250612f00915061385e9050565b949350505050565b60105490565b6060600080612f1b6135fd565b909250905060018282030160008167ffffffffffffffff81118015612f3f57600080fd5b50604051908082528060200260200182016040528015612f69578160200160208202803683370190505b5090506000805b83811015613016576000612f88898389016001614287565b905060005b81606001515181101561300c5781606001518181518110612faa57fe5b6020026020010151158015612fd65750600082604001518281518110612fcc57fe5b6020026020010151115b15613004576001858481518110612fe957fe5b9115156020928302919091019091015260019093019261300c565b600101612f8d565b5050600101612f70565b508067ffffffffffffffff8111801561302e57600080fd5b50604051908082528060200260200182016040528015613058578160200160208202803683370190505b5095506000805b848110156130a95783818151811061307357fe5b6020026020010151156130a15780870188838151811061308f57fe5b60209081029190910101526001909101905b60010161305f565b50505050505050919050565b601d546001600160a01b031681565b6000612151826130d2613909565b600f91906141f4565b60006130e5613b13565b60028054141561312a576040805162461bcd60e51b815260206004820152601f60248201526000805160206158d7833981519152604482015290519081900360640190fd5b6002805561313e3387878787876000613bf7565b6001600255905061314d61385e565b95945050505050565b6000908152600d6020908152604080832054600e909252909120549091565b601c546001600160a01b031633148061319857506020546001600160a01b031633145b6131d9576040805162461bcd60e51b815260206004820152600d60248201526c6f6e6c79206d616e616765727360981b604482015290519081900360640190fd5b8060055414613220576040805162461bcd60e51b815260206004820152600e60248201526d1ddc9bdb99c8195c1bd8da081a5960921b604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161580159061325c575060065460320181105b156132e0577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d6c1dbee826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156132c757600080fd5b505af11580156132db573d6000803e3d6000fd5b505050505b6000818152600e6020908152604080832054600d909252909120546014549190039061330c9082613724565b6014556040805183815290517f5d05c64f281304391697cf987812e1a736413a062a9bdf39af4102209eb6fa589181900360200190a150600101600555565b600054600160a81b900460ff1681565b61336361366d565b601a8190556017546133759082613724565b601755426019556040805182815290517f187f32a0f765499f15b3bb52ed0aebf6015059f230f2ace7e701e60a476695959181900360200190a150565b6060806000806133c0613909565b90506133cc8782613f23565b915081806133e6575080871480156133e657506004548710155b1561340d5760006133fb898989896000614c9e565b90508060400151945080606001519350505b509450945094915050565b60006118cc613909565b61342a6138aa565b60001960045414613474576040805162461bcd60e51b815260206004820152600f60248201526e185b1c9958591e48195b98589b1959608a1b604482015290519081900360640190fd5b61347c613909565b600481905560408051918252517f1cfb844c44f9325fc9ad6cc6191a4a24b0415137fe300b6c9071523a253f7a089181900360200190a1565b60008281526009602090815260408083206001600160a01b03909416808452938252808320549483526008825280832093835292905220549091565b601e546001600160a01b031690565b60006121518261507a565b6135136138aa565b600054600160a81b900460ff1615613572576040805162461bcd60e51b815260206004820152601a60248201527f616c726561647920696e2070726f64756374696f6e206d6f6465000000000000604482015290519081900360640190fd5b60008054600161ff0160a01b031916600160a81b1790556040805173183faff6997c98a812a3b98748fc80241d08f312815290517f83af113638b5422f9e977cebc0aaf0eaf2188eb9a8baae7f9d46c42b33a1560c9181900360200190a1565b604080518082019091526011815270233a39b7a932bbb0b93226b0b730b3b2b960791b602082015290565b60055460008061360b613909565b905060008111613662576040805162461bcd60e51b815260206004820152601f60248201527f6e6f2065706f6368207769746820636c61696d61626c65207265776172647300604482015290519081900360640190fd5b600181039150509091565b601e546001600160a01b031633146114b4576040805162461bcd60e51b815260206004820152600e60248201526d696e666c6174696f6e206f6e6c7960901b604482015290519081900360640190fd5b601b546000906136cd9034613724565b905047818111156137165761dead6108fc6136e8838561510c565b6040518115909202916000818181858888f19350505050158015613710573d6000803e3d6000fd5b50613720565b8181101561372057fe5b5090565b600082820183811015612799576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006137a360165461379d60145460155461372490919063ffffffff16565b9061510c565b905080156122f35760006137ba476014606461484a565b90506000818311156137cd5750806137d0565b50815b8015612139576016546137e39082613724565b601655601b546137f3908261510c565b601b5560405161dead9082156108fc029083906000818181858888f19350505050158015613825573d6000803e3d6000fd5b506040805182815290517f44d5cd18c37b86a3423952287006d9550ab3cff404d6e899d5499d9ef87100b59181900360200190a1505050565b613866615169565b47146114b4576040805162461bcd60e51b815260206004820152600e60248201526d6f7574206f662062616c616e636560901b604482015290519081900360640190fd5b6138b2611b97565b6001600160a01b0316336001600160a01b0316146114b4576040805162461bcd60e51b815260206004820152600f60248201526e6f6e6c7920676f7665726e616e636560881b604482015290519081900360640190fd5b601c54604080516339f20c3560e21b815290516000926001600160a01b03169163e7c830d4916004808301926020929190829003018186803b158015611c0757600080fd5b600054600160b01b900460ff161561397b5733301461396957fe5b6000805460ff60b01b191690556114b4565b6114b46138aa565b61398b6138aa565b600082359050600073183faff6997c98a812a3b98748fc80241d08f3126001600160a01b0316636221a54b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156139e057600080fd5b505afa1580156139f4573d6000803e3d6000fd5b505050506040513d6020811015613a0a57600080fd5b505160408051808201825242830180825282516020601f89018190048102820181019094528781529394509290918281019190889088908190840183828082843760009201829052509390945250506001600160e01b03198616815260016020818152604090922084518155848301518051919450613a8e939285019201906157fa565b509050507fed948300a3694aa01d4a6b258bfd664350193d770c0b51f8387277f6d83ea3b68382878760405180856001600160e01b0319168152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b60035460ff166114b4576040805162461bcd60e51b815260206004820152601a60248201527f726577617264206d616e61676572206465616374697661746564000000000000604482015290519081900360640190fd5b336001600160a01b0383161415613b8057612dc8565b601d546040805163ce2caa5760e01b81523360048201526001600160a01b03858116602483015284811660448301529151919092169163ce2caa57916064808301926000929190829003018186803b158015613bdb57600080fd5b505afa158015613bef573d6000803e3d6000fd5b505050505050565b6000613c0287613ed7565b613c0a6136bd565b506002601f546040805163f683776760e01b81526001600160a01b038c811660048301529151919092169163f6837767916024808301926020929190829003018186803b158015613c5a57600080fd5b505afa158015613c6e573d6000803e3d6000fd5b505050506040513d6020811015613c8457600080fd5b505114613cd8576040805162461bcd60e51b815260206004820152601860248201527f6578706c696369742064656c65676174696f6e206f6e6c790000000000000000604482015290519081900360640190fd5b6000613ce2613909565b905060005b86811015613d9c57613d0b888883818110613cfe57fe5b9050602002013583613f23565b613d1457613d94565b6000613d368b8a8a85818110613d2657fe5b9050602002013589896001614c9e565b90506000613d5a8c8c8c8c87818110613d4b57fe5b90506020020135856001615188565b905080600e60008c8c87818110613d6d57fe5b60209081029290920135835250810191909152604001600020805490910190559390930192505b600101613ce7565b50613da88883856140d9565b50979650505050505050565b600654600090612151906001615400565b3d604051818101604052816000823e8215613dde578181f35b8181fd5b601c546001600160a01b031633146114b4576040805162461bcd60e51b81526020600482015260116024820152706674736f206d616e61676572206f6e6c7960781b604482015290519081900360640190fd5b6000612799613e448385615426565b613e4c6154a5565b906154c4565b60006118cc600454613e6d613e65613db4565b60055461552b565b61552b565b6001600160a01b0382166000908152600b6020526040812054612799908361552b565b6000838152600a602090815260408083206001600160a01b038087168552908352818420908516845290915281205460ff1680612f005750612f008483615542565b6001600160a01b0381166122f3576040805162461bcd60e51b815260206004820152600e60248201526d726563697069656e74207a65726f60901b604482015290519081900360640190fd5b60006004548310158015613f3957506005548310155b80156127995750501190565b600080613f528684613e72565b90505b838111613f9f576000613f6a87836001614287565b90506000613f7c888885856000615188565b6000848152600e6020526040902080548201905593909301925050600101613f55565b506001600160a01b0385166000908152600b6020526040902054600184011115612f00576001600160a01b0385166000908152600b60205260409020600184019055949350505050565b600081848411156140785760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561403d578181015183820152602001614025565b50505050905090810190601f16801561406a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008261408f57506000612151565b8282028284828161409c57fe5b04146127995760405162461bcd60e51b815260040180806020018281038252602181526020018061591e6021913960400191505060405180910390fd5b81156141eb57801561415457601f546040805163b760faf960e01b81526001600160a01b0386811660048301529151919092169163b760faf991859160248082019260009290919082900301818588803b15801561413657600080fd5b505af115801561414a573d6000803e3d6000fd5b50505050506141eb565b6040516000906001600160a01b0385169084908381818185875af1925050503d806000811461419f576040519150601f19603f3d011682016040523d82523d6000602084013e6141a4565b606091505b50509050806141e9576040805162461bcd60e51b815260206004820152600c60248201526b18db185a5b4819985a5b195960a21b604482015290519081900360640190fd5b505b505047601b5550565b6001600160a01b0382166000908152600284016020526040812080545b80156142785781546000199091019082908290811061422c57fe5b6000918252602090912001546201000090046001600160f01b031684106142735781818154811061425957fe5b60009182526020909120015461ffff169250612799915050565b614211565b50505060018301549392505050565b61428f615882565b600061429a8461507a565b90506000806142a76158aa565b6142b18789615542565b156142bf5750505050612799565b60008781526009602090815260408083206001600160a01b038c1684529091529020541515806142ed575085155b1561431f576142fd88888661555e565b915061430a8789846156d4565b6001600160801b031660208201819052151592505b601f546040805163ed475a7960e01b81526001600160a01b038b811660048301526024820188905291516060938493169163ed475a79916044808301926000929190829003018186803b15801561437557600080fd5b505afa158015614389573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260808110156143b257600080fd5b8101908080516040519392919084600160201b8211156143d157600080fd5b9083019060208201858111156143e657600080fd5b82518660208202830111600160201b8211171561440257600080fd5b82525081516020918201928201910280838360005b8381101561442f578181015183820152602001614417565b5050505090500160405260200180516040519392919084600160201b82111561445757600080fd5b90830190602082018581111561446c57600080fd5b82518660208202830111600160201b8211171561448857600080fd5b82525081516020918201928201910280838360005b838110156144b557818101518382015260200161449d565b5050505091909101604052505083519395509193508791506144da90505760006144dd565b60015b60ff160167ffffffffffffffff811180156144f757600080fd5b50604051908082528060200260200182016040528015614521578160200160208202803683370190505b508088525167ffffffffffffffff8111801561453c57600080fd5b50604051908082528060200260200182016040528015614566578160200160208202803683370190505b50602088015286515167ffffffffffffffff8111801561458557600080fd5b506040519080825280602002602001820160405280156145af578160200160208202803683370190505b50604088015286515167ffffffffffffffff811180156145ce57600080fd5b506040519080825280602002602001820160405280156145f8578160200160208202803683370190505b50606088015284156146805789876000015160008151811061461657fe5b60200260200101906001600160a01b031690816001600160a01b03168152505083876020015160008151811061464857fe5b60200260200101818152505082602001516001600160801b0316876040015160008151811061467357fe5b6020026020010181815250505b81511561483d57601f546040805163277166bf60e11b81526001600160a01b038d81166004830152602482018a905291516000939290921691634ee2cd7e91604480820192602092909190829003018186803b1580156146df57600080fd5b505afa1580156146f3573d6000803e3d6000fd5b505050506040513d602081101561470957600080fd5b5051905060005b835181101561483a576000818861472857600061472b565b60015b60ff1601905084828151811061473d57fe5b60200260200101518a60000151828151811061475557fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506147bc85838151811061478457fe5b60200260200101516147b686858151811061479b57fe5b60200260200101516127108761484a9092919063ffffffff16565b8e615771565b8a6020015182815181106147cc57fe5b60200260200101818152505061480d8c8684815181106147e857fe5b60200260200101518c60200151848151811061480057fe5b60200260200101516156d4565b6001600160801b03168a60400151828151811061482657fe5b602090810291909101015250600101614710565b50505b5050505050509392505050565b6000808211614893576040805162461bcd60e51b815260206004820152601060248201526f4469766973696f6e206279207a65726f60801b604482015290519081900360640190fd5b836148a057506000612799565b838302838582816148ad57fe5b0414156148c6578281816148bd57fe5b04915050612799565b60008386816148d157fe5b04905060008487816148df57fe5b06905060008587816148ed57fe5b04905060008688816148fb57fe5b06905061493d61490f88613e4c8685614080565b61177961491c8686614080565b6117796149298987614080565b6117798d6149378c8b614080565b90614080565b9998505050505050505050565b6000600160801b82106137205760405162461bcd60e51b81526004018080602001828103825260278152602001806158f76027913960400191505060405180910390fd5b600080826040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156149d25781810151838201526020016149ba565b50505050905090810190601f1680156149ff5780820380516001836020036101000a031916815260200191505b50925050506040516020818303038152906040528051906020012090506000805b8651811015614a6757868181518110614a3557fe5b6020026020010151831415614a5f57858181518110614a5057fe5b60200260200101519150614a67565b600101614a20565b506001600160a01b03811661314d576040805162461bcd60e51b815260206004820152600c60248201526b61646472657373207a65726f60a01b604482015290519081900360640190fd5b7f714f205b2abd25bef1d06a1af944e38c113fe6160375c4e1d6d5cf28848e771955565b614b0282826040518060400160405280600981526020016824b7333630ba34b7b760b91b81525061498e565b601e60006101000a8154816001600160a01b0302191690836001600160a01b03160217905550614b5682826040518060400160405280600b81526020016a233a39b7a6b0b730b3b2b960a91b81525061498e565b601c60006101000a8154816001600160a01b0302191690836001600160a01b03160217905550614ba382826040518060400160405280600481526020016315d3985d60e21b81525061498e565b601f60006101000a8154816001600160a01b0302191690836001600160a01b03160217905550614bfd82826040518060400160405280601181526020017021b630b4b6a9b2ba3ab826b0b730b3b2b960791b81525061498e565b601d80546001600160a01b0319166001600160a01b03929092169190911790555050565b6000614c2c84613ed7565b614c346136bd565b506000614c3f613909565b9050808410158015614c515750600081115b15614c5d576001810393505b614c678482613f23565b614c75576000915050612f00565b614c88868686614c83613e52565b613f45565b9150614c958583856140d9565b50949350505050565b614ca6615882565b6000614cb18661507a565b6040805160208088028281018201909352878252929350869290918891849182918501908490808284376000920191909152505050908452508067ffffffffffffffff81118015614d0157600080fd5b50604051908082528060200260200182016040528015614d2b578160200160208202803683370190505b5060208401528067ffffffffffffffff81118015614d4857600080fd5b50604051908082528060200260200182016040528015614d72578160200160208202803683370190505b5060408401528067ffffffffffffffff81118015614d8f57600080fd5b50604051908082528060200260200182016040528015614db9578160200160208202803683370190505b50606084015260005b8181101561506e57614df088888884818110614dda57fe5b905060200201356001600160a01b03168b613e95565b84606001518281518110614e0057fe5b60200260200101901515908115158152505083606001518181518110614e2257fe5b602002602001015115614eb75784614eb2576000888152600a6020526040812090888884818110614e4f57fe5b602090810292909201356001600160a01b039081168452838301949094525060409182016000908120938d16815292905290819020549085015180516101009092046001600160801b03169183908110614ea557fe5b6020026020010181815250505b615066565b886001600160a01b0316878783818110614ecd57fe5b905060200201356001600160a01b03166001600160a01b03161415614f1857614ef789898561555e565b84602001518281518110614f0757fe5b602002602001018181525050615010565b601f546000906001600160a01b031663e64767aa8b8a8a86818110614f3957fe5b905060200201356001600160a01b0316876040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b03168152602001828152602001935050505060206040518083038186803b158015614f9e57600080fd5b505afa158015614fb2573d6000803e3d6000fd5b505050506040513d6020811015614fc857600080fd5b50519050614ff2888884818110614fdb57fe5b905060200201356001600160a01b0316828b615771565b8560200151838151811061500257fe5b602002602001018181525050505b6150408888888481811061502057fe5b905060200201356001600160a01b03168660200151848151811061480057fe5b6001600160801b03168460400151828151811061505957fe5b6020026020010181815250505b600101614dc2565b50505095945050505050565b6000818152600c60205260409020548061169a57601c5460408051637976d5ad60e11b81526004810185905290516001600160a01b039092169163f2edab5a91602480820192602092909190829003018186803b1580156150da57600080fd5b505afa1580156150ee573d6000803e3d6000fd5b505050506040513d602081101561510457600080fd5b505192915050565b600082821115615163576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006118cc60165461379d60135460185461510c90919063ffffffff16565b600080805b8451518110156153f557846060015181815181106151a757fe5b6020026020010151156151b9576153ed565b6000856000015182815181106151cb57fe5b60209081029190910181015160008981526007835260408082206001600160a01b038416835284528120928901518051929450909161520f919086908110612a4057fe5b90506001600160801b038116156152405781546001600160801b03600160801b808304821684900382160291161782555b600061525589604001518681518110612a4057fe5b90506001600160801b038116156152985782546001600160801b031981166001600160801b03918216839003821617845560138054918316918201905595909501945b8715615382576000600a60008c81526020019081526020016000206000866001600160a01b03166001600160a01b0316815260200190815260200160002060008e6001600160a01b03166001600160a01b0316815260200190815260200160002090508060000160009054906101000a900460ff1615615351576040805162461bcd60e51b815260206004820152600f60248201526e185b1c9958591e4818db185a5b5959608a1b604482015290519081900360640190fd5b8054600160ff199091161770ffffffffffffffffffffffffffffffff0019166101006001600160801b038416021790555b8a6001600160a01b03168c6001600160a01b0316856001600160a01b03167f6ec685171a9028d19dc155a48e7824e3c68b03bc8995410e006abe3cbbeb3e2d8d8560405180838152602001826001600160801b031681526020019250505060405180910390a4505050505b60010161518d565b509695505050505050565b600080838311156154165750600090508061541f565b50600190508183035b9250929050565b6000806154416201517f60195461372490919063ffffffff16565b90508084111561548c576040805162461bcd60e51b81526020600482015260116024820152706166746572206461696c79206379636c6560781b604482015290519081900360640190fd5b61549a83613e4c838761510c565b600101949350505050565b60006118cc60155461379d60125460175461510c90919063ffffffff16565b600080821161551a576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161552357fe5b049392505050565b60008183101561553b5781612799565b5090919050565b6001600160a01b03166000908152600b60205260409020541190565b601f5460408051634181ad4160e11b81526001600160a01b038681166004830152602482018590529151600093849316916383035a82916044808301926020929190829003018186803b1580156155b457600080fd5b505afa1580156155c8573d6000803e3d6000fd5b505050506040513d60208110156155de57600080fd5b5051601f5460408051631257fcdb60e31b81526001600160a01b03898116600483015260248201889052915193945060009391909216916392bfe6d8916044808301926020929190829003018186803b15801561563a57600080fd5b505afa15801561564e573d6000803e3d6000fd5b505050506040513d602081101561566457600080fd5b50519050818114156156855761567c81612710614080565b92505050612799565b81811161568e57fe5b600082156156a4576156a283612710614080565b015b60006156b2600f89896141f4565b905080156153f5576156c684840382614080565b909101979650505050505050565b6000816156e357506000612799565b60008481526007602090815260408083206001600160a01b0387168452909152902080546001600160801b03168061572057600092505050612799565b8154600160801b90046001600160801b031684811415615744575091506127999050565b806001600160801b0316851061575657fe5b61188c612b026001600160801b03848116908890851661484a565b60008261578057506000612799565b60008061578f600f87866141f4565b9050612710811015614c95576157aa85612710839003614080565b90910195945050505050565b50805460018160011615610100020316600290046000825580601f106157dc57506122f3565b601f0160209004906000526020600020908101906122f391906158c1565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826158305760008555615876565b82601f1061584957805160ff1916838001178555615876565b82800160010185558215615876579182015b8281111561587657825182559160200191906001019061585b565b506137209291506158c1565b6040518060800160405280606081526020016060815260200160608152602001606081525090565b604080518082019091526000808252602082015290565b5b8082111561372057600081556001016158c256fe5265656e7472616e637947756172643a207265656e7472616e742063616c6c0053616665436173743a2076616c756520646f65736e27742066697420696e203132382062697473536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220ee3059e63e6c3a94012049fcb62f642ee29786a0e8040678dbc0fbd25d1bf8fe64736f6c63430007060033",
|
|
1384
1384
|
"linkReferences": {
|
|
1385
1385
|
"contracts/tokenPools/lib/DataProviderFee.sol": {
|
|
1386
1386
|
"DataProviderFee": [
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_format": "hh-sol-artifact-1",
|
|
3
|
+
"contractName": "InflationReceiver",
|
|
4
|
+
"sourceName": "contracts/tokenPools/implementation/InflationReceiver.sol",
|
|
5
|
+
"abi": [
|
|
6
|
+
{
|
|
7
|
+
"anonymous": false,
|
|
8
|
+
"inputs": [
|
|
9
|
+
{
|
|
10
|
+
"indexed": false,
|
|
11
|
+
"internalType": "uint256",
|
|
12
|
+
"name": "authorizedAmountWei",
|
|
13
|
+
"type": "uint256"
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
"name": "DailyAuthorizedInflationSet",
|
|
17
|
+
"type": "event"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"anonymous": false,
|
|
21
|
+
"inputs": [
|
|
22
|
+
{
|
|
23
|
+
"indexed": false,
|
|
24
|
+
"internalType": "uint256",
|
|
25
|
+
"name": "amountReceivedWei",
|
|
26
|
+
"type": "uint256"
|
|
27
|
+
}
|
|
28
|
+
],
|
|
29
|
+
"name": "InflationReceived",
|
|
30
|
+
"type": "event"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"inputs": [],
|
|
34
|
+
"name": "getAddressUpdater",
|
|
35
|
+
"outputs": [
|
|
36
|
+
{
|
|
37
|
+
"internalType": "address",
|
|
38
|
+
"name": "_addressUpdater",
|
|
39
|
+
"type": "address"
|
|
40
|
+
}
|
|
41
|
+
],
|
|
42
|
+
"stateMutability": "view",
|
|
43
|
+
"type": "function"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"inputs": [],
|
|
47
|
+
"name": "getContractName",
|
|
48
|
+
"outputs": [
|
|
49
|
+
{
|
|
50
|
+
"internalType": "string",
|
|
51
|
+
"name": "",
|
|
52
|
+
"type": "string"
|
|
53
|
+
}
|
|
54
|
+
],
|
|
55
|
+
"stateMutability": "view",
|
|
56
|
+
"type": "function"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"inputs": [],
|
|
60
|
+
"name": "getExpectedBalance",
|
|
61
|
+
"outputs": [
|
|
62
|
+
{
|
|
63
|
+
"internalType": "uint256",
|
|
64
|
+
"name": "",
|
|
65
|
+
"type": "uint256"
|
|
66
|
+
}
|
|
67
|
+
],
|
|
68
|
+
"stateMutability": "view",
|
|
69
|
+
"type": "function"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"inputs": [],
|
|
73
|
+
"name": "getInflationAddress",
|
|
74
|
+
"outputs": [
|
|
75
|
+
{
|
|
76
|
+
"internalType": "address",
|
|
77
|
+
"name": "",
|
|
78
|
+
"type": "address"
|
|
79
|
+
}
|
|
80
|
+
],
|
|
81
|
+
"stateMutability": "view",
|
|
82
|
+
"type": "function"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"inputs": [],
|
|
86
|
+
"name": "receiveInflation",
|
|
87
|
+
"outputs": [],
|
|
88
|
+
"stateMutability": "payable",
|
|
89
|
+
"type": "function"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"inputs": [
|
|
93
|
+
{
|
|
94
|
+
"internalType": "uint256",
|
|
95
|
+
"name": "_toAuthorizeWei",
|
|
96
|
+
"type": "uint256"
|
|
97
|
+
}
|
|
98
|
+
],
|
|
99
|
+
"name": "setDailyAuthorizedInflation",
|
|
100
|
+
"outputs": [],
|
|
101
|
+
"stateMutability": "nonpayable",
|
|
102
|
+
"type": "function"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"inputs": [
|
|
106
|
+
{
|
|
107
|
+
"internalType": "bytes32[]",
|
|
108
|
+
"name": "_contractNameHashes",
|
|
109
|
+
"type": "bytes32[]"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"internalType": "address[]",
|
|
113
|
+
"name": "_contractAddresses",
|
|
114
|
+
"type": "address[]"
|
|
115
|
+
}
|
|
116
|
+
],
|
|
117
|
+
"name": "updateContractAddresses",
|
|
118
|
+
"outputs": [],
|
|
119
|
+
"stateMutability": "nonpayable",
|
|
120
|
+
"type": "function"
|
|
121
|
+
}
|
|
122
|
+
],
|
|
123
|
+
"bytecode": "0x",
|
|
124
|
+
"deployedBytecode": "0x",
|
|
125
|
+
"linkReferences": {},
|
|
126
|
+
"deployedLinkReferences": {}
|
|
127
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_format": "hh-sol-artifact-1",
|
|
3
|
+
"contractName": "TokenPoolBase",
|
|
4
|
+
"sourceName": "contracts/tokenPools/implementation/TokenPoolBase.sol",
|
|
5
|
+
"abi": [],
|
|
6
|
+
"bytecode": "0x",
|
|
7
|
+
"deployedBytecode": "0x",
|
|
8
|
+
"linkReferences": {},
|
|
9
|
+
"deployedLinkReferences": {}
|
|
10
|
+
}
|
|
@@ -520,6 +520,19 @@
|
|
|
520
520
|
"stateMutability": "view",
|
|
521
521
|
"type": "function"
|
|
522
522
|
},
|
|
523
|
+
{
|
|
524
|
+
"inputs": [],
|
|
525
|
+
"name": "getContractName",
|
|
526
|
+
"outputs": [
|
|
527
|
+
{
|
|
528
|
+
"internalType": "string",
|
|
529
|
+
"name": "",
|
|
530
|
+
"type": "string"
|
|
531
|
+
}
|
|
532
|
+
],
|
|
533
|
+
"stateMutability": "view",
|
|
534
|
+
"type": "function"
|
|
535
|
+
},
|
|
523
536
|
{
|
|
524
537
|
"inputs": [],
|
|
525
538
|
"name": "getCurrentRewardEpoch",
|