0 txs
1 call
constructor
No constructor.
functions
contributor
viewfunction contributor() view returns (address)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
DENOMINATOR
viewfunction DENOMINATOR() view returns (uint256)
earmarkIncentive
viewfunction earmarkIncentive() view returns (uint256)
earmarkOnOperation
viewfunction earmarkOnOperation() view returns (bool)
ePendleIncentive
viewfunction ePendleIncentive() view returns (uint256)
ePendleRewardPool
viewfunction ePendleRewardPool() view returns (address)
ePendleRewardReceiver
viewfunction ePendleRewardReceiver() view returns (address)
eqb
viewfunction eqb() view returns (address)
eqbConfig
viewfunction eqbConfig() view returns (address)
eqbMinter
viewfunction eqbMinter() view returns (address)
farmEqbShare
viewfunction farmEqbShare() view returns (uint256)
getAllowedRewardContracts
viewfunction getAllowedRewardContracts() view returns (address[])
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
isShutdown
viewfunction isShutdown() view returns (bool)
MaxFees
viewfunction MaxFees() view returns (uint256)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
pendle
viewfunction pendle() view returns (address)
pendleProxy
viewfunction pendleProxy() view returns (address)
platformFee
viewfunction platformFee() view returns (uint256)
poolInfo
viewfunction poolInfo(uint256) view returns (address market, address token, address rewardPool, bool shutdown)
poolLength
viewfunction poolLength() view returns (uint256)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
teamEqbShare
viewfunction teamEqbShare() view returns (uint256)
treasury
viewfunction treasury() view returns (address)
vlEqb
viewfunction vlEqb() view returns (address)
vlEqbIncentive
viewfunction vlEqbIncentive() view returns (uint256)
xEqb
viewfunction xEqb() view returns (address)
addAllowedRewardContract
nonpayablefunction addAllowedRewardContract(address _rewardContract)
addPool
nonpayablefunction addPool(address _market, address _token, address _rewardPool)
addPoolBeacon
nonpayablefunction addPoolBeacon(address _market)
deposit
nonpayablefunction deposit(uint256 _pid, uint256 _amount, bool _stake)
depositAll
nonpayablefunction depositAll(uint256 _pid, bool _stake)
earmarkRewards
nonpayablefunction earmarkRewards(uint256 _pid)
earmarkRewardsManually
nonpayablefunction earmarkRewardsManually(uint256 _pid, uint256[] _amounts)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize()
pause
nonpayablefunction pause()
reInitialize
nonpayablefunction reInitialize()
renounceOwnership
nonpayablefunction renounceOwnership()
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
rewardClaimed
nonpayablefunction rewardClaimed(uint256 _pid, address _account, address _token, uint256 _amount)
setContributor
nonpayablefunction setContributor(address _contributor)
setEarmarkOnOperation
nonpayablefunction setEarmarkOnOperation(bool _earmarkOnOperation)
setEqbConfig
nonpayablefunction setEqbConfig(address _eqbConfig)
setFarmEqbShare
nonpayablefunction setFarmEqbShare(uint256 _farmEqbShare)
setFees
nonpayablefunction setFees(uint256 _vlEqbIncentive, uint256 _ePendleIncentive, uint256 _platformFee, uint256 _earmarkIncentive)
setParams
nonpayablefunction setParams(address _pendle, address _pendleProxy, address _eqbMinter, address _eqb, address _xEqb, address _vlEqb, address _ePendleRewardReceiver, address _ePendleRewardPool, address _treasury)
setTeamEqbShare
nonpayablefunction setTeamEqbShare(uint256 _teamEqbShare)
setTreasury
nonpayablefunction setTreasury(address _treasury)
setVlEqb
nonpayablefunction setVlEqb(address _vlEqb)
shutdownPool
nonpayablefunction shutdownPool(uint256 _pid)
shutdownSystem
nonpayablefunction shutdownSystem()
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
withdraw
nonpayablefunction withdraw(uint256 _pid, uint256 _amount)
withdrawAll
nonpayablefunction withdrawAll(uint256 _pid)
events
Deposited
event Deposited(address indexed _user, uint256 indexed _poolid, uint256 _amount)
EarmarkIncentiveSent
event EarmarkIncentiveSent(uint256 _pid, address indexed _caller, address indexed _token, uint256 _amount)
EqbRewardsSent
event EqbRewardsSent(address indexed _to, uint256 _eqbAmount, uint256 _xEqbAmount)
Initialized
event Initialized(uint8 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
PoolAdded
event PoolAdded(uint256 indexed _pid, address indexed _market, address _token, address _rewardPool)
RewardClaimed
event RewardClaimed(uint256 _pid, address indexed _rewardToken, uint256 _amount)
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)
TreasurySent
event TreasurySent(uint256 _pid, address indexed _token, uint256 _amount)
Unpaused
event Unpaused(address account)
Withdrawn
event Withdrawn(address indexed _user, uint256 indexed _poolid, uint256 _amount)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
EnforcedPause
error EnforcedPause()
ExpectedPause
error ExpectedPause()
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
creation bytecode
0x60806040523480156200001157600080fd5b506200001c62000022565b620000e4565b600054610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161015620000e2576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b61594d80620000f46000396000f3fe608060405260043610620003e75760003560e01c8063747947cc1162000203578063b4a049ee1162000117578063d547741f11620000ad578063f8acb4271162000078578063f8acb4271462000c1c578063fb06a59b1462000c41578063fd2173001462000c59578063fd9d339c1462000c7157600080fd5b8063d547741f1462000b88578063e2ef68241462000bad578063f0f442601462000bd2578063f2fde38b1462000bf757600080fd5b8063c7348d1111620000ee578063c7348d111462000af2578063cb34494e1462000b17578063cc956f3f1462000b3c578063d1b1007b1462000b6157600080fd5b8063b4a049ee1462000a8f578063ba80d7871462000ab4578063bf86d6901462000ad657600080fd5b806391d148541162000199578063984a49681162000164578063984a49681462000a0c578063a217fddf1462000a31578063a2c530da1462000a48578063aba650981462000a6a57600080fd5b806391d14854146200093a57806393d484b014620009a3578063958e2d3114620009c5578063983103e014620009ea57600080fd5b80638456cb5911620001da5780638456cb5914620008c55780638adfa64f14620008dd5780638da5cb5b1462000902578063918f8674146200092257600080fd5b8063747947cc14620008635780638129fc1c1462000888578063840dc68914620008a057600080fd5b80633f4ba83a11620002fb5780635c975abb1162000291578063646fcdd2116200025c578063646fcdd214620007ec5780636fcba377146200080e578063715018a614620008335780637303df9a146200084b57600080fd5b80635c975abb146200074757806360759fce146200078057806360cafe8414620007a557806361d027b314620007ca57600080fd5b80634e8b0f1311620002d25780634e8b0f1314620006d35780634f7d3b8114620006eb57806355d4c24414620007035780635baa3108146200072557600080fd5b80633f4ba83a146200067157806343a0d0661462000689578063441a3e7014620006ae57600080fd5b806326232a2e116200037d5780632f2ff15d11620003485780632f2ff15d14620005f7578063354af919146200061c57806336568abe14620006345780633a088cd2146200065957600080fd5b806326232a2e146200057b5780632c1f1c6d14620005935780632dd0568314620005ba5780632de2333714620005df57600080fd5b80631526fe2711620003be5780631526fe27146200046b57806316d6d6c914620004c657806321e2e21d1462000506578063248a9ca3146200052857600080fd5b806301ffc9a714620003f4578063081e3eda146200042e578063092a4c76146200044f57600080fd5b36620003ef57005b600080fd5b3480156200040157600080fd5b50620004196200041336600462004838565b62000c93565b60405190151581526020015b60405180910390f35b3480156200043b57600080fd5b506076545b60405190815260200162000425565b3480156200045c57600080fd5b50607754620004199060ff1681565b3480156200047857600080fd5b50620004906200048a36600462004864565b62000cfd565b6040516200042594939291906001600160a01b039485168152928416602084015292166040820152901515606082015260800190565b348015620004d357600080fd5b50607754620004ed9061010090046001600160a01b031681565b6040516001600160a01b03909116815260200162000425565b3480156200051357600080fd5b50606754620004ed906001600160a01b031681565b3480156200053557600080fd5b50620004406200054736600462004864565b60009081527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602052604090206001015490565b3480156200058857600080fd5b506200044060715481565b348015620005a057600080fd5b50620005b8620005b236600462004894565b62000d4d565b005b348015620005c757600080fd5b50620005b8620005d9366004620048b4565b62000d79565b348015620005ec57600080fd5b50620005b862000eda565b3480156200060457600080fd5b50620005b86200061636600462004901565b62000ef4565b3480156200062957600080fd5b50620005b862000f3c565b3480156200064157600080fd5b50620005b86200065336600462004901565b62000fd4565b3480156200066657600080fd5b506200044060725481565b3480156200067e57600080fd5b50620005b862001028565b3480156200069657600080fd5b50620005b8620006a836600462004943565b6200105e565b348015620006bb57600080fd5b50620005b8620006cd3660046200497f565b620013a3565b348015620006e057600080fd5b506200044060705481565b348015620006f857600080fd5b506200044060735481565b3480156200071057600080fd5b50606d54620004ed906001600160a01b031681565b3480156200073257600080fd5b50606c54620004ed906001600160a01b031681565b3480156200075457600080fd5b507fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033005460ff1662000419565b3480156200078d57600080fd5b50620005b86200079f366004620049a2565b620013f3565b348015620007b257600080fd5b50620005b8620007c436600462004864565b620014a4565b348015620007d757600080fd5b50606b54620004ed906001600160a01b031681565b348015620007f957600080fd5b50606854620004ed906001600160a01b031681565b3480156200081b57600080fd5b50620005b86200082d366004620049ca565b62001573565b3480156200084057600080fd5b50620005b862001768565b3480156200085857600080fd5b5062000440610dac81565b3480156200087057600080fd5b50620005b862000882366004620049fd565b62001780565b3480156200089557600080fd5b50620005b862001bd6565b348015620008ad57600080fd5b50620005b8620008bf36600462004894565b62001cff565b348015620008d257600080fd5b50620005b862001da0565b348015620008ea57600080fd5b50620005b8620008fc36600462004864565b62001dd6565b3480156200090f57600080fd5b506033546001600160a01b0316620004ed565b3480156200092f57600080fd5b506200044061271081565b3480156200094757600080fd5b50620004196200095936600462004901565b60009182527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602090815260408084206001600160a01b0393909316845291905290205460ff1690565b348015620009b057600080fd5b50606954620004ed906001600160a01b031681565b348015620009d257600080fd5b50620005b8620009e436600462004864565b62001e39565b348015620009f757600080fd5b50606a54620004ed906001600160a01b031681565b34801562000a1957600080fd5b50620005b862000a2b36600462004b3d565b62001eec565b34801562000a3e57600080fd5b5062000440600081565b34801562000a5557600080fd5b50606554620004ed906001600160a01b031681565b34801562000a7757600080fd5b50620005b862000a8936600462004be9565b62001f18565b34801562000a9c57600080fd5b50620005b862000aae36600462004864565b62002213565b34801562000ac157600080fd5b50606e54620004ed906001600160a01b031681565b34801562000ae357600080fd5b50607554620004199060ff1681565b34801562000aff57600080fd5b50620005b862000b1136600462004894565b62002276565b34801562000b2457600080fd5b50620005b862000b3636600462004894565b62002855565b34801562000b4957600080fd5b50620005b862000b5b36600462004864565b620028d9565b34801562000b6e57600080fd5b5062000b7962002a28565b60405162000425919062004c30565b34801562000b9557600080fd5b50620005b862000ba736600462004901565b62002a3b565b34801562000bba57600080fd5b50620005b862000bcc36600462004c7f565b62002a83565b34801562000bdf57600080fd5b50620005b862000bf136600462004894565b62002aa0565b34801562000c0457600080fd5b50620005b862000c1636600462004894565b62002acc565b34801562000c2957600080fd5b50620005b862000c3b36600462004894565b62002b5f565b34801562000c4e57600080fd5b506200044060745481565b34801562000c6657600080fd5b5062000440606f5481565b34801562000c7e57600080fd5b50606654620004ed906001600160a01b031681565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148062000cf757507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6076818154811062000d0e57600080fd5b60009182526020909120600390910201805460018201546002909201546001600160a01b0391821693509181169190811690600160a01b900460ff1684565b62000d5762002bce565b606e80546001600160a01b0319166001600160a01b0392909216919091179055565b60006076858154811062000d915762000d9162004c9f565b60009182526020918290206040805160808101825260039390930290910180546001600160a01b03908116845260018201548116948401949094526002015492831690820152600160a01b90910460ff1615156060820152905062000df7338262002c2a565b62000e495760405162461bcd60e51b815260206004820152600560248201527f216175746800000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6065546001600160a01b03848116911614158062000e69575060755460ff165b1562000e76575062000ed4565b62000e85848360735462002c5b565b606e546001600160a01b031662000e9d575062000ed4565b600062000eab828462002e19565b9050801562000ed157606e5460745462000ed1916001600160a01b031690839062002c5b565b50505b50505050565b62000ee462002bce565b62000ef160003362002f7f565b50565b60008281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602052604090206001015462000f308162003052565b62000ed4838362002f7f565b62000f466200305e565b62000f5062002bce565b6075805460ff1916600117905560005b60765481101562000ef15760006076828154811062000f835762000f8362004c9f565b906000526020600020906003020190508060020160149054906101000a900460ff161562000fb2575062000fbf565b62000fbd82620014a4565b505b8062000fcb8162004ccb565b91505062000f60565b6001600160a01b038116331462001017576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b620010238282620030bb565b505050565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a620010548162003052565b62000ef162003163565b620010686200305e565b62001072620031d2565b60755460ff1615620010b25760405162461bcd60e51b815260206004820152600860248201526739b43aba3237bbb760c11b604482015260640162000e40565b600060768481548110620010ca57620010ca62004c9f565b60009182526020918290206040805160808101825260039390930290910180546001600160a01b03908116845260018201548116948401949094526002015492831690820152600160a01b90910460ff161580156060830152909150620011745760405162461bcd60e51b815260206004820152600e60248201527f706f6f6c20697320636c6f736564000000000000000000000000000000000000604482015260640162000e40565b60775460ff1615620011ba57620011ba846000805b604051908082528060200260200182016040528015620011b3578160200160208202803683370190505b5062003236565b8051606654620011da906001600160a01b03808416913391168762003700565b60208201518315620012dc576040516340c10f1960e01b8152306004820152602481018690526001600160a01b038216906340c10f1990604401600060405180830381600087803b1580156200122f57600080fd5b505af115801562001244573d6000803e3d6000fd5b5050505060408301516200125a82828862003786565b6040517f2ee40908000000000000000000000000000000000000000000000000000000008152336004820152602481018790526001600160a01b03821690632ee4090890604401600060405180830381600087803b158015620012bc57600080fd5b505af1158015620012d1573d6000803e3d6000fd5b50505050506200133f565b6040516340c10f1960e01b8152336004820152602481018690526001600160a01b038216906340c10f1990604401600060405180830381600087803b1580156200132557600080fd5b505af11580156200133a573d6000803e3d6000fd5b505050505b604051858152869033907f73a19dd210f1a7f902193214c0ee91dd35ee5b4d920cba8d519eca65a7b488ca9060200160405180910390a35050506200102360017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b620013ad6200305e565b620013b7620031d2565b620013c58282333362003858565b620013ef60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b5050565b620013fd6200305e565b60006076838154811062001415576200141562004c9f565b60009182526020822060039190910201546040516370a0823160e01b81523360048201526001600160a01b03909116925082906370a0823190602401602060405180830381865afa1580156200146f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001495919062004ce7565b905062000ed48482856200105e565b620014ae6200305e565b620014b862002bce565b600060768281548110620014d057620014d062004c9f565b906000526020600020906003020190508060020160149054906101000a900460ff1615620015415760405162461bcd60e51b815260206004820152601160248201527f616c72656164792073687574646f776e21000000000000000000000000000000604482015260640162000e40565b60020180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16600160a01b17905550565b6200157d62002bce565b610dac81836200158e878762004d01565b6200159a919062004d01565b620015a6919062004d01565b1115620015f65760405162461bcd60e51b815260206004820152600860248201527f3e4d617846656573000000000000000000000000000000000000000000000000604482015260640162000e40565b6103e88411156200164a5760405162461bcd60e51b815260206004820152601760248201527f696e76616c6964205f766c457162496e63656e74697665000000000000000000604482015260640162000e40565b61032083101580156200165f57506107d08311155b620016ad5760405162461bcd60e51b815260206004820152601960248201527f696e76616c6964205f6550656e646c65496e63656e7469766500000000000000604482015260640162000e40565b6101f4821115620017015760405162461bcd60e51b815260206004820152601460248201527f696e76616c6964205f706c6174666f726d466565000000000000000000000000604482015260640162000e40565b6064811115620017545760405162461bcd60e51b815260206004820152601960248201527f696e76616c6964205f6561726d61726b496e63656e7469766500000000000000604482015260640162000e40565b606f93909355607091909155607155607255565b6200177262002bce565b6200177e600062003a35565b565b6200178a62002bce565b6066546001600160a01b031615620017e55760405162461bcd60e51b815260206004820152601b60248201527f706172616d732068617320616c7265616479206265656e207365740000000000604482015260640162000e40565b6001600160a01b0389166200183d5760405162461bcd60e51b815260206004820152601060248201527f696e76616c6964205f70656e646c652100000000000000000000000000000000604482015260640162000e40565b6001600160a01b038816620018955760405162461bcd60e51b815260206004820152601560248201527f696e76616c6964205f70656e646c6550726f7879210000000000000000000000604482015260640162000e40565b6001600160a01b038716620018ed5760405162461bcd60e51b815260206004820152601360248201527f696e76616c6964205f6571624d696e7465722100000000000000000000000000604482015260640162000e40565b6001600160a01b038616620019455760405162461bcd60e51b815260206004820152600d60248201527f696e76616c6964205f6571622100000000000000000000000000000000000000604482015260640162000e40565b6001600160a01b0385166200199d5760405162461bcd60e51b815260206004820152600e60248201527f696e76616c6964205f7845716221000000000000000000000000000000000000604482015260640162000e40565b6001600160a01b038416620019f55760405162461bcd60e51b815260206004820152600f60248201527f696e76616c6964205f766c457162210000000000000000000000000000000000604482015260640162000e40565b6001600160a01b03831662001a4d5760405162461bcd60e51b815260206004820152601f60248201527f696e76616c6964205f6550656e646c6552657761726452656365697665722100604482015260640162000e40565b6001600160a01b03821662001aa55760405162461bcd60e51b815260206004820152601b60248201527f696e76616c6964205f6550656e646c65526577617264506f6f6c210000000000604482015260640162000e40565b6001600160a01b03811662001afd5760405162461bcd60e51b815260206004820152601260248201527f696e76616c6964205f7472656173757279210000000000000000000000000000604482015260640162000e40565b6075805460ff19908116909155606580546001600160a01b03199081166001600160a01b039c8d16179091556066805482169a8c169a909a17909955606780548a16988b1698909817909755606880548916968a169690961790955560698054881694891694909417909355606a8054871692881692909217909155606c80548616918716919091179055606d80548516918616919091179055606b805490931693169290921790556101f4606f556105dc60705560fa60715560326072556109c4607355611388607455607780549091166001179055565b600054610100900460ff161580801562001bf75750600054600160ff909116105b8062001c135750303b15801562001c13575060005460ff166001145b62001c875760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840162000e40565b6000805460ff19166001179055801562001cab576000805461ff0019166101001790555b62001cb562003a87565b801562000ef1576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b62001d0962002bce565b6001600160a01b03811662001d615760405162461bcd60e51b815260206004820152601260248201527f696e76616c6964205f657162436f6e6669670000000000000000000000000000604482015260640162000e40565b607780546001600160a01b03909216610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff909216919091179055565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a62001dcc8162003052565b62000ef162003afe565b62001de062002bce565b61271081111562001e345760405162461bcd60e51b815260206004820152601560248201527f696e76616c6964205f7465616d45716253686172650000000000000000000000604482015260640162000e40565b607455565b62001e436200305e565b60006076828154811062001e5b5762001e5b62004c9f565b60009182526020822060039190910201600101546040516370a0823160e01b81523360048201526001600160a01b03909116925082906370a0823190602401602060405180830381865afa15801562001eb8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001ede919062004ce7565b9050620010238382620013a3565b62001ef66200305e565b62001f0062002bce565b62001f0a620031d2565b620013c58260008362003236565b62001f226200305e565b62001f2c62002bce565b60755460ff161562001f6a5760405162461bcd60e51b815260040162000e40906020808252600490820152630858591960e21b604082015260600190565b6066546040516358e6309f60e01b81526001600160a01b038581166004830152909116906358e6309f90602401602060405180830381865afa15801562001fb5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001fdb919062004d17565b620020295760405162461bcd60e51b815260206004820152600f60248201527f696e76616c6964205f6d61726b65740000000000000000000000000000000000604482015260640162000e40565b6076546065546040517ff376d798000000000000000000000000000000000000000000000000000000008152600481018390526001600160a01b03858116602483015291821660448201529083169063f376d79890606401600060405180830381600087803b1580156200209c57600080fd5b505af1158015620020b1573d6000803e3d6000fd5b5050604080516080810182526001600160a01b0380891680835288821660208401908152888316848601908152600060608601818152607680546001810182559252955160039091027fb5732705f5241370a28908c2fe1303cb223f03b90d857fd0573f003f79fefed4810180549287166001600160a01b031993841617905592517fb5732705f5241370a28908c2fe1303cb223f03b90d857fd0573f003f79fefed58401805491871691909216179055517fb5732705f5241370a28908c2fe1303cb223f03b90d857fd0573f003f79fefed6909101805494511515600160a01b0274ffffffffffffffffffffffffffffffffffffffffff19909516919093161792909217905590519092508391507fe694de883385e30d535f625d68df4b2b5e866e8e86fe9d15554480c8d1812e60906200220590879087906001600160a01b0392831681529116602082015260400190565b60405180910390a350505050565b6200221d62002bce565b612710811115620022715760405162461bcd60e51b815260206004820152601560248201527f696e76616c6964205f6661726d45716253686172650000000000000000000000604482015260640162000e40565b607355565b620022806200305e565b6200228a62002bce565b60755460ff1615620022c85760405162461bcd60e51b815260040162000e40906020808252600490820152630858591960e21b604082015260600190565b6066546040516358e6309f60e01b81526001600160a01b038381166004830152909116906358e6309f90602401602060405180830381865afa15801562002313573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002339919062004d17565b620023875760405162461bcd60e51b815260206004820152600f60248201527f696e76616c6964205f6d61726b65740000000000000000000000000000000000604482015260640162000e40565b607654607754604051631c2d8fb360e31b81527f1d092385024761d506ec5944d093f31fdf498c4d87d2038943cbf7b2365188a8600482015260009161010090046001600160a01b03169063e16c7d9890602401602060405180830381865afa158015620023f9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200241f919062004d37565b604080513360248201523060448201526001600160a01b03861660648083019190915282518083039091018152608490910182526020810180516001600160e01b03167fc0c53b8b00000000000000000000000000000000000000000000000000000000179052905162002493906200482a565b620024a092919062004dab565b604051809103906000f080158015620024bd573d6000803e3d6000fd5b50607754604051631c2d8fb360e31b81527f0cfba2e9c29fb61a2468980d873a96e404d174b6d679092e102067246524e9c860048201529192506000916101009091046001600160a01b03169063e16c7d9890602401602060405180830381865afa15801562002531573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002557919062004d37565b604080513360248201523060448083019190915282518083039091018152606490910182526020810180516001600160e01b03167f485cc955000000000000000000000000000000000000000000000000000000001790529051620025bc906200482a565b620025c992919062004dab565b604051809103906000f080158015620025e6573d6000803e3d6000fd5b50606554607754604051631c2d8fb360e31b81527f0d9220c5a54429cfa477a0704b2432a11f5c7d78b9999e01aa0505ac2502a5a760048201529293506001600160a01b0380851693632cf404dc9388938893918216926101009091049091169063e16c7d9890602401602060405180830381865afa1580156200266e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002694919062004d37565b6040516001600160e01b031960e087901b16815260048101949094526001600160a01b0392831660248501529082166044840152166064820152608401600060405180830381600087803b158015620026ec57600080fd5b505af115801562002701573d6000803e3d6000fd5b5050604080516080810182526001600160a01b0380891680835287821660208401908152878316848601908152600060608601818152607680546001810182559252955160039091027fb5732705f5241370a28908c2fe1303cb223f03b90d857fd0573f003f79fefed4810180549287166001600160a01b031993841617905592517fb5732705f5241370a28908c2fe1303cb223f03b90d857fd0573f003f79fefed58401805491871691909216179055517fb5732705f5241370a28908c2fe1303cb223f03b90d857fd0573f003f79fefed6909101805494511515600160a01b0274ffffffffffffffffffffffffffffffffffffffffff19909516919093161792909217905590519092508591507fe694de883385e30d535f625d68df4b2b5e866e8e86fe9d15554480c8d1812e60906200220590869086906001600160a01b0392831681529116602082015260400190565b6200285f62002bce565b6001600160a01b038116620028b75760405162461bcd60e51b815260206004820152600e60248201527f696e76616c6964205f766c457162000000000000000000000000000000000000604482015260640162000e40565b606a80546001600160a01b0319166001600160a01b0392909216919091179055565b620028e36200305e565b620028ed620031d2565b60755460ff16156200292d5760405162461bcd60e51b815260206004820152600860248201526739b43aba3237bbb760c11b604482015260640162000e40565b60006076828154811062002945576200294562004c9f565b60009182526020918290206040805160808101825260039390930290910180546001600160a01b03908116845260018201548116948401949094526002015492831690820152600160a01b90910460ff161580156060830152909150620029ef5760405162461bcd60e51b815260206004820152600e60248201527f706f6f6c20697320636c6f736564000000000000000000000000000000000000604482015260640162000e40565b620029fd8233600062001189565b5062000ef160017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b606062002a3660dc62003b5c565b905090565b60008281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602052604090206001015462002a778162003052565b62000ed48383620030bb565b62002a8d62002bce565b6077805460ff1916911515919091179055565b62002aaa62002bce565b606b80546001600160a01b0319166001600160a01b0392909216919091179055565b62002ad662002bce565b6001600160a01b03811662002b545760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840162000e40565b62000ef18162003a35565b62002b6962002bce565b6001600160a01b03811662002bc15760405162461bcd60e51b815260206004820152601760248201527f696e76616c6964205f726577617264436f6e7472616374000000000000000000604482015260640162000e40565b620013ef60dc8262003b6b565b6033546001600160a01b031633146200177e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000e40565b600062002c38838362003b82565b1562002c475750600162000cf7565b62002c5460dc8462003bbd565b9392505050565b6067546040516340c10f1960e01b8152306004820152602481018490526000916001600160a01b0316906340c10f19906044016020604051808303816000875af115801562002cae573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002cd4919062004ce7565b9050600061271062002ce7848462004dcf565b62002cf3919062004de9565b9050801562002d155760685462002d15906001600160a01b0316868362003be0565b600062002d23828462004e0c565b9050801562002dcd5760685460695462002d4b916001600160a01b0390811691168362003786565b6069546040517f5a1d34dc000000000000000000000000000000000000000000000000000000008152600481018390526001600160a01b03888116602483015290911690635a1d34dc90604401600060405180830381600087803b15801562002db357600080fd5b505af115801562002dc8573d6000803e3d6000fd5b505050505b60408051838152602081018390526001600160a01b038816917f73e52f1e16a2ca14e6073adf347cbfb544c812b1c1c91161c8d631929c1ed0bd910160405180910390a2505050505050565b600080836000015190506000816001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002e64573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002e8a919062004ce7565b6066546040516370a0823160e01b81526001600160a01b039182166004820152612710918516906370a0823190602401602060405180830381865afa15801562002ed8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002efe919062004ce7565b62002f0a919062004dcf565b62002f16919062004de9565b905060006103e8821162002f2d5750600062002f5a565b6107d0821162002f4157506104ce62002f5a565b610bb8821162002f55575061098862002f5a565b50610e4c5b61271062002f69828762004dcf565b62002f75919062004de9565b9695505050505050565b60008281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602081815260408084206001600160a01b038616855290915282205460ff1662003047576000848152602082815260408083206001600160a01b03871684529091529020805460ff1916600117905562002ffc3390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4600191505062000cf7565b600091505062000cf7565b62000ef1813362003c12565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033005460ff16156200177e576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602081815260408084206001600160a01b038616855290915282205460ff161562003047576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a4600191505062000cf7565b6200316d62003ca1565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300805460ff191681557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200162001cf4565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0080546001190162003230576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60029055565b6000607684815481106200324e576200324e62004c9f565b60009182526020918290206040805160808101825260039390930290910180546001600160a01b03908116845260018201548116948401949094526002015492831690820152600160a01b90910460ff16151560608083019190915283519192509015620033555760665482516040517f81e11bd00000000000000000000000000000000000000000000000000000000081526001600160a01b03909216916381e11bd0916200330391879060040162004e22565b6000604051808303816000875af115801562003323573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200334d919081019062004ef3565b9050620033eb565b60665482516040517fef5cfb8c0000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015291169063ef5cfb8c906024016000604051808303816000875af1158015620033bc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620033e6919081019062004f2c565b935090505b60005b815181101562000ed15760008282815181106200340f576200340f62004c9f565b60200260200101519050600085838151811062003430576200343062004c9f565b6020026020010151905060006001600160a01b0316826001600160a01b031614806200345a575080155b1562003468575050620036eb565b806200347e6001600160a01b0384163062003cfd565b10156200348d575050620036eb565b60408051898152602081018390526001600160a01b038416917f24b5efa61dd1cfc659205a97fb8ed868f3cb8c81922bab2b96423e5de1de2cb7910160405180910390a26000612710606f5483620034e6919062004dcf565b620034f2919062004de9565b905060006127106070548462003509919062004dcf565b62003515919062004de9565b905060006001600160a01b038a16158015906200353457506000607254115b15620035c957612710607254856200354d919062004dcf565b62003559919062004de9565b9050620035716001600160a01b0386168b8362003dab565b846001600160a01b03168a6001600160a01b03167feb61b3077d80c52baa13c8662f84cf95a6a0deacbaa6328777f483de4e5152528d84604051620035c0929190918252602082015260400190565b60405180910390a35b60715460009015620036585761271060715486620035e8919062004dcf565b620035f4919062004de9565b606b5490915062003613906001600160a01b0388811691168362003dab565b604080518d8152602081018390526001600160a01b038816917f824a097e8d4e9580223eddbe4bf5cfd647cc4d997b60a0371177169fd3302c2d910160405180910390a25b80828462003667878962004e0c565b62003673919062004e0c565b6200367f919062004e0c565b6200368b919062004e0c565b94506200369e8960400151878762003de9565b8315620036c157606a54620036c1906001600160a01b0388811691168662003dab565b8215620036e457606c54620036e4906001600160a01b0388811691168562003dab565b5050505050505b80620036f78162004ccb565b915050620033ee565b6040516001600160a01b038085166024830152831660448201526064810182905262000ed49085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262003efd565b604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015282919085169063dd62ed3e90604401602060405180830381865afa158015620037d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620037fc919062004ce7565b101562001023576200381a6001600160a01b03841683600062003fec565b620010236001600160a01b0384168360001962003fec565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b60006076858154811062003870576200387062004c9f565b60009182526020918290206040805160808101825260039390930290910180546001600160a01b039081168085526001830154821695850186905260029092015480821685850152600160a01b900460ff161515606085015291517f9dc29fac0000000000000000000000000000000000000000000000000000000081529187166004830152602482018890529193509091908190639dc29fac90604401600060405180830381600087803b1580156200392957600080fd5b505af11580156200393e573d6000803e3d6000fd5b505060775460ff161591506200395e9050576200395e8760008062001189565b6066546040517fd9caed120000000000000000000000000000000000000000000000000000000081526001600160a01b0384811660048301528681166024830152604482018990529091169063d9caed1290606401600060405180830381600087803b158015620039ce57600080fd5b505af1158015620039e3573d6000803e3d6000fd5b5050505086846001600160a01b03167f92ccf450a286a957af52509bc1c9939d1a6a481783e142e41e2499f0bb66ebc68860405162003a2491815260200190565b60405180910390a350505050505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff1662003af45760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840162000e40565b6200177e62004129565b62003b086200305e565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300805460ff191660011781557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833620031b9565b6060600062002c5483620041be565b600062002c54836001600160a01b0384166200421c565b600081604001516001600160a01b0316836001600160a01b0316148062002c545750606d546001600160a01b03848116911614905092915050565b6001600160a01b0381166000908152600183016020526040812054151562002c54565b6040516001600160a01b0383166024820152604481018290526200102390849063a9059cbb60e01b906064016200374e565b60008281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602090815260408083206001600160a01b038516845290915290205460ff16620013ef576040517fe2517d3f0000000000000000000000000000000000000000000000000000000081526001600160a01b03821660048201526024810183905260440162000e40565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033005460ff166200177e576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073efefefefefefefefefefefefefefefefefefefef6001600160a01b0384160362003d3657506001600160a01b0381163162000cf7565b6040516370a0823160e01b81526001600160a01b0383811660048301528416906370a0823190602401602060405180830381865afa15801562003d7d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003da3919062004ce7565b905062000cf7565b73efefefefefefefefefefefefefefefefefefefef6001600160a01b0384160362003ddc576200102382826200426e565b620010238383836200433b565b8060000362003df757505050565b73efefefefefefefefefefefefefefefefefefefef6001600160a01b0383160362003e87576040516304d0c2c560e01b81526001600160a01b038381166004830152602482018390528416906304d0c2c59083906044016000604051808303818588803b15801562003e6857600080fd5b505af115801562003e7d573d6000803e3d6000fd5b5050505050505050565b62003e9482848362003786565b6040516304d0c2c560e01b81526001600160a01b038381166004830152602482018390528416906304d0c2c590604401600060405180830381600087803b15801562003edf57600080fd5b505af115801562003ef4573d6000803e3d6000fd5b50505050505050565b600062003f54826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316620044869092919063ffffffff16565b905080516000148062003f7857508080602001905181019062003f78919062004d17565b620010235760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840162000e40565b8015806200406a5750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa15801562004042573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062004068919062004ce7565b155b620040de5760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000606482015260840162000e40565b6040516001600160a01b038316602482015260448101829052620010239084907f095ea7b300000000000000000000000000000000000000000000000000000000906064016200374e565b600054610100900460ff16620041965760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840162000e40565b620041a06200449f565b620041aa62004517565b620041b462004584565b6200177e620045f1565b6060816000018054806020026020016040519081016040528092919081815260200182805480156200421057602002820191906000526020600020905b815481526020019060010190808311620041fb575b50505050509050919050565b6000818152600183016020526040812054620042655750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915562000cf7565b50600062000cf7565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114620042bd576040519150601f19603f3d011682016040523d82523d6000602084013e620042c2565b606091505b5050905080620010235760405162461bcd60e51b815260206004820152602260248201527f5472616e7366657248656c7065723a2053656e64696e6720455448206661696c60448201527f6564000000000000000000000000000000000000000000000000000000000000606482015260840162000e40565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b179052915160009283929087169162004399919062004fe4565b6000604051808303816000865af19150503d8060008114620043d8576040519150601f19603f3d011682016040523d82523d6000602084013e620043dd565b606091505b50915091508180156200440b5750805115806200440b5750808060200190518101906200440b919062004d17565b6200447f5760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201527f616e73666572206661696c656400000000000000000000000000000000000000606482015260840162000e40565b5050505050565b606062004497848460008562004689565b949350505050565b600054610100900460ff166200450c5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840162000e40565b6200177e3362003a35565b600054610100900460ff16620038325760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840162000e40565b600054610100900460ff166200177e5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840162000e40565b600054610100900460ff166200465e5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840162000e40565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300805460ff19169055565b606082471015620047035760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840162000e40565b600080866001600160a01b0316858760405162004721919062004fe4565b60006040518083038185875af1925050503d806000811462004760576040519150601f19603f3d011682016040523d82523d6000602084013e62004765565b606091505b5091509150620047788783838762004783565b979650505050505050565b60608315620047f7578251600003620047ef576001600160a01b0385163b620047ef5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000e40565b508162004497565b6200449783838151156200480e5781518083602001fd5b8060405162461bcd60e51b815260040162000e40919062005002565b610900806200501883390190565b6000602082840312156200484b57600080fd5b81356001600160e01b03198116811462002c5457600080fd5b6000602082840312156200487757600080fd5b5035919050565b6001600160a01b038116811462000ef157600080fd5b600060208284031215620048a757600080fd5b813562002c54816200487e565b60008060008060808587031215620048cb57600080fd5b843593506020850135620048df816200487e565b92506040850135620048f1816200487e565b9396929550929360600135925050565b600080604083850312156200491557600080fd5b82359150602083013562004929816200487e565b809150509250929050565b801515811462000ef157600080fd5b6000806000606084860312156200495957600080fd5b83359250602084013591506040840135620049748162004934565b809150509250925092565b600080604083850312156200499357600080fd5b50508035926020909101359150565b60008060408385031215620049b657600080fd5b823591506020830135620049298162004934565b60008060008060808587031215620049e157600080fd5b5050823594602084013594506040840135936060013592509050565b60008060008060008060008060006101208a8c03121562004a1d57600080fd5b893562004a2a816200487e565b985060208a013562004a3c816200487e565b975060408a013562004a4e816200487e565b965060608a013562004a60816200487e565b955060808a013562004a72816200487e565b945060a08a013562004a84816200487e565b935060c08a013562004a96816200487e565b925060e08a013562004aa8816200487e565b91506101008a013562004abb816200487e565b809150509295985092959850929598565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562004b0e5762004b0e62004acc565b604052919050565b600067ffffffffffffffff82111562004b335762004b3362004acc565b5060051b60200190565b6000806040838503121562004b5157600080fd5b8235915060208084013567ffffffffffffffff81111562004b7157600080fd5b8401601f8101861362004b8357600080fd5b803562004b9a62004b948262004b16565b62004ae2565b81815260059190911b8201830190838101908883111562004bba57600080fd5b928401925b8284101562004bda5783358252928401929084019062004bbf565b80955050505050509250929050565b60008060006060848603121562004bff57600080fd5b833562004c0c816200487e565b9250602084013562004c1e816200487e565b9150604084013562004974816200487e565b6020808252825182820181905260009190848201906040850190845b8181101562004c735783516001600160a01b03168352928401929184019160010162004c4c565b50909695505050505050565b60006020828403121562004c9257600080fd5b813562002c548162004934565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820162004ce05762004ce062004cb5565b5060010190565b60006020828403121562004cfa57600080fd5b5051919050565b8082018082111562000cf75762000cf762004cb5565b60006020828403121562004d2a57600080fd5b815162002c548162004934565b60006020828403121562004d4a57600080fd5b815162002c54816200487e565b60005b8381101562004d7457818101518382015260200162004d5a565b50506000910152565b6000815180845262004d9781602086016020860162004d57565b601f01601f19169290920160200192915050565b6001600160a01b038316815260406020820152600062004497604083018462004d7d565b808202811582820484141762000cf75762000cf762004cb5565b60008262004e0757634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111562000cf75762000cf762004cb5565b6000604082016001600160a01b03851683526020604081850152818551808452606086019150828701935060005b8181101562004e6e5784518352938301939183019160010162004e50565b5090979650505050505050565b600082601f83011262004e8d57600080fd5b8151602062004ea062004b948362004b16565b82815260059290921b8401810191818101908684111562004ec057600080fd5b8286015b8481101562004ee857805162004eda816200487e565b835291830191830162004ec4565b509695505050505050565b60006020828403121562004f0657600080fd5b815167ffffffffffffffff81111562004f1e57600080fd5b620044978482850162004e7b565b6000806040838503121562004f4057600080fd5b825167ffffffffffffffff8082111562004f5957600080fd5b62004f678683870162004e7b565b935060209150818501518181111562004f7f57600080fd5b85019050601f8101861362004f9357600080fd5b805162004fa462004b948262004b16565b81815260059190911b8201830190838101908883111562004fc457600080fd5b928401925b8284101562004bda5783518252928401929084019062004fc9565b6000825162004ff881846020870162004d57565b9190910192915050565b60208152600062002c54602083018462004d7d56fe60806040526040516109003803806109008339810160408190526100229161045b565b61002e82826000610035565b5050610585565b61003e83610100565b6040516001600160a01b038416907f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e90600090a260008251118061007f5750805b156100fb576100f9836001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100e9919061051b565b836102a360201b6100291760201c565b505b505050565b610113816102cf60201b6100551760201c565b6101725760405162461bcd60e51b815260206004820152602560248201527f455243313936373a206e657720626561636f6e206973206e6f74206120636f6e6044820152641d1c9858dd60da1b60648201526084015b60405180910390fd5b6101e6816001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d7919061051b565b6102cf60201b6100551760201c565b61024b5760405162461bcd60e51b815260206004820152603060248201527f455243313936373a20626561636f6e20696d706c656d656e746174696f6e206960448201526f1cc81b9bdd08184818dbdb9d1c9858dd60821b6064820152608401610169565b806102827fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5060001b6102de60201b6100641760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b60606102c883836040518060600160405280602781526020016108d9602791396102e1565b9392505050565b6001600160a01b03163b151590565b90565b6060600080856001600160a01b0316856040516102fe9190610536565b600060405180830381855af49150503d8060008114610339576040519150601f19603f3d011682016040523d82523d6000602084013e61033e565b606091505b5090925090506103508683838761035a565b9695505050505050565b606083156103c95782516000036103c2576001600160a01b0385163b6103c25760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610169565b50816103d3565b6103d383836103db565b949350505050565b8151156103eb5781518083602001fd5b8060405162461bcd60e51b81526004016101699190610552565b80516001600160a01b038116811461041c57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561045257818101518382015260200161043a565b50506000910152565b6000806040838503121561046e57600080fd5b61047783610405565b60208401519092506001600160401b038082111561049457600080fd5b818501915085601f8301126104a857600080fd5b8151818111156104ba576104ba610421565b604051601f8201601f19908116603f011681019083821181831017156104e2576104e2610421565b816040528281528860208487010111156104fb57600080fd5b61050c836020830160208801610437565b80955050505050509250929050565b60006020828403121561052d57600080fd5b6102c882610405565b60008251610548818460208701610437565b9190910192915050565b6020815260008251806020840152610571816040850160208701610437565b601f01601f19169190910160400192915050565b610345806105946000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610067565b610100565b565b606061004e83836040518060600160405280602781526020016102e960279139610124565b9392505050565b6001600160a01b03163b151590565b90565b600061009a7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50546001600160a01b031690565b6001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100fb919061024c565b905090565b3660008037600080366000845af43d6000803e80801561011f573d6000f35b3d6000fd5b6060600080856001600160a01b0316856040516101419190610299565b600060405180830381855af49150503d806000811461017c576040519150601f19603f3d011682016040523d82523d6000602084013e610181565b606091505b50915091506101928683838761019c565b9695505050505050565b60608315610210578251600003610209576001600160a01b0385163b6102095760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b508161021a565b61021a8383610222565b949350505050565b8151156102325781518083602001fd5b8060405162461bcd60e51b815260040161020091906102b5565b60006020828403121561025e57600080fd5b81516001600160a01b038116811461004e57600080fd5b60005b83811015610290578181015183820152602001610278565b50506000910152565b600082516102ab818460208701610275565b9190910192915050565b60208152600082518060208401526102d4816040850160208701610275565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220ffe00e0079cc1a2acb095461778927bbefa03c121a15df9414db66add1221cf964736f6c63430008110033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220cc144a98fbac3678d8c1180dd64b49d8e52002dd1044f764dac2affda066aa3064736f6c63430008110033