0 txs
10.3k calls
constructor
constructor()
functions
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
booster
viewfunction booster() view returns (address)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
duration
viewfunction duration() view returns (uint256)
earned
viewfunction earned(address _account, address _rewardToken) view returns (uint256)
getRewardTokens
viewfunction getRewardTokens() view returns (address[])
getRewardTokensLength
viewfunction getRewardTokensLength() view returns (uint256)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getUserAmountTime
viewfunction getUserAmountTime(address _account) view returns (uint256)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
isRewardToken
viewfunction isRewardToken(address) view returns (bool)
lastTimeRewardApplicable
viewfunction lastTimeRewardApplicable(address _rewardToken) view returns (uint256)
pid
viewfunction pid() view returns (uint256)
rewardPerToken
viewfunction rewardPerToken(address _rewardToken) view returns (uint256)
rewards
viewfunction rewards(address) view returns (uint256 periodFinish, uint256 rewardRate, uint256 lastUpdateTime, uint256 rewardPerTokenStored, uint256 queuedRewards)
rewardTokens
viewfunction rewardTokens(uint256) view returns (address)
stakingToken
viewfunction stakingToken() view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
totalSupply
viewfunction totalSupply() view returns (uint256)
userAmountTime
viewfunction userAmountTime(address) view returns (uint256)
userLastTime
viewfunction userLastTime(address) view returns (uint256)
userRewards
viewfunction userRewards(address, address) view returns (uint256 userRewardPerTokenPaid, uint256 rewards)
donate
payablefunction donate(address _rewardToken, uint256 _amount) payable
emergencyWithdraw
nonpayablefunction emergencyWithdraw()
getReward
nonpayablefunction getReward(address _account)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(address _owner, address _booster)
queueNewRewards
payablefunction queueNewRewards(address _rewardToken, uint256 _rewards) payable
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setParams
nonpayablefunction setParams(uint256 _pid, address _stakingToken, address _rewardToken, address _eqbZap)
setParams
nonpayablefunction setParams(uint256 _pid, address _stakingToken, address _rewardToken)
stake
nonpayablefunction stake(uint256 _amount)
stakeAll
nonpayablefunction stakeAll()
stakeFor
nonpayablefunction stakeFor(address _for, uint256 _amount)
withdraw
nonpayablefunction withdraw(uint256 amount)
withdrawAll
nonpayablefunction withdrawAll()
withdrawFor
nonpayablefunction withdrawFor(address _account, uint256 _amount)
events
BoosterUpdated
event BoosterUpdated(address _booster)
EmergencyWithdrawn
event EmergencyWithdrawn(address indexed _user, uint256 _amount)
Initialized
event Initialized(uint8 version)
RewardAdded
event RewardAdded(address indexed _rewardToken, uint256 _reward)
RewardPaid
event RewardPaid(address indexed _user, address indexed _rewardToken, uint256 _reward)
RewardTokenAdded
event RewardTokenAdded(address indexed _rewardToken)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
Staked
event Staked(address indexed _user, uint256 _amount)
Withdrawn
event Withdrawn(address indexed _user, uint256 _amount)
errors
No errors.
creation bytecode
0x60806040523480156200001157600080fd5b506200001c62000022565b620000e4565b600054610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161015620000e2576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b612d1380620000f46000396000f3fe6080604052600436106102895760003560e01c806386b8ea2011610153578063c4f59f9b116100cb578063db518db21161007f578063f106845411610064578063f1068454146107ca578063f1229777146107e0578063f376d7981461080057600080fd5b8063db518db214610797578063e69d849d146107b757600080fd5b8063d47c3bf8116100b0578063d47c3bf814610735578063d547741f14610762578063db2e21bc1461078257600080fd5b8063c4f59f9b146106f3578063c6def0761461071557600080fd5b8063a694fc3a11610122578063b5fd73f811610107578063b5fd73f814610676578063b65a7ea5146106a6578063c00007b0146106d357600080fd5b8063a694fc3a14610602578063a980356a1461062257600080fd5b806386b8ea20146105725780638dcb40611461059257806391d14854146105a7578063a217fddf146105ed57600080fd5b80632e1a7d4d11610201578063638634ee116101b557806372f702f31161019a57806372f702f3146105055780637bb7bed11461053d578063853828b61461055d57600080fd5b8063638634ee146104af57806370a08231146104cf57600080fd5b80632f2ff15d116101e65780632f2ff15d1461044f57806336568abe1461046f578063485cc9551461048f57600080fd5b80632e1a7d4d1461040f5780632ee409081461042f57600080fd5b806318160ddd11610258578063248a9ca31161023d578063248a9ca3146103aa5780632521cdd8146103da5780632cf404dc146103ef57600080fd5b806318160ddd14610375578063211dc32d1461038a57600080fd5b806301ffc9a71461029557806304d0c2c5146102ca5780630700037d146102df5780630fb5a6b41461035157600080fd5b3661029057005b600080fd5b3480156102a157600080fd5b506102b56102b036600461290d565b610820565b60405190151581526020015b60405180910390f35b6102dd6102d8366004612953565b610889565b005b3480156102eb57600080fd5b506103296102fa36600461297d565b609d60205260009081526040902080546001820154600283015460038401546004909401549293919290919085565b604080519586526020860194909452928401919091526060830152608082015260a0016102c1565b34801561035d57600080fd5b50610367610e1081565b6040519081526020016102c1565b34801561038157600080fd5b50609b54610367565b34801561039657600080fd5b506103676103a5366004612998565b610ac0565b3480156103b657600080fd5b506103676103c53660046129cb565b60009081526065602052604090206001015490565b3480156103e657600080fd5b50609a54610367565b3480156103fb57600080fd5b506102dd61040a3660046129e4565b610b5f565b34801561041b57600080fd5b506102dd61042a3660046129cb565b610bf0565b34801561043b57600080fd5b506102dd61044a366004612953565b610bff565b34801561045b57600080fd5b506102dd61046a366004612a31565b610e49565b34801561047b57600080fd5b506102dd61048a366004612a31565b610e6e565b34801561049b57600080fd5b506102dd6104aa366004612998565b610efa565b3480156104bb57600080fd5b506103676104ca36600461297d565b61110a565b3480156104db57600080fd5b506103676104ea36600461297d565b6001600160a01b03166000908152609c602052604090205490565b34801561051157600080fd5b50609954610525906001600160a01b031681565b6040516001600160a01b0390911681526020016102c1565b34801561054957600080fd5b506105256105583660046129cb565b61112e565b34801561056957600080fd5b506102dd611158565b34801561057e57600080fd5b5061036761058d36600461297d565b611176565b34801561059e57600080fd5b506102dd611216565b3480156105b357600080fd5b506102b56105c2366004612a31565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3480156105f957600080fd5b50610367600081565b34801561060e57600080fd5b506102dd61061d3660046129cb565b6112a3565b34801561062e57600080fd5b5061066161063d366004612998565b609f6020908152600092835260408084209091529082529020805460019091015482565b604080519283526020830191909152016102c1565b34801561068257600080fd5b506102b561069136600461297d565b609e6020526000908152604090205460ff1681565b3480156106b257600080fd5b506103676106c136600461297d565b60a06020526000908152604090205481565b3480156106df57600080fd5b506102dd6106ee36600461297d565b611480565b3480156106ff57600080fd5b50610708611587565b6040516102c19190612a54565b34801561072157600080fd5b50609754610525906001600160a01b031681565b34801561074157600080fd5b5061036761075036600461297d565b60a16020526000908152604090205481565b34801561076e57600080fd5b506102dd61077d366004612a31565b6115e9565b34801561078e57600080fd5b506102dd61160e565b3480156107a357600080fd5b506102dd6107b2366004612953565b611662565b6102dd6107c5366004612953565b611698565b3480156107d657600080fd5b5061036760985481565b3480156107ec57600080fd5b506103676107fb36600461297d565b611825565b34801561080c57600080fd5b506102dd61081b366004612aa1565b6118e7565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148061088357507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756108b381611ab5565b6108bc83611abf565b73efefefefefefefefefefefefefefefefefefefef6001600160a01b03841603610939573482146109345760405162461bcd60e51b815260206004820152600e60248201527f696e76616c696420616d6f756e7400000000000000000000000000000000000060448201526064015b60405180910390fd5b61099c565b34156109875760405162461bcd60e51b815260206004820152601160248201527f696e76616c6964206d73672e76616c7565000000000000000000000000000000604482015260640161092b565b61099c6001600160a01b038416333085611bd5565b6001600160a01b0383166000908152609d60205260409020609b546000036109d9578281600401546109ce9190612af3565b600490910155505050565b6109e284611825565b600382015560048101546109f69084612af3565b6000600483015581549093504210610a1e57610a14610e1084612b06565b6001820155610a64565b8054600090610a2e904290612b28565b90506000826001015482610a429190612b3b565b9050610a4e8186612af3565b9450610a5c610e1086612b06565b600184015550505b4260028201819055610a7990610e1090612af3565b81556040518381526001600160a01b038516907fac24935fd910bc682b5ccb1a07b718cadf8cf2f6d1404c4f3ddc3662dae40e299060200160405180910390a2505b505050565b6001600160a01b038083166000908152609f60209081526040808320938516835292815282822083518085019094528054808552600190910154918401829052919291670de0b6b3a764000090610b1686611825565b610b209190612b28565b6001600160a01b0387166000908152609c6020526040902054610b439190612b3b565b610b4d9190612b06565b610b579190612af3565b949350505050565b6001600160a01b038116610bb55760405162461bcd60e51b815260206004820152601060248201527f696e76616c6964205f6571625a61702100000000000000000000000000000000604482015260640161092b565b610bc08484846118e7565b610bea7fda13a707f7a3840d073818a6eaebbe54a724320b9a9d77ff1a6dccba94a770b382611c6e565b50505050565b610bfc33826001611d10565b50565b8160005b609a54811015610ccc576000609a8281548110610c2257610c22612b52565b60009182526020808320909101546001600160a01b0316808352609d9091526040909120909150610c5282611825565b6003820155610c608261110a565b60028201556001600160a01b038085166000908152609f60209081526040808320938616835292905220610c948584610ac0565b60018201556001600160a01b039092166000908152609d60205260409020600301549091555080610cc481612b68565b915050610c03565b50610cd681611176565b6001600160a01b03808316600090815260a1602090815260408083209490945560a09052919091204290558316610d4f5760405162461bcd60e51b815260206004820152600d60248201527f696e76616c6964205f666f722100000000000000000000000000000000000000604482015260640161092b565b60008211610d9f5760405162461bcd60e51b815260206004820152601b60248201527f526577617264506f6f6c203a2043616e6e6f74207374616b6520300000000000604482015260640161092b565b81609b54610dad9190612af3565b609b556001600160a01b0383166000908152609c6020526040902054610dd4908390612af3565b6001600160a01b038085166000908152609c6020526040902091909155609954610e019116333085611bd5565b826001600160a01b03167f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d83604051610e3c91815260200190565b60405180910390a2505050565b600082815260656020526040902060010154610e6481611ab5565b610abb8383611c6e565b6001600160a01b0381163314610eec5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c660000000000000000000000000000000000606482015260840161092b565b610ef68282611f0e565b5050565b600054610100900460ff1615808015610f1a5750600054600160ff909116105b80610f345750303b158015610f34575060005460ff166001145b610fa65760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161092b565b6000805460ff191660011790558015610fc9576000805461ff0019166101001790555b6001600160a01b03821661101f5760405162461bcd60e51b815260206004820152601160248201527f696e76616c6964205f626f6f7374657221000000000000000000000000000000604482015260640161092b565b611027611f91565b6097805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03841617905561105a600084611c6e565b6110847fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177583611c6e565b6040516001600160a01b03831681527f5407aa361e671ca7c620332ea4c073198f8bc6125f2aceb4766a160b5afec1619060200160405180910390a18015610abb576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b6001600160a01b0381166000908152609d602052604081205461088390429061200e565b609a818154811061113e57600080fd5b6000918252602090912001546001600160a01b0316905081565b336000818152609c602052604090205461117491906001611d10565b565b6001600160a01b038116600090815260a0602052604081205480820361119f5750600092915050565b6001600160a01b0383166000908152609c6020526040812054908190036111de575050506001600160a01b0316600090815260a1602052604090205490565b806111e98342612b28565b6111f39190612b3b565b6001600160a01b038516600090815260a16020526040902054610b579190612af3565b6099546040517f70a082310000000000000000000000000000000000000000000000000000000081523360048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015611278573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129c9190612b81565b9050610bfc815b3360005b609a54811015611370576000609a82815481106112c6576112c6612b52565b60009182526020808320909101546001600160a01b0316808352609d90915260409091209091506112f682611825565b60038201556113048261110a565b60028201556001600160a01b038085166000908152609f602090815260408083209386168352929052206113388584610ac0565b60018201556001600160a01b039092166000908152609d6020526040902060030154909155508061136881612b68565b9150506112a7565b5061137a81611176565b6001600160a01b038216600090815260a1602090815260408083209390935560a0905220429055816113ee5760405162461bcd60e51b815260206004820152601b60248201527f526577617264506f6f6c203a2043616e6e6f74207374616b6520300000000000604482015260640161092b565b81609b546113fc9190612af3565b609b55336000908152609c602052604090205461141a908390612af3565b336000818152609c6020526040902091909155609954611447916001600160a01b03909116903085611bd5565b60405182815233907f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d9060200160405180910390a25050565b8060005b609a5481101561154d576000609a82815481106114a3576114a3612b52565b60009182526020808320909101546001600160a01b0316808352609d90915260409091209091506114d382611825565b60038201556114e18261110a565b60028201556001600160a01b038085166000908152609f602090815260408083209386168352929052206115158584610ac0565b60018201556001600160a01b039092166000908152609d6020526040902060030154909155508061154581612b68565b915050611484565b5061155781611176565b6001600160a01b038216600090815260a1602090815260408083209390935560a0905220429055610ef682612024565b6060609a8054806020026020016040519081016040528092919081815260200182805480156115df57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116115c1575b5050505050905090565b60008281526065602052604090206001015461160481611ab5565b610abb8383611f0e565b336000818152609c60205260408120549161162a918390611d10565b60405181815233907f2e39961a70a10f4d46383948095ac2752b3ee642a7c76aa827410aaff08c2e519060200160405180910390a250565b7fda13a707f7a3840d073818a6eaebbe54a724320b9a9d77ff1a6dccba94a770b361168c81611ab5565b610abb83836001611d10565b6001600160a01b0382166000908152609e602052604090205460ff166117005760405162461bcd60e51b815260206004820152600d60248201527f696e76616c696420746f6b656e00000000000000000000000000000000000000604482015260640161092b565b73efefefefefefefefefefefefefefefefefefefef6001600160a01b03831603611778573481146117735760405162461bcd60e51b815260206004820152600e60248201527f696e76616c696420616d6f756e74000000000000000000000000000000000000604482015260640161092b565b6117db565b34156117c65760405162461bcd60e51b815260206004820152601160248201527f696e76616c6964206d73672e76616c7565000000000000000000000000000000604482015260640161092b565b6117db6001600160a01b038316333084611bd5565b6001600160a01b0382166000908152609d6020526040902060040154611802908290612af3565b6001600160a01b039092166000908152609d602052604090206004019190915550565b6001600160a01b0381166000908152609d60209081526040808320815160a0810183528154815260018201549381019390935260028101549183019190915260038101546060830152600401546080820152609b5460000361188b576060015192915050565b609b54816020015182604001516118a18661110a565b6118ab9190612b28565b6118b59190612b3b565b6118c790670de0b6b3a7640000612b3b565b6118d19190612b06565b81606001516118e09190612af3565b9392505050565b3360009081527fffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b602052604090205460ff168061192e57506097546001600160a01b031633145b61197a5760405162461bcd60e51b815260206004820152600560248201527f2161757468000000000000000000000000000000000000000000000000000000604482015260640161092b565b6099546001600160a01b0316156119d35760405162461bcd60e51b815260206004820152601c60248201527f706172616d73206861766520616c7265616479206265656e2073657400000000604482015260640161092b565b6001600160a01b038216611a295760405162461bcd60e51b815260206004820152601660248201527f696e76616c6964205f7374616b696e67546f6b656e2100000000000000000000604482015260640161092b565b6001600160a01b038116611a7f5760405162461bcd60e51b815260206004820152601560248201527f696e76616c6964205f726577617264546f6b656e210000000000000000000000604482015260640161092b565b60988390556099805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038416179055610abb81611abf565b610bfc81336121af565b6001600160a01b038116611b155760405162461bcd60e51b815260206004820152601560248201527f696e76616c6964205f726577617264546f6b656e210000000000000000000000604482015260640161092b565b6001600160a01b0381166000908152609e602052604090205460ff1615611b395750565b609a805460018082019092557f44da158ba27f9252712a74ff6a55c5d531f69609f1f6e7f17c4443a8e2089be401805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384169081179091556000818152609e6020526040808220805460ff1916909417909355915190917ff3e4c2c64e71e6ba2eaab9a599bced62f9eb91d2cda610bf41aa8c80ff2cf82691a250565b6040516001600160a01b0380851660248301528316604482015260648101829052610bea9085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b03199093169290921790915261222f565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610ef65760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055611ccc3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b8260005b609a54811015611ddd576000609a8281548110611d3357611d33612b52565b60009182526020808320909101546001600160a01b0316808352609d9091526040909120909150611d6382611825565b6003820155611d718261110a565b60028201556001600160a01b038085166000908152609f60209081526040808320938616835292905220611da58584610ac0565b60018201556001600160a01b039092166000908152609d60205260409020600301549091555080611dd581612b68565b915050611d14565b50611de781611176565b6001600160a01b038216600090815260a1602090815260408083209390935560a090522042905582611e5b5760405162461bcd60e51b815260206004820152601e60248201527f526577617264506f6f6c203a2043616e6e6f7420776974686472617720300000604482015260640161092b565b82609b54611e699190612b28565b609b556001600160a01b0384166000908152609c6020526040902054611e90908490612b28565b6001600160a01b038086166000908152609c6020526040902091909155609954611ebc91168585612314565b836001600160a01b03167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d584604051611ef791815260200190565b60405180910390a28115610bea57610bea84612024565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1615610ef65760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600054610100900460ff166111745760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161092b565b600081831061201d57816118e0565b5090919050565b60005b609a54811015610ef6576000609a828154811061204657612046612b52565b60009182526020808320909101546001600160a01b038681168452609f8352604080852091909216808552925290912060010154909150801561219a576001600160a01b038085166000908152609f60209081526040808320938616808452939091528120600101556120ba908583612344565b6097546098546040517f2dd0568300000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b03868116602483015284811660448301526064820184905290911690632dd0568390608401600060405180830381600087803b15801561213457600080fd5b505af1158015612148573d6000803e3d6000fd5b50505050816001600160a01b0316846001600160a01b03167f540798df468d7b23d11f156fdb954cb19ad414d150722a7b6d55ba369dea792e8360405161219191815260200190565b60405180910390a35b505080806121a790612b68565b915050612027565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610ef6576121ed816001600160a01b0316601461237d565b6121f883602061237d565b604051602001612209929190612bbe565b60408051601f198184030181529082905262461bcd60e51b825261092b91600401612c3f565b6000612284826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661255e9092919063ffffffff16565b805190915015610abb57808060200190518101906122a29190612c72565b610abb5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161092b565b6040516001600160a01b038316602482015260448101829052610abb90849063a9059cbb60e01b90606401611c22565b73efefefefefefefefefefefefefefefefefefefef6001600160a01b0384160361237257610abb828261256d565b610abb838383612636565b6060600061238c836002612b3b565b612397906002612af3565b67ffffffffffffffff8111156123af576123af612c94565b6040519080825280601f01601f1916602001820160405280156123d9576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061241057612410612b52565b60200101906001600160f81b031916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061245b5761245b612b52565b60200101906001600160f81b031916908160001a905350600061247f846002612b3b565b61248a906001612af3565b90505b600181111561250f577f303132333435363738396162636465660000000000000000000000000000000085600f16601081106124cb576124cb612b52565b1a60f81b8282815181106124e1576124e1612b52565b60200101906001600160f81b031916908160001a90535060049490941c9361250881612caa565b905061248d565b5083156118e05760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161092b565b6060610b57848460008561278c565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146125ba576040519150601f19603f3d011682016040523d82523d6000602084013e6125bf565b606091505b5050905080610abb5760405162461bcd60e51b815260206004820152602260248201527f5472616e7366657248656c7065723a2053656e64696e6720455448206661696c60448201527f6564000000000000000000000000000000000000000000000000000000000000606482015260840161092b565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1663a9059cbb60e01b17905291516000928392908716916126a79190612cc1565b6000604051808303816000865af19150503d80600081146126e4576040519150601f19603f3d011682016040523d82523d6000602084013e6126e9565b606091505b50915091508180156127135750805115806127135750808060200190518101906127139190612c72565b6127855760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201527f616e73666572206661696c656400000000000000000000000000000000000000606482015260840161092b565b5050505050565b6060824710156128045760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161092b565b6001600160a01b0385163b61285b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161092b565b600080866001600160a01b031685876040516128779190612cc1565b60006040518083038185875af1925050503d80600081146128b4576040519150601f19603f3d011682016040523d82523d6000602084013e6128b9565b606091505b50915091506128c98282866128d4565b979650505050505050565b606083156128e35750816118e0565b8251156128f35782518084602001fd5b8160405162461bcd60e51b815260040161092b9190612c3f565b60006020828403121561291f57600080fd5b81356001600160e01b0319811681146118e057600080fd5b80356001600160a01b038116811461294e57600080fd5b919050565b6000806040838503121561296657600080fd5b61296f83612937565b946020939093013593505050565b60006020828403121561298f57600080fd5b6118e082612937565b600080604083850312156129ab57600080fd5b6129b483612937565b91506129c260208401612937565b90509250929050565b6000602082840312156129dd57600080fd5b5035919050565b600080600080608085870312156129fa57600080fd5b84359350612a0a60208601612937565b9250612a1860408601612937565b9150612a2660608601612937565b905092959194509250565b60008060408385031215612a4457600080fd5b823591506129c260208401612937565b6020808252825182820181905260009190848201906040850190845b81811015612a955783516001600160a01b031683529284019291840191600101612a70565b50909695505050505050565b600080600060608486031215612ab657600080fd5b83359250612ac660208501612937565b9150612ad460408501612937565b90509250925092565b634e487b7160e01b600052601160045260246000fd5b8082018082111561088357610883612add565b600082612b2357634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561088357610883612add565b808202811582820484141761088357610883612add565b634e487b7160e01b600052603260045260246000fd5b600060018201612b7a57612b7a612add565b5060010190565b600060208284031215612b9357600080fd5b5051919050565b60005b83811015612bb5578181015183820152602001612b9d565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351612bf6816017850160208801612b9a565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351612c33816028840160208801612b9a565b01602801949350505050565b6020815260008251806020840152612c5e816040850160208701612b9a565b601f01601f19169190910160400192915050565b600060208284031215612c8457600080fd5b815180151581146118e057600080fd5b634e487b7160e01b600052604160045260246000fd5b600081612cb957612cb9612add565b506000190190565b60008251612cd3818460208701612b9a565b919091019291505056fea2646970667358221220dae87a967d781f3ce2627bb9c9fd1b8eb6b242eb532e154f7baa380dcfaf529664736f6c63430008110033