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)
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
0x608060405234801561001057600080fd5b50613bab806100206000396000f3fe6080604052600436106101fd5760003560e01c8063829f6fec1161010d578063b0e21e8a116100a0578063ce883cdb1161006f578063ce883cdb14610547578063db518db21461055c578063e789b1481461057c578063f1a392da1461059c578063f2fde38b146105b157610204565b8063b0e21e8a146104db578063baa53e97146104f0578063c415b95c14610510578063c4f59f9b1461052557610204565b806396c82e57116100dc57806396c82e57146104715780639776e94b1461048657806397b0f205146104a6578063aced1661146104c657610204565b8063829f6fec146104035780638310a9a9146104325780638da5cb5b14610447578063918f86741461045c57610204565b8063493da75311610190578063715018a61161015f578063715018a614610379578063748747e61461038e57806374c5ad4f146103ae57806378238c37146103ce5780638129fc1c146103ee57610204565b8063493da7531461030f578063594aa9671461032f57806366666aa91461034457806370a082311461035957610204565b80632ea8f114116101cc5780632ea8f1141461028d5780632ee40908146102ad5780633d18b912146102cd5780633edcd7bc146102e257610204565b80630e82e52a1461020957806318160ddd146102205780631ba980b31461024b578063211dc32d1461026d57610204565b3661020457005b600080fd5b34801561021557600080fd5b5061021e6105d1565b005b34801561022c57600080fd5b50610235610a1d565b6040516102429190613aad565b60405180910390f35b34801561025757600080fd5b50610260610a9f565b60405161024291906133ed565b34801561027957600080fd5b50610235610288366004612fcf565b610aae565b34801561029957600080fd5b5061021e6102a83660046130a2565b610b3a565b3480156102b957600080fd5b5061021e6102c8366004613077565b610c2e565b3480156102d957600080fd5b5061021e6110d1565b3480156102ee57600080fd5b506103026102fd366004612f97565b611135565b6040516102429190613591565b34801561031b57600080fd5b5061023561032a366004612f97565b61114a565b34801561033b57600080fd5b5061026061115c565b34801561035057600080fd5b5061026061116b565b34801561036557600080fd5b50610235610374366004612f97565b61117a565b34801561038557600080fd5b5061021e6111fb565b34801561039a57600080fd5b5061021e6103a9366004612f97565b61127a565b3480156103ba57600080fd5b5061021e6103c9366004613216565b611305565b3480156103da57600080fd5b5061021e6103e9366004612f97565b6113c3565b3480156103fa57600080fd5b5061021e611440565b34801561040f57600080fd5b5061042361041e36600461332c565b6114ca565b60405161024293929190613468565b34801561043e57600080fd5b506102606117a8565b34801561045357600080fd5b506102606117b7565b34801561046857600080fd5b506102356117c6565b34801561047d57600080fd5b506102356117cc565b34801561049257600080fd5b5061021e6104a1366004613077565b6117d2565b3480156104b257600080fd5b5061021e6104c1366004612f97565b611829565b3480156104d257600080fd5b50610260611adc565b3480156104e757600080fd5b50610235611aeb565b3480156104fc57600080fd5b5061026061050b36600461332c565b611af1565b34801561051c57600080fd5b50610260611b18565b34801561053157600080fd5b5061053a611b27565b6040516102429190613455565b34801561055357600080fd5b50610235611ba8565b34801561056857600080fd5b5061021e610577366004613077565b611bae565b34801561058857600080fd5b5061021e610597366004613007565b612012565b3480156105a857600080fd5b50610235612171565b3480156105bd57600080fd5b5061021e6105cc366004612f97565b612177565b60675460408051635cbeecf160e11b815290516000926001600160a01b03169163b97dd9e2916004808301926020929190829003018186803b15801561061657600080fd5b505afa15801561062a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064e9190613344565b905062093a80606e54820311156109df57606754604051632a923f8b60e11b81526060916001600160a01b0316906355247f16906106909030906004016133ed565b60006040518083038186803b1580156106a857600080fd5b505afa1580156106bc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106e491908101906132d9565b905060005b81518110156109d7576067548251606091829182916001600160a01b03169063580da7089087908790811061071a57fe5b6020026020010151306040518363ffffffff1660e01b8152600401610740929190613ab6565b60006040518083038186803b15801561075857600080fd5b505afa15801561076c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107949190810190613144565b606754885193965091945092506001600160a01b031690636930fd2a908790879081106107bd57fe5b60200260200101516040518263ffffffff1660e01b81526004016107e19190613aad565b600060405180830381600087803b1580156107fb57600080fd5b505af115801561080f573d6000803e3d6000fd5b5050505060005b82518110156109c75760005b83828151811061082e57fe5b6020026020010151518110156109be57600084838151811061084c57fe5b6020026020010151828151811061085f57fe5b60200260200101519050600084848151811061087757fe5b6020026020010151838151811061088a57fe5b6020026020010151905060008111156109b457600080606d541180156108ba57506068546001600160a01b031615155b156108fd576108e06127106108da84606d5461222e90919063ffffffff16565b90612268565b6068549091506108fd906001600160a01b038581169116836122aa565b600061090983836122db565b606a549091506109249085906001600160a01b03168361231d565b606a546040516304d0c2c560e01b81526001600160a01b03909116906304d0c2c590610956908790859060040161341b565b600060405180830381600087803b15801561097057600080fd5b505af1158015610984573d6000803e3d6000fd5b50505050600080516020613b568339815191528484846040516109a993929190613434565b60405180910390a150505b5050600101610822565b50600101610816565b5050600190920191506106e99050565b5050606e8190555b6067546001600160a01b03163314610a125760405162461bcd60e51b8152600401610a099061371e565b60405180910390fd5b610a1a6123ce565b50565b606a54604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b158015610a6257600080fd5b505afa158015610a76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a9a9190613344565b905090565b6067546001600160a01b031681565b606a5460405163211dc32d60e01b81526000916001600160a01b03169063211dc32d90610ae19086908690600401613401565b60206040518083038186803b158015610af957600080fd5b505afa158015610b0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b319190613344565b90505b92915050565b610b426124ff565b6033546001600160a01b03908116911614610b6f5760405162461bcd60e51b8152600401610a099061386b565b60005b81811015610c21576000838383818110610b8857fe5b9050602002016020810190610b9d9190612f97565b90506000610baa8261117a565b90508015610c1757606a54604051636da8c6d960e11b81526001600160a01b039091169063db518db290610be4908590859060040161341b565b600060405180830381600087803b158015610bfe57600080fd5b505af1158015610c12573d6000803e3d6000fd5b505050505b5050600101610b72565b50610c2a6123ce565b5050565b6067546001600160a01b03163314610c585760405162461bcd60e51b8152600401610a099061371e565b60675460408051635cbeecf160e11b815290516000926001600160a01b03169163b97dd9e2916004808301926020929190829003018186803b158015610c9d57600080fd5b505afa158015610cb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cd59190613344565b905062093a80606e548203111561106057606754604051632a923f8b60e11b81526060916001600160a01b0316906355247f1690610d179030906004016133ed565b60006040518083038186803b158015610d2f57600080fd5b505afa158015610d43573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d6b91908101906132d9565b905060005b8151811015611058576067548251606091829182916001600160a01b03169063580da70890879087908110610da157fe5b6020026020010151306040518363ffffffff1660e01b8152600401610dc7929190613ab6565b60006040518083038186803b158015610ddf57600080fd5b505afa158015610df3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e1b9190810190613144565b606754885193965091945092506001600160a01b031690636930fd2a90879087908110610e4457fe5b60200260200101516040518263ffffffff1660e01b8152600401610e689190613aad565b600060405180830381600087803b158015610e8257600080fd5b505af1158015610e96573d6000803e3d6000fd5b5050505060005b82518110156110485760005b838281518110610eb557fe5b60200260200101515181101561103f576000848381518110610ed357fe5b60200260200101518281518110610ee657fe5b602002602001015190506000848481518110610efe57fe5b60200260200101518381518110610f1157fe5b60200260200101519050600081111561103557600080606d54118015610f4157506068546001600160a01b031615155b15610f7e57610f616127106108da84606d5461222e90919063ffffffff16565b606854909150610f7e906001600160a01b038581169116836122aa565b6000610f8a83836122db565b606a54909150610fa59085906001600160a01b03168361231d565b606a546040516304d0c2c560e01b81526001600160a01b03909116906304d0c2c590610fd7908790859060040161341b565b600060405180830381600087803b158015610ff157600080fd5b505af1158015611005573d6000803e3d6000fd5b50505050600080516020613b5683398151915284848460405161102a93929190613434565b60405180910390a150505b5050600101610ea9565b50600101610e9d565b505060019092019150610d709050565b5050606e8190555b606a546040516305dc812160e31b81526001600160a01b0390911690632ee4090890611092908690869060040161341b565b600060405180830381600087803b1580156110ac57600080fd5b505af11580156110c0573d6000803e3d6000fd5b505050506110cc6123ce565b505050565b606a54604051630c00007b60e41b81526001600160a01b039091169063c00007b0906111019033906004016133ed565b600060405180830381600087803b15801561111b57600080fd5b505af115801561112f573d6000803e3d6000fd5b50505050565b606f6020526000908152604090205460ff1681565b60706020526000908152604090205481565b6066546001600160a01b031681565b606a546001600160a01b031681565b606a546040516370a0823160e01b81526000916001600160a01b0316906370a08231906111ab9085906004016133ed565b60206040518083038186803b1580156111c357600080fd5b505afa1580156111d7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b349190613344565b6112036124ff565b6033546001600160a01b039081169116146112305760405162461bcd60e51b8152600401610a099061386b565b6033546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380546001600160a01b0319169055565b6112826124ff565b6033546001600160a01b039081169116146112af5760405162461bcd60e51b8152600401610a099061386b565b606580546001600160a01b0319166001600160a01b0383161790556040517f0425bcd291db1d48816f2a98edc7ecaf6dd5c64b973d9e4b3b6b750763dc6c2e906112fa9083906133ed565b60405180910390a150565b61130d6117b7565b6001600160a01b0316336001600160a01b0316148061133657506065546001600160a01b031633145b6113525760405162461bcd60e51b8152600401610a0990613977565b80518251146113735760405162461bcd60e51b8152600401610a09906135cf565b60005b82518110156110cc57600083828151811061138d57fe5b6020026020010151905060008383815181106113a557fe5b602002602001015190506113b98282612503565b5050600101611376565b6113cb6124ff565b6033546001600160a01b039081169116146113f85760405162461bcd60e51b8152600401610a099061386b565b6001600160a01b03811661141e5760405162461bcd60e51b8152600401610a09906138a0565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff168061145957506114596126f0565b80611467575060005460ff16155b6114835760405162461bcd60e51b8152600401610a09906137dc565b600054610100900460ff161580156114ae576000805460ff1961ff0019909116610100171660011790555b6114b66126f6565b8015610a1a576000805461ff001916905550565b60608060606114d76124ff565b6033546001600160a01b039081169116146115045760405162461bcd60e51b8152600401610a099061386b565b606754604051630b01b4e160e31b81526001600160a01b039091169063580da708906115369087903090600401613ab6565b60006040518083038186803b15801561154e57600080fd5b505afa158015611562573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261158a9190810190613144565b6067546040516334987e9560e11b815293965091945092506001600160a01b031690636930fd2a906115c0908790600401613aad565b600060405180830381600087803b1580156115da57600080fd5b505af11580156115ee573d6000803e3d6000fd5b5050505060005b82518110156117a05760005b83828151811061160d57fe5b60200260200101515181101561179757600084838151811061162b57fe5b6020026020010151828151811061163e57fe5b60200260200101519050600084848151811061165657fe5b6020026020010151838151811061166957fe5b60200260200101519050600081111561178d57600080606d5411801561169957506068546001600160a01b031615155b156116d6576116b96127106108da84606d5461222e90919063ffffffff16565b6068549091506116d6906001600160a01b038581169116836122aa565b60006116e283836122db565b606a549091506116fd9085906001600160a01b03168361231d565b606a546040516304d0c2c560e01b81526001600160a01b03909116906304d0c2c59061172f908790859060040161341b565b600060405180830381600087803b15801561174957600080fd5b505af115801561175d573d6000803e3d6000fd5b50505050600080516020613b5683398151915284848460405161178293929190613434565b60405180910390a150505b5050600101611601565b506001016115f5565b509193909250565b6069546001600160a01b031681565b6033546001600160a01b031690565b61271081565b606c5481565b6117da6117b7565b6001600160a01b0316336001600160a01b0316148061180357506065546001600160a01b031633145b61181f5760405162461bcd60e51b8152600401610a0990613977565b610c2a8282612503565b6118316124ff565b6033546001600160a01b0390811691161461185e5760405162461bcd60e51b8152600401610a099061386b565b6001600160a01b0381166000908152606f602052604090205460ff166118965760405162461bcd60e51b8152600401610a0990613628565b60405163b9a09fd560e01b8152600090733a1d0952809f4948d15ebce8d345962a282c4fcb9063b9a09fd5906118d09085906004016133ed565b60206040518083038186803b1580156118e857600080fd5b505afa1580156118fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119209190612fb3565b6001600160a01b031614156119475760405162461bcd60e51b8152600401610a099061378e565b6001600160a01b0381166000908152606f60205260409020805460ff19169055606b546060600019820167ffffffffffffffff8111801561198757600080fd5b506040519080825280602002602001820160405280156119b1578160200160208202803683370190505b5090506000805b83811015611a5d57846001600160a01b0316606b82815481106119d757fe5b6000918252602090912001546001600160a01b031614156119fb5760019150611a55565b606b8181548110611a0857fe5b9060005260206000200160009054906101000a90046001600160a01b03168383830381518110611a3457fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b6001016119b8565b508151611a7190606b906020850190612d88565b506001600160a01b03841660009081526070602052604081208054606c805491909103905555611a9f6123ce565b7f830dfd6ccb35ca729ef74cbccaf90bcb698344910b951a9c242cf91eccf6beba84604051611ace91906133ed565b60405180910390a150505050565b6065546001600160a01b031681565b606d5481565b606b8181548110611afe57fe5b6000918252602090912001546001600160a01b0316905081565b6068546001600160a01b031681565b606a546040805163c4f59f9b60e01b815290516060926001600160a01b03169163c4f59f9b916004808301926000929190829003018186803b158015611b6c57600080fd5b505afa158015611b80573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a9a9190810190613111565b606b5490565b6067546001600160a01b03163314611bd85760405162461bcd60e51b8152600401610a099061371e565b60675460408051635cbeecf160e11b815290516000926001600160a01b03169163b97dd9e2916004808301926020929190829003018186803b158015611c1d57600080fd5b505afa158015611c31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c559190613344565b905062093a80606e5482031115611fe057606754604051632a923f8b60e11b81526060916001600160a01b0316906355247f1690611c979030906004016133ed565b60006040518083038186803b158015611caf57600080fd5b505afa158015611cc3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611ceb91908101906132d9565b905060005b8151811015611fd8576067548251606091829182916001600160a01b03169063580da70890879087908110611d2157fe5b6020026020010151306040518363ffffffff1660e01b8152600401611d47929190613ab6565b60006040518083038186803b158015611d5f57600080fd5b505afa158015611d73573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611d9b9190810190613144565b606754885193965091945092506001600160a01b031690636930fd2a90879087908110611dc457fe5b60200260200101516040518263ffffffff1660e01b8152600401611de89190613aad565b600060405180830381600087803b158015611e0257600080fd5b505af1158015611e16573d6000803e3d6000fd5b5050505060005b8251811015611fc85760005b838281518110611e3557fe5b602002602001015151811015611fbf576000848381518110611e5357fe5b60200260200101518281518110611e6657fe5b602002602001015190506000848481518110611e7e57fe5b60200260200101518381518110611e9157fe5b602002602001015190506000811115611fb557600080606d54118015611ec157506068546001600160a01b031615155b15611efe57611ee16127106108da84606d5461222e90919063ffffffff16565b606854909150611efe906001600160a01b038581169116836122aa565b6000611f0a83836122db565b606a54909150611f259085906001600160a01b03168361231d565b606a546040516304d0c2c560e01b81526001600160a01b03909116906304d0c2c590611f57908790859060040161341b565b600060405180830381600087803b158015611f7157600080fd5b505af1158015611f85573d6000803e3d6000fd5b50505050600080516020613b56833981519152848484604051611faa93929190613434565b60405180910390a150505b5050600101611e29565b50600101611e1d565b505060019092019150611cf09050565b5050606e8190555b606a54604051636da8c6d960e11b81526001600160a01b039091169063db518db290611092908690869060040161341b565b61201a6124ff565b6033546001600160a01b039081169116146120475760405162461bcd60e51b8152600401610a099061386b565b6067546001600160a01b0316156120705760405162461bcd60e51b8152600401610a09906136e7565b6001600160a01b0385166120965760405162461bcd60e51b8152600401610a0990613a86565b6001600160a01b0383166120bc5760405162461bcd60e51b8152600401610a09906138a0565b6001600160a01b0382166120e25760405162461bcd60e51b8152600401610a09906135f8565b6001600160a01b0381166121085760405162461bcd60e51b8152600401610a09906138ce565b606680546001600160a01b03199081166001600160a01b039788161790915560678054821695871695909517909455606980548516928616929092179091556068805484169185169190911790556101f4606d55606a8054909216921691909117905542606e55565b606e5481565b61217f6124ff565b6033546001600160a01b039081169116146121ac5760405162461bcd60e51b8152600401610a099061386b565b6001600160a01b0381166121d25760405162461bcd60e51b8152600401610a099061364e565b6033546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603380546001600160a01b0319166001600160a01b0392909216919091179055565b60008261223d57506000610b34565b8282028284828161224a57fe5b0414610b315760405162461bcd60e51b8152600401610a099061382a565b6000610b3183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612774565b6122bc836001600160a01b03166127ad565b156122d0576122cb82826127d2565b6110cc565b6110cc83838361284e565b6000610b3183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061293c565b604051636eb1769f60e11b815281906001600160a01b0385169063dd62ed3e9061234d9030908790600401613401565b60206040518083038186803b15801561236557600080fd5b505afa158015612379573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061239d9190613344565b10156110cc576123b86001600160a01b038416836000612968565b6110cc6001600160a01b03841683600019612968565b606b548015610a1a5760608167ffffffffffffffff811180156123f057600080fd5b5060405190808252806020026020018201604052801561241a578160200160208202803683370190505b50905060005b82811015612495576000606b828154811061243757fe5b6000918252602080832090910154606c546001600160a01b03909116808452607090925260409092205490925061247591906108da9061271061222e565b83838151811061248157fe5b602090810291909101015250600101612420565b506067546040516306f2c54560e11b81526001600160a01b0390911690630de58a8a906124c990606b90859060040161352c565b600060405180830381600087803b1580156124e357600080fd5b505af11580156124f7573d6000803e3d6000fd5b505050505050565b3390565b6001600160a01b03821630141561252c5760405162461bcd60e51b8152600401610a09906136cb565b6001600160a01b0382166000908152606f602052604090205460ff166126635760405163b9a09fd560e01b8152600090733a1d0952809f4948d15ebce8d345962a282c4fcb9063b9a09fd5906125869086906004016133ed565b60206040518083038186803b15801561259e57600080fd5b505afa1580156125b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125d69190612fb3565b6001600160a01b031614156125fd5760405162461bcd60e51b8152600401610a099061378e565b6001600160a01b0382166000818152606f60205260408120805460ff19166001908117909155606b805491820181559091527fbd43cb8ece8cd1863bcd6082d65c5b0d25665b1ce17980f0da43c0ed545f98b40180546001600160a01b03191690911790555b6001600160a01b038216600090815260706020526040902054606c5461269491839161268e916122db565b90612a62565b606c556001600160a01b03821660009081526070602052604090819020829055517fbe8a0bfdbcaa516a8371824f85d831867f7faab1dbc60dbed04a63e2a25c618f906126e4908490849061341b565b60405180910390a15050565b303b1590565b600054610100900460ff168061270f575061270f6126f0565b8061271d575060005460ff16155b6127395760405162461bcd60e51b8152600401610a09906137dc565b600054610100900460ff16158015612764576000805460ff1961ff0019909116610100171660011790555b61276c612a87565b6114b6612b61565b600081836127955760405162461bcd60e51b8152600401610a09919061359c565b5060008385816127a157fe5b049150505b9392505050565b6001600160a01b03811673efefefefefefefefefefefefefefefefefefefef14919050565b6000826001600160a01b0316826040516127eb906133ea565b60006040518083038185875af1925050503d8060008114612828576040519150601f19603f3d011682016040523d82523d6000602084013e61282d565b606091505b50509050806110cc5760405162461bcd60e51b8152600401610a09906138fe565b60006060846001600160a01b031663a9059cbb858560405160240161287492919061341b565b6040516020818303038152906040529060e01b6020820180516001600160e01b0383818316178352505050506040516128ad91906133ce565b6000604051808303816000865af19150503d80600081146128ea576040519150601f19603f3d011682016040523d82523d6000602084013e6128ef565b606091505b5091509150818015612919575080511580612919575080806020019051810190612919919061330c565b6129355760405162461bcd60e51b8152600401610a0990613999565b5050505050565b600081848411156129605760405162461bcd60e51b8152600401610a09919061359c565b505050900390565b8015806129f05750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e9061299e9030908690600401613401565b60206040518083038186803b1580156129b657600080fd5b505afa1580156129ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129ee9190613344565b155b612a0c5760405162461bcd60e51b8152600401610a0990613a30565b6110cc8363095ea7b360e01b8484604051602401612a2b92919061341b565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612be2565b600082820183811015610b315760405162461bcd60e51b8152600401610a0990613694565b600054610100900460ff1680612aa05750612aa06126f0565b80612aae575060005460ff16155b612aca5760405162461bcd60e51b8152600401610a09906137dc565b600054610100900460ff16158015612af5576000805460ff1961ff0019909116610100171660011790555b6000612aff6124ff565b603380546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508015610a1a576000805461ff001916905550565b600054610100900460ff1680612b7a5750612b7a6126f0565b80612b88575060005460ff16155b612ba45760405162461bcd60e51b8152600401610a09906137dc565b600054610100900460ff161580156114b6576000805460ff1961ff0019909116610100171660011790558015610a1a576000805461ff001916905550565b6060612c37826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612c719092919063ffffffff16565b8051909150156110cc5780806020019051810190612c55919061330c565b6110cc5760405162461bcd60e51b8152600401610a09906139e6565b6060612c808484600085612c88565b949350505050565b606082471015612caa5760405162461bcd60e51b8152600401610a0990613748565b612cb385612d49565b612ccf5760405162461bcd60e51b8152600401610a0990613940565b60006060866001600160a01b03168587604051612cec91906133ce565b60006040518083038185875af1925050503d8060008114612d29576040519150601f19603f3d011682016040523d82523d6000602084013e612d2e565b606091505b5091509150612d3e828286612d4f565b979650505050505050565b3b151590565b60608315612d5e5750816127a6565b825115612d6e5782518084602001fd5b8160405162461bcd60e51b8152600401610a09919061359c565b828054828255906000526020600020908101928215612ddd579160200282015b82811115612ddd57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190612da8565b50612de9929150612ded565b5090565b5b80821115612de95780546001600160a01b0319168155600101612dee565b600082601f830112612e1c578081fd5b8151612e2f612e2a82613af4565b613acd565b818152915060208083019084810181840286018201871015612e5057600080fd5b60005b84811015612e78578151612e6681613b40565b84529282019290820190600101612e53565b505050505092915050565b600082601f830112612e93578081fd5b8151612ea1612e2a82613af4565b818152915060208083019084810160005b84811015612e7857612ec9888484518a0101612f39565b84529282019290820190600101612eb2565b600082601f830112612eeb578081fd5b8135612ef9612e2a82613af4565b818152915060208083019084810181840286018201871015612f1a57600080fd5b60005b84811015612e7857813584529282019290820190600101612f1d565b600082601f830112612f49578081fd5b8151612f57612e2a82613af4565b818152915060208083019084810181840286018201871015612f7857600080fd5b60005b84811015612e7857815184529282019290820190600101612f7b565b600060208284031215612fa8578081fd5b8135610b3181613b40565b600060208284031215612fc4578081fd5b8151610b3181613b40565b60008060408385031215612fe1578081fd5b8235612fec81613b40565b91506020830135612ffc81613b40565b809150509250929050565b600080600080600060a0868803121561301e578081fd5b853561302981613b40565b9450602086013561303981613b40565b9350604086013561304981613b40565b9250606086013561305981613b40565b9150608086013561306981613b40565b809150509295509295909350565b60008060408385031215613089578182fd5b823561309481613b40565b946020939093013593505050565b600080602083850312156130b4578182fd5b823567ffffffffffffffff808211156130cb578384fd5b818501915085601f8301126130de578384fd5b8135818111156130ec578485fd5b86602080830285010111156130ff578485fd5b60209290920196919550909350505050565b600060208284031215613122578081fd5b815167ffffffffffffffff811115613138578182fd5b612c8084828501612e0c565b600080600060608486031215613158578283fd5b835167ffffffffffffffff8082111561316f578485fd5b61317b87838801612e0c565b9450602091508186015181811115613191578485fd5b8601601f810188136131a1578485fd5b80516131af612e2a82613af4565b81815284810190838601885b848110156131e4576131d28d898451890101612e0c565b845292870192908701906001016131bb565b505060408a01519097509450505050808211156131ff578283fd5b5061320c86828701612e83565b9150509250925092565b60008060408385031215613228578182fd5b823567ffffffffffffffff8082111561323f578384fd5b818501915085601f830112613252578384fd5b8135613260612e2a82613af4565b80828252602080830192508086018a828387028901011115613280578889fd5b8896505b848710156132ab57803561329781613b40565b845260019690960195928101928101613284565b5090965087013593505050808211156132c2578283fd5b506132cf85828601612edb565b9150509250929050565b6000602082840312156132ea578081fd5b815167ffffffffffffffff811115613300578182fd5b612c8084828501612f39565b60006020828403121561331d578081fd5b81518015158114610b31578182fd5b60006020828403121561333d578081fd5b5035919050565b600060208284031215613355578081fd5b5051919050565b6000815180845260208085019450808401835b838110156133945781516001600160a01b03168752958201959082019060010161336f565b509495945050505050565b6000815180845260208085019450808401835b83811015613394578151875295820195908201906001016133b2565b600082516133e0818460208701613b14565b9190910192915050565b90565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039390931683526020830191909152604082015260600190565b600060208252610b31602083018461335c565b60006060825261347b606083018661335c565b6020838203818501528186516134918185613aad565b91508193508281028201838901865b838110156134ca5786830385526134b883835161335c565b948601949250908501906001016134a0565b50508681036040880152875180825284820195509250838302810184019150838801865b8481101561351c57601f1983850301875261350a84835161339f565b968601969350908501906001016134ee565b50919a9950505050505050505050565b6000604082016040835280855480835260608501915086845260209250828420845b828110156135735781546001600160a01b03168452928401926001918201910161354e565b50505083810382850152613587818661339f565b9695505050505050565b901515815260200190565b60006020825282518060208401526135bb816040850160208701613b14565b601f01601f19169190910160400192915050565b6020808252600f908201526e0d8cadccee8d040dad2e6dac2e8c6d608b1b604082015260600190565b602080825260169082015275696e76616c6964205f6e61746976655a61707065722160501b604082015260600190565b6020808252600c908201526b696e76616c6964205f6c702160a01b604082015260600190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252600290820152613f3f60f01b604082015260600190565b6020808252601c908201527f706172616d73206861766520616c7265616479206265656e2073657400000000604082015260600190565b60208082526010908201526f4f6e6c7920766f7465722070726f787960801b604082015260600190565b60208082526026908201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6040820152651c8818d85b1b60d21b606082015260800190565b6020808252602e908201527f506f6f6c2069732065697468657220696e76616c6964206f7220646f65736e2760408201526d742068617665206120676175676560901b606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b602080825260149082015273696e76616c6964205f726577617264506f6f6c2160601b604082015260600190565b602080825260169082015275696e76616c6964205f666565436f6c6c6563746f722160501b604082015260600190565b60208082526022908201527f5472616e7366657248656c7065723a2053656e64696e6720455448206661696c604082015261195960f21b606082015260800190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b60208082526008908201526710b6b0b730b3b2b960c11b604082015260600190565b6020808252602d908201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260408201526c185b9cd9995c8819985a5b1959609a1b606082015260800190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b60208082526036908201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60408201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b606082015260800190565b6020808252600d908201526c696e76616c6964205f71756f2160981b604082015260600190565b90815260200190565b9182526001600160a01b0316602082015260400190565b60405181810167ffffffffffffffff81118282101715613aec57600080fd5b604052919050565b600067ffffffffffffffff821115613b0a578081fd5b5060209081020190565b60005b83811015613b2f578181015183820152602001613b17565b8381111561112f5750506000910152565b6001600160a01b0381168114610a1a57600080fdfef87cfa2d5feaea949ad65bb76a26d8553381bcb6382adbc83dedd48961bf32d9a2646970667358221220ab95aa152f8b6fe9a0c8be94baf2ae8fe5dc68d1e47f326727b9f8399e2b1ee664736f6c634300060c0033