0 txs
0 calls
constructor
No constructor.
functions
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
DENOMINATOR
viewfunction DENOMINATOR() view returns (uint256)
earned
viewfunction earned(address _account, address _rewardToken) view returns (uint256)
feeCollector
viewfunction feeCollector() view returns (address)
getPoolsLength
viewfunction getPoolsLength() view returns (uint256)
getRewardTokens
viewfunction getRewardTokens() view returns (address[])
isVotePool
viewfunction isVotePool(address) view returns (bool)
keeper
viewfunction keeper() view returns (address)
lastHarvest
viewfunction lastHarvest() view returns (uint256)
nativeZapper
viewfunction nativeZapper() view returns (address)
owner
viewfunction owner() view returns (address)
protocolFee
viewfunction protocolFee() view returns (uint256)
quo
viewfunction quo() view returns (address)
rewardPool
viewfunction rewardPool() view returns (address)
totalSupply
viewfunction totalSupply() view returns (uint256)
totalWeight
viewfunction totalWeight() view returns (uint256)
votePools
viewfunction votePools(uint256) view returns (address)
voterProxy
viewfunction voterProxy() view returns (address)
votingWeights
viewfunction votingWeights(address) view returns (uint256)
deletePool
nonpayablefunction deletePool(address _lp)
getReward
nonpayablefunction getReward()
harvestManually
nonpayablefunction harvestManually(uint256 _epoch) returns (address[] _pools, address[][] rewardTokensList, uint256[][] earnedRewards)
initialize
nonpayablefunction initialize()
renounceOwnership
nonpayablefunction renounceOwnership()
resetDelegateVoteByOwner
nonpayablefunction resetDelegateVoteByOwner(address[] _users)
setKeeper
nonpayablefunction setKeeper(address _keeper)
setParams
nonpayablefunction setParams(address _quo, address _thenaVoterProxy, address _rewardPool, address _nativeZapper, address _feeCollector)
setProtocolFee
nonpayablefunction setProtocolFee(uint256 _protocolFee)
setRewardPool
nonpayablefunction setRewardPool(address _rewardPool)
stakeFor
nonpayablefunction stakeFor(address _for, uint256 _amount)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateVote
nonpayablefunction updateVote()
updateWeight
nonpayablefunction updateWeight(address _lp, uint256 _weight)
updateWeights
nonpayablefunction updateWeights(address[] _lps, uint256[] _weights)
withdrawFor
nonpayablefunction withdrawFor(address _for, uint256 _amount)
events
KeeperUpdated
event KeeperUpdated(address _keeper)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
PoolDeleted
event PoolDeleted(address _lp)
QuoHarvested
event QuoHarvested(uint256 _amount, uint256 _fee)
RewardHarvested
event RewardHarvested(address rewardToken, uint256 earnedReward, uint256 fee)
WeightUpdate
event WeightUpdate(address _lp, uint256 _weight)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b50613c0d806100206000396000f3fe6080604052600436106102085760003560e01c80638129fc1c11610118578063b0e21e8a116100a0578063ce883cdb1161006f578063ce883cdb14610572578063db518db214610587578063e789b148146105a7578063f1a392da146105c7578063f2fde38b146105dc5761020f565b8063b0e21e8a14610506578063baa53e971461051b578063c415b95c1461053b578063c4f59f9b146105505761020f565b8063918f8674116100e7578063918f86741461048757806396c82e571461049c5780639776e94b146104b157806397b0f205146104d1578063aced1661146104f15761020f565b80638129fc1c14610419578063829f6fec1461042e5780638310a9a91461045d5780638da5cb5b146104725761020f565b8063493da7531161019b578063715018a61161016a578063715018a614610384578063748747e61461039957806374c5ad4f146103b957806378238c37146103d9578063787dce3d146103f95761020f565b8063493da7531461031a578063594aa9671461033a57806366666aa91461034f57806370a08231146103645761020f565b80632ea8f114116101d75780632ea8f114146102985780632ee40908146102b85780633d18b912146102d85780633edcd7bc146102ed5761020f565b80630e82e52a1461021457806318160ddd1461022b5780631ba980b314610256578063211dc32d146102785761020f565b3661020f57005b600080fd5b34801561022057600080fd5b506102296105fc565b005b34801561023757600080fd5b50610240610a47565b60405161024d9190613b0f565b60405180910390f35b34801561026257600080fd5b5061026b610ac9565b60405161024d919061344f565b34801561028457600080fd5b50610240610293366004613031565b610ad8565b3480156102a457600080fd5b506102296102b3366004613104565b610b64565b3480156102c457600080fd5b506102296102d33660046130d9565b610c58565b3480156102e457600080fd5b506102296110fa565b3480156102f957600080fd5b5061030d610308366004612ff9565b61115e565b60405161024d91906135f3565b34801561032657600080fd5b50610240610335366004612ff9565b611173565b34801561034657600080fd5b5061026b611185565b34801561035b57600080fd5b5061026b611194565b34801561037057600080fd5b5061024061037f366004612ff9565b6111a3565b34801561039057600080fd5b50610229611224565b3480156103a557600080fd5b506102296103b4366004612ff9565b6112a3565b3480156103c557600080fd5b506102296103d4366004613278565b61132e565b3480156103e557600080fd5b506102296103f4366004612ff9565b6113ec565b34801561040557600080fd5b5061022961041436600461338e565b611469565b34801561042557600080fd5b506102296114a3565b34801561043a57600080fd5b5061044e61044936600461338e565b61152d565b60405161024d939291906134ca565b34801561046957600080fd5b5061026b61180b565b34801561047e57600080fd5b5061026b61181a565b34801561049357600080fd5b50610240611829565b3480156104a857600080fd5b5061024061182f565b3480156104bd57600080fd5b506102296104cc3660046130d9565b611835565b3480156104dd57600080fd5b506102296104ec366004612ff9565b61188c565b3480156104fd57600080fd5b5061026b611b3f565b34801561051257600080fd5b50610240611b4e565b34801561052757600080fd5b5061026b61053636600461338e565b611b54565b34801561054757600080fd5b5061026b611b7b565b34801561055c57600080fd5b50610565611b8a565b60405161024d91906134b7565b34801561057e57600080fd5b50610240611c0b565b34801561059357600080fd5b506102296105a23660046130d9565b611c11565b3480156105b357600080fd5b506102296105c2366004613069565b612074565b3480156105d357600080fd5b506102406121d3565b3480156105e857600080fd5b506102296105f7366004612ff9565b6121d9565b60675460408051635cbeecf160e11b815290516000926001600160a01b03169163b97dd9e2916004808301926020929190829003018186803b15801561064157600080fd5b505afa158015610655573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067991906133a6565b905062093a80606e54820310610a0957606754604051632a923f8b60e11b81526060916001600160a01b0316906355247f16906106ba90309060040161344f565b60006040518083038186803b1580156106d257600080fd5b505afa1580156106e6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261070e919081019061333b565b905060005b8151811015610a01576067548251606091829182916001600160a01b03169063580da7089087908790811061074457fe5b6020026020010151306040518363ffffffff1660e01b815260040161076a929190613b18565b60006040518083038186803b15801561078257600080fd5b505afa158015610796573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107be91908101906131a6565b606754885193965091945092506001600160a01b031690636930fd2a908790879081106107e757fe5b60200260200101516040518263ffffffff1660e01b815260040161080b9190613b0f565b600060405180830381600087803b15801561082557600080fd5b505af1158015610839573d6000803e3d6000fd5b5050505060005b82518110156109f15760005b83828151811061085857fe5b6020026020010151518110156109e857600084838151811061087657fe5b6020026020010151828151811061088957fe5b6020026020010151905060008484815181106108a157fe5b602002602001015183815181106108b457fe5b6020026020010151905060008111156109de57600080606d541180156108e457506068546001600160a01b031615155b156109275761090a61271061090484606d5461229090919063ffffffff16565b906122ca565b606854909150610927906001600160a01b0385811691168361230c565b6000610933838361233d565b606a5490915061094e9085906001600160a01b03168361237f565b606a546040516304d0c2c560e01b81526001600160a01b03909116906304d0c2c590610980908790859060040161347d565b600060405180830381600087803b15801561099a57600080fd5b505af11580156109ae573d6000803e3d6000fd5b50505050600080516020613bb88339815191528484846040516109d393929190613496565b60405180910390a150505b505060010161084c565b50600101610840565b5050600190920191506107139050565b5050606e8190555b6067546001600160a01b03163314610a3c5760405162461bcd60e51b8152600401610a3390613780565b60405180910390fd5b610a44612430565b50565b606a54604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b158015610a8c57600080fd5b505afa158015610aa0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac491906133a6565b905090565b6067546001600160a01b031681565b606a5460405163211dc32d60e01b81526000916001600160a01b03169063211dc32d90610b0b9086908690600401613463565b60206040518083038186803b158015610b2357600080fd5b505afa158015610b37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5b91906133a6565b90505b92915050565b610b6c612561565b6033546001600160a01b03908116911614610b995760405162461bcd60e51b8152600401610a33906138cd565b60005b81811015610c4b576000838383818110610bb257fe5b9050602002016020810190610bc79190612ff9565b90506000610bd4826111a3565b90508015610c4157606a54604051636da8c6d960e11b81526001600160a01b039091169063db518db290610c0e908590859060040161347d565b600060405180830381600087803b158015610c2857600080fd5b505af1158015610c3c573d6000803e3d6000fd5b505050505b5050600101610b9c565b50610c54612430565b5050565b6067546001600160a01b03163314610c825760405162461bcd60e51b8152600401610a3390613780565b60675460408051635cbeecf160e11b815290516000926001600160a01b03169163b97dd9e2916004808301926020929190829003018186803b158015610cc757600080fd5b505afa158015610cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cff91906133a6565b905062093a80606e5482031061108957606754604051632a923f8b60e11b81526060916001600160a01b0316906355247f1690610d4090309060040161344f565b60006040518083038186803b158015610d5857600080fd5b505afa158015610d6c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d94919081019061333b565b905060005b8151811015611081576067548251606091829182916001600160a01b03169063580da70890879087908110610dca57fe5b6020026020010151306040518363ffffffff1660e01b8152600401610df0929190613b18565b60006040518083038186803b158015610e0857600080fd5b505afa158015610e1c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e4491908101906131a6565b606754885193965091945092506001600160a01b031690636930fd2a90879087908110610e6d57fe5b60200260200101516040518263ffffffff1660e01b8152600401610e919190613b0f565b600060405180830381600087803b158015610eab57600080fd5b505af1158015610ebf573d6000803e3d6000fd5b5050505060005b82518110156110715760005b838281518110610ede57fe5b602002602001015151811015611068576000848381518110610efc57fe5b60200260200101518281518110610f0f57fe5b602002602001015190506000848481518110610f2757fe5b60200260200101518381518110610f3a57fe5b60200260200101519050600081111561105e57600080606d54118015610f6a57506068546001600160a01b031615155b15610fa757610f8a61271061090484606d5461229090919063ffffffff16565b606854909150610fa7906001600160a01b0385811691168361230c565b6000610fb3838361233d565b606a54909150610fce9085906001600160a01b03168361237f565b606a546040516304d0c2c560e01b81526001600160a01b03909116906304d0c2c590611000908790859060040161347d565b600060405180830381600087803b15801561101a57600080fd5b505af115801561102e573d6000803e3d6000fd5b50505050600080516020613bb883398151915284848460405161105393929190613496565b60405180910390a150505b5050600101610ed2565b50600101610ec6565b505060019092019150610d999050565b5050606e8190555b606a546040516305dc812160e31b81526001600160a01b0390911690632ee40908906110bb908690869060040161347d565b600060405180830381600087803b1580156110d557600080fd5b505af11580156110e9573d6000803e3d6000fd5b505050506110f5612430565b505050565b606a54604051630c00007b60e41b81526001600160a01b039091169063c00007b09061112a90339060040161344f565b600060405180830381600087803b15801561114457600080fd5b505af1158015611158573d6000803e3d6000fd5b50505050565b606f6020526000908152604090205460ff1681565b60706020526000908152604090205481565b6066546001600160a01b031681565b606a546001600160a01b031681565b606a546040516370a0823160e01b81526000916001600160a01b0316906370a08231906111d490859060040161344f565b60206040518083038186803b1580156111ec57600080fd5b505afa158015611200573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5e91906133a6565b61122c612561565b6033546001600160a01b039081169116146112595760405162461bcd60e51b8152600401610a33906138cd565b6033546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380546001600160a01b0319169055565b6112ab612561565b6033546001600160a01b039081169116146112d85760405162461bcd60e51b8152600401610a33906138cd565b606580546001600160a01b0319166001600160a01b0383161790556040517f0425bcd291db1d48816f2a98edc7ecaf6dd5c64b973d9e4b3b6b750763dc6c2e9061132390839061344f565b60405180910390a150565b61133661181a565b6001600160a01b0316336001600160a01b0316148061135f57506065546001600160a01b031633145b61137b5760405162461bcd60e51b8152600401610a33906139d9565b805182511461139c5760405162461bcd60e51b8152600401610a3390613631565b60005b82518110156110f55760008382815181106113b657fe5b6020026020010151905060008383815181106113ce57fe5b602002602001015190506113e28282612565565b505060010161139f565b6113f4612561565b6033546001600160a01b039081169116146114215760405162461bcd60e51b8152600401610a33906138cd565b6001600160a01b0381166114475760405162461bcd60e51b8152600401610a3390613902565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b611471612561565b6033546001600160a01b0390811691161461149e5760405162461bcd60e51b8152600401610a33906138cd565b606d55565b600054610100900460ff16806114bc57506114bc612752565b806114ca575060005460ff16155b6114e65760405162461bcd60e51b8152600401610a339061383e565b600054610100900460ff16158015611511576000805460ff1961ff0019909116610100171660011790555b611519612758565b8015610a44576000805461ff001916905550565b606080606061153a612561565b6033546001600160a01b039081169116146115675760405162461bcd60e51b8152600401610a33906138cd565b606754604051630b01b4e160e31b81526001600160a01b039091169063580da708906115999087903090600401613b18565b60006040518083038186803b1580156115b157600080fd5b505afa1580156115c5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115ed91908101906131a6565b6067546040516334987e9560e11b815293965091945092506001600160a01b031690636930fd2a90611623908790600401613b0f565b600060405180830381600087803b15801561163d57600080fd5b505af1158015611651573d6000803e3d6000fd5b5050505060005b82518110156118035760005b83828151811061167057fe5b6020026020010151518110156117fa57600084838151811061168e57fe5b602002602001015182815181106116a157fe5b6020026020010151905060008484815181106116b957fe5b602002602001015183815181106116cc57fe5b6020026020010151905060008111156117f057600080606d541180156116fc57506068546001600160a01b031615155b156117395761171c61271061090484606d5461229090919063ffffffff16565b606854909150611739906001600160a01b0385811691168361230c565b6000611745838361233d565b606a549091506117609085906001600160a01b03168361237f565b606a546040516304d0c2c560e01b81526001600160a01b03909116906304d0c2c590611792908790859060040161347d565b600060405180830381600087803b1580156117ac57600080fd5b505af11580156117c0573d6000803e3d6000fd5b50505050600080516020613bb88339815191528484846040516117e593929190613496565b60405180910390a150505b5050600101611664565b50600101611658565b509193909250565b6069546001600160a01b031681565b6033546001600160a01b031690565b61271081565b606c5481565b61183d61181a565b6001600160a01b0316336001600160a01b0316148061186657506065546001600160a01b031633145b6118825760405162461bcd60e51b8152600401610a33906139d9565b610c548282612565565b611894612561565b6033546001600160a01b039081169116146118c15760405162461bcd60e51b8152600401610a33906138cd565b6001600160a01b0381166000908152606f602052604090205460ff166118f95760405162461bcd60e51b8152600401610a339061368a565b60405163b9a09fd560e01b8152600090733a1d0952809f4948d15ebce8d345962a282c4fcb9063b9a09fd59061193390859060040161344f565b60206040518083038186803b15801561194b57600080fd5b505afa15801561195f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119839190613015565b6001600160a01b031614156119aa5760405162461bcd60e51b8152600401610a33906137f0565b6001600160a01b0381166000908152606f60205260409020805460ff19169055606b546060600019820167ffffffffffffffff811180156119ea57600080fd5b50604051908082528060200260200182016040528015611a14578160200160208202803683370190505b5090506000805b83811015611ac057846001600160a01b0316606b8281548110611a3a57fe5b6000918252602090912001546001600160a01b03161415611a5e5760019150611ab8565b606b8181548110611a6b57fe5b9060005260206000200160009054906101000a90046001600160a01b03168383830381518110611a9757fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b600101611a1b565b508151611ad490606b906020850190612dea565b506001600160a01b03841660009081526070602052604081208054606c805491909103905555611b02612430565b7f830dfd6ccb35ca729ef74cbccaf90bcb698344910b951a9c242cf91eccf6beba84604051611b31919061344f565b60405180910390a150505050565b6065546001600160a01b031681565b606d5481565b606b8181548110611b6157fe5b6000918252602090912001546001600160a01b0316905081565b6068546001600160a01b031681565b606a546040805163c4f59f9b60e01b815290516060926001600160a01b03169163c4f59f9b916004808301926000929190829003018186803b158015611bcf57600080fd5b505afa158015611be3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ac49190810190613173565b606b5490565b6067546001600160a01b03163314611c3b5760405162461bcd60e51b8152600401610a3390613780565b60675460408051635cbeecf160e11b815290516000926001600160a01b03169163b97dd9e2916004808301926020929190829003018186803b158015611c8057600080fd5b505afa158015611c94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cb891906133a6565b905062093a80606e5482031061204257606754604051632a923f8b60e11b81526060916001600160a01b0316906355247f1690611cf990309060040161344f565b60006040518083038186803b158015611d1157600080fd5b505afa158015611d25573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611d4d919081019061333b565b905060005b815181101561203a576067548251606091829182916001600160a01b03169063580da70890879087908110611d8357fe5b6020026020010151306040518363ffffffff1660e01b8152600401611da9929190613b18565b60006040518083038186803b158015611dc157600080fd5b505afa158015611dd5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611dfd91908101906131a6565b606754885193965091945092506001600160a01b031690636930fd2a90879087908110611e2657fe5b60200260200101516040518263ffffffff1660e01b8152600401611e4a9190613b0f565b600060405180830381600087803b158015611e6457600080fd5b505af1158015611e78573d6000803e3d6000fd5b5050505060005b825181101561202a5760005b838281518110611e9757fe5b602002602001015151811015612021576000848381518110611eb557fe5b60200260200101518281518110611ec857fe5b602002602001015190506000848481518110611ee057fe5b60200260200101518381518110611ef357fe5b60200260200101519050600081111561201757600080606d54118015611f2357506068546001600160a01b031615155b15611f6057611f4361271061090484606d5461229090919063ffffffff16565b606854909150611f60906001600160a01b0385811691168361230c565b6000611f6c838361233d565b606a54909150611f879085906001600160a01b03168361237f565b606a546040516304d0c2c560e01b81526001600160a01b03909116906304d0c2c590611fb9908790859060040161347d565b600060405180830381600087803b158015611fd357600080fd5b505af1158015611fe7573d6000803e3d6000fd5b50505050600080516020613bb883398151915284848460405161200c93929190613496565b60405180910390a150505b5050600101611e8b565b50600101611e7f565b505060019092019150611d529050565b5050606e8190555b606a54604051636da8c6d960e11b81526001600160a01b039091169063db518db2906110bb908690869060040161347d565b61207c612561565b6033546001600160a01b039081169116146120a95760405162461bcd60e51b8152600401610a33906138cd565b6067546001600160a01b0316156120d25760405162461bcd60e51b8152600401610a3390613749565b6001600160a01b0385166120f85760405162461bcd60e51b8152600401610a3390613ae8565b6001600160a01b03831661211e5760405162461bcd60e51b8152600401610a3390613902565b6001600160a01b0382166121445760405162461bcd60e51b8152600401610a339061365a565b6001600160a01b03811661216a5760405162461bcd60e51b8152600401610a3390613930565b606680546001600160a01b03199081166001600160a01b039788161790915560678054821695871695909517909455606980548516928616929092179091556068805484169185169190911790556101f4606d55606a8054909216921691909117905542606e55565b606e5481565b6121e1612561565b6033546001600160a01b0390811691161461220e5760405162461bcd60e51b8152600401610a33906138cd565b6001600160a01b0381166122345760405162461bcd60e51b8152600401610a33906136b0565b6033546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603380546001600160a01b0319166001600160a01b0392909216919091179055565b60008261229f57506000610b5e565b828202828482816122ac57fe5b0414610b5b5760405162461bcd60e51b8152600401610a339061388c565b6000610b5b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506127d6565b61231e836001600160a01b031661280f565b156123325761232d8282612834565b6110f5565b6110f58383836128b0565b6000610b5b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061299e565b604051636eb1769f60e11b815281906001600160a01b0385169063dd62ed3e906123af9030908790600401613463565b60206040518083038186803b1580156123c757600080fd5b505afa1580156123db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123ff91906133a6565b10156110f55761241a6001600160a01b0384168360006129ca565b6110f56001600160a01b038416836000196129ca565b606b548015610a445760608167ffffffffffffffff8111801561245257600080fd5b5060405190808252806020026020018201604052801561247c578160200160208202803683370190505b50905060005b828110156124f7576000606b828154811061249957fe5b6000918252602080832090910154606c546001600160a01b0390911680845260709092526040909220549092506124d7919061090490612710612290565b8383815181106124e357fe5b602090810291909101015250600101612482565b506067546040516306f2c54560e11b81526001600160a01b0390911690630de58a8a9061252b90606b90859060040161358e565b600060405180830381600087803b15801561254557600080fd5b505af1158015612559573d6000803e3d6000fd5b505050505050565b3390565b6001600160a01b03821630141561258e5760405162461bcd60e51b8152600401610a339061372d565b6001600160a01b0382166000908152606f602052604090205460ff166126c55760405163b9a09fd560e01b8152600090733a1d0952809f4948d15ebce8d345962a282c4fcb9063b9a09fd5906125e890869060040161344f565b60206040518083038186803b15801561260057600080fd5b505afa158015612614573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126389190613015565b6001600160a01b0316141561265f5760405162461bcd60e51b8152600401610a33906137f0565b6001600160a01b0382166000818152606f60205260408120805460ff19166001908117909155606b805491820181559091527fbd43cb8ece8cd1863bcd6082d65c5b0d25665b1ce17980f0da43c0ed545f98b40180546001600160a01b03191690911790555b6001600160a01b038216600090815260706020526040902054606c546126f69183916126f09161233d565b90612ac4565b606c556001600160a01b03821660009081526070602052604090819020829055517fbe8a0bfdbcaa516a8371824f85d831867f7faab1dbc60dbed04a63e2a25c618f90612746908490849061347d565b60405180910390a15050565b303b1590565b600054610100900460ff16806127715750612771612752565b8061277f575060005460ff16155b61279b5760405162461bcd60e51b8152600401610a339061383e565b600054610100900460ff161580156127c6576000805460ff1961ff0019909116610100171660011790555b6127ce612ae9565b611519612bc3565b600081836127f75760405162461bcd60e51b8152600401610a3391906135fe565b50600083858161280357fe5b049150505b9392505050565b6001600160a01b03811673efefefefefefefefefefefefefefefefefefefef14919050565b6000826001600160a01b03168260405161284d9061344c565b60006040518083038185875af1925050503d806000811461288a576040519150601f19603f3d011682016040523d82523d6000602084013e61288f565b606091505b50509050806110f55760405162461bcd60e51b8152600401610a3390613960565b60006060846001600160a01b031663a9059cbb85856040516024016128d692919061347d565b6040516020818303038152906040529060e01b6020820180516001600160e01b03838183161783525050505060405161290f9190613430565b6000604051808303816000865af19150503d806000811461294c576040519150601f19603f3d011682016040523d82523d6000602084013e612951565b606091505b509150915081801561297b57508051158061297b57508080602001905181019061297b919061336e565b6129975760405162461bcd60e51b8152600401610a33906139fb565b5050505050565b600081848411156129c25760405162461bcd60e51b8152600401610a3391906135fe565b505050900390565b801580612a525750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e90612a009030908690600401613463565b60206040518083038186803b158015612a1857600080fd5b505afa158015612a2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a5091906133a6565b155b612a6e5760405162461bcd60e51b8152600401610a3390613a92565b6110f58363095ea7b360e01b8484604051602401612a8d92919061347d565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612c44565b600082820183811015610b5b5760405162461bcd60e51b8152600401610a33906136f6565b600054610100900460ff1680612b025750612b02612752565b80612b10575060005460ff16155b612b2c5760405162461bcd60e51b8152600401610a339061383e565b600054610100900460ff16158015612b57576000805460ff1961ff0019909116610100171660011790555b6000612b61612561565b603380546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508015610a44576000805461ff001916905550565b600054610100900460ff1680612bdc5750612bdc612752565b80612bea575060005460ff16155b612c065760405162461bcd60e51b8152600401610a339061383e565b600054610100900460ff16158015611519576000805460ff1961ff0019909116610100171660011790558015610a44576000805461ff001916905550565b6060612c99826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612cd39092919063ffffffff16565b8051909150156110f55780806020019051810190612cb7919061336e565b6110f55760405162461bcd60e51b8152600401610a3390613a48565b6060612ce28484600085612cea565b949350505050565b606082471015612d0c5760405162461bcd60e51b8152600401610a33906137aa565b612d1585612dab565b612d315760405162461bcd60e51b8152600401610a33906139a2565b60006060866001600160a01b03168587604051612d4e9190613430565b60006040518083038185875af1925050503d8060008114612d8b576040519150601f19603f3d011682016040523d82523d6000602084013e612d90565b606091505b5091509150612da0828286612db1565b979650505050505050565b3b151590565b60608315612dc0575081612808565b825115612dd05782518084602001fd5b8160405162461bcd60e51b8152600401610a3391906135fe565b828054828255906000526020600020908101928215612e3f579160200282015b82811115612e3f57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190612e0a565b50612e4b929150612e4f565b5090565b5b80821115612e4b5780546001600160a01b0319168155600101612e50565b600082601f830112612e7e578081fd5b8151612e91612e8c82613b56565b613b2f565b818152915060208083019084810181840286018201871015612eb257600080fd5b60005b84811015612eda578151612ec881613ba2565b84529282019290820190600101612eb5565b505050505092915050565b600082601f830112612ef5578081fd5b8151612f03612e8c82613b56565b818152915060208083019084810160005b84811015612eda57612f2b888484518a0101612f9b565b84529282019290820190600101612f14565b600082601f830112612f4d578081fd5b8135612f5b612e8c82613b56565b818152915060208083019084810181840286018201871015612f7c57600080fd5b60005b84811015612eda57813584529282019290820190600101612f7f565b600082601f830112612fab578081fd5b8151612fb9612e8c82613b56565b818152915060208083019084810181840286018201871015612fda57600080fd5b60005b84811015612eda57815184529282019290820190600101612fdd565b60006020828403121561300a578081fd5b8135610b5b81613ba2565b600060208284031215613026578081fd5b8151610b5b81613ba2565b60008060408385031215613043578081fd5b823561304e81613ba2565b9150602083013561305e81613ba2565b809150509250929050565b600080600080600060a08688031215613080578081fd5b853561308b81613ba2565b9450602086013561309b81613ba2565b935060408601356130ab81613ba2565b925060608601356130bb81613ba2565b915060808601356130cb81613ba2565b809150509295509295909350565b600080604083850312156130eb578182fd5b82356130f681613ba2565b946020939093013593505050565b60008060208385031215613116578182fd5b823567ffffffffffffffff8082111561312d578384fd5b818501915085601f830112613140578384fd5b81358181111561314e578485fd5b8660208083028501011115613161578485fd5b60209290920196919550909350505050565b600060208284031215613184578081fd5b815167ffffffffffffffff81111561319a578182fd5b612ce284828501612e6e565b6000806000606084860312156131ba578283fd5b835167ffffffffffffffff808211156131d1578485fd5b6131dd87838801612e6e565b94506020915081860151818111156131f3578485fd5b8601601f81018813613203578485fd5b8051613211612e8c82613b56565b81815284810190838601885b84811015613246576132348d898451890101612e6e565b8452928701929087019060010161321d565b505060408a0151909750945050505080821115613261578283fd5b5061326e86828701612ee5565b9150509250925092565b6000806040838503121561328a578182fd5b823567ffffffffffffffff808211156132a1578384fd5b818501915085601f8301126132b4578384fd5b81356132c2612e8c82613b56565b80828252602080830192508086018a8283870289010111156132e2578889fd5b8896505b8487101561330d5780356132f981613ba2565b8452600196909601959281019281016132e6565b509096508701359350505080821115613324578283fd5b5061333185828601612f3d565b9150509250929050565b60006020828403121561334c578081fd5b815167ffffffffffffffff811115613362578182fd5b612ce284828501612f9b565b60006020828403121561337f578081fd5b81518015158114610b5b578182fd5b60006020828403121561339f578081fd5b5035919050565b6000602082840312156133b7578081fd5b5051919050565b6000815180845260208085019450808401835b838110156133f65781516001600160a01b0316875295820195908201906001016133d1565b509495945050505050565b6000815180845260208085019450808401835b838110156133f657815187529582019590820190600101613414565b60008251613442818460208701613b76565b9190910192915050565b90565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039390931683526020830191909152604082015260600190565b600060208252610b5b60208301846133be565b6000606082526134dd60608301866133be565b6020838203818501528186516134f38185613b0f565b91508193508281028201838901865b8381101561352c57868303855261351a8383516133be565b94860194925090850190600101613502565b50508681036040880152875180825284820195509250838302810184019150838801865b8481101561357e57601f1983850301875261356c848351613401565b96860196935090850190600101613550565b50919a9950505050505050505050565b6000604082016040835280855480835260608501915086845260209250828420845b828110156135d55781546001600160a01b0316845292840192600191820191016135b0565b505050838103828501526135e98186613401565b9695505050505050565b901515815260200190565b600060208252825180602084015261361d816040850160208701613b76565b601f01601f19169190910160400192915050565b6020808252600f908201526e0d8cadccee8d040dad2e6dac2e8c6d608b1b604082015260600190565b602080825260169082015275696e76616c6964205f6e61746976655a61707065722160501b604082015260600190565b6020808252600c908201526b696e76616c6964205f6c702160a01b604082015260600190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252600290820152613f3f60f01b604082015260600190565b6020808252601c908201527f706172616d73206861766520616c7265616479206265656e2073657400000000604082015260600190565b60208082526010908201526f4f6e6c7920766f7465722070726f787960801b604082015260600190565b60208082526026908201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6040820152651c8818d85b1b60d21b606082015260800190565b6020808252602e908201527f506f6f6c2069732065697468657220696e76616c6964206f7220646f65736e2760408201526d742068617665206120676175676560901b606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b602080825260149082015273696e76616c6964205f726577617264506f6f6c2160601b604082015260600190565b602080825260169082015275696e76616c6964205f666565436f6c6c6563746f722160501b604082015260600190565b60208082526022908201527f5472616e7366657248656c7065723a2053656e64696e6720455448206661696c604082015261195960f21b606082015260800190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b60208082526008908201526710b6b0b730b3b2b960c11b604082015260600190565b6020808252602d908201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260408201526c185b9cd9995c8819985a5b1959609a1b606082015260800190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b60208082526036908201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60408201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b606082015260800190565b6020808252600d908201526c696e76616c6964205f71756f2160981b604082015260600190565b90815260200190565b9182526001600160a01b0316602082015260400190565b60405181810167ffffffffffffffff81118282101715613b4e57600080fd5b604052919050565b600067ffffffffffffffff821115613b6c578081fd5b5060209081020190565b60005b83811015613b91578181015183820152602001613b79565b838111156111585750506000910152565b6001600160a01b0381168114610a4457600080fdfef87cfa2d5feaea949ad65bb76a26d8553381bcb6382adbc83dedd48961bf32d9a264697066735822122097bf1e0898b90e36783def9ca797ff1fa3e8a17d0e45558d7644380f265b679464736f6c634300060c0033