0 txs
0 calls
constructor
constructor(address _myo, address _router)
functions
authorized
viewfunction authorized(address) view returns (bool)
ETHBank
viewfunction ETHBank() view returns (address)
ETHLeftUnclaimed
viewfunction ETHLeftUnclaimed() view returns (uint256)
ETHLeftUnshared
viewfunction ETHLeftUnshared() view returns (uint256)
ETHPerBlock
viewfunction ETHPerBlock() view returns (uint256)
getMultiplier
purefunction getMultiplier(uint256 _from, uint256 _to) pure returns (uint256)
isEmergency
viewfunction isEmergency() view returns (bool)
isNFTContract
viewfunction isNFTContract(address) view returns (bool)
Myobu
viewfunction Myobu() view returns (address)
numdays
viewfunction numdays() view returns (uint256)
owner
viewfunction owner() view returns (address)
pendingRewards
viewfunction pendingRewards(uint256 _pid, address _user) view returns (uint256, uint256)
poolExistence
viewfunction poolExistence(address) view returns (bool)
poolInfo
viewfunction poolInfo(uint256) view returns (address lpToken, uint64 allocPoint, uint64 lastRewardBlock, uint112 accRwtPerShare, uint112 accETHPerShare, uint112 weightedBalance)
poolLength
viewfunction poolLength() view returns (uint256)
router
viewfunction router() view returns (address)
rwt
viewfunction rwt() view returns (address)
rwtPerBlock
viewfunction rwtPerBlock() view returns (uint256)
startBlock
viewfunction startBlock() view returns (uint256)
tokenReleased
viewfunction tokenReleased() view returns (bool)
totalAllocPoint
viewfunction totalAllocPoint() view returns (uint256)
userInfo
viewfunction userInfo(uint256, address) view returns (uint16 boostPointsBP, uint16 lockTimeBoost, uint32 lockedUntil, uint96 claimableRWT, uint96 claimableETH, uint112 amount, uint112 weightedBalance, uint112 rewardDebt, uint112 ETHrewardDebt)
WETH
viewfunction WETH() view returns (address)
add
nonpayablefunction add(uint64 _allocPoint, address _lpToken, bool _withUpdate)
addLiquidityNoFeeAndStake
payablefunction addLiquidityNoFeeAndStake(uint256 amountTokensIn, uint256 amountETHMin, uint256 amountTokenMin, uint256 lockTime) payable
addNFTContract
nonpayablefunction addNFTContract(address NFTcontract)
addToClaimable
nonpayablefunction addToClaimable(uint256 _pid, address sender)
authorize
nonpayablefunction authorize(address _address)
boostWithNFT
nonpayablefunction boostWithNFT(uint256 _pid, address NFTContract, uint256 tokenID)
buyAndStakeETH
payablefunction buyAndStakeETH(uint256 amountOutMin, uint256 lockTime) payable
deposit
nonpayablefunction deposit(uint256 _pid, uint256 _amount, uint256 lockTime)
depositFor
nonpayablefunction depositFor(address sender, uint256 _pid, uint256 amount, uint256 lockTime)
emergency
nonpayablefunction emergency(bool _isEmergency)
emergencyWithdraw
nonpayablefunction emergencyWithdraw(uint256 _pid)
massUpdatePools
nonpayablefunction massUpdatePools()
onERC721Received
nonpayablefunction onERC721Received(address, address, uint256, bytes) returns (bytes4)
reinvestETHRewards
nonpayablefunction reinvestETHRewards(uint256 amountOutMin)
renounceOwnership
nonpayablefunction renounceOwnership()
rescueToken
nonpayablefunction rescueToken(address tokenAddress)
set
nonpayablefunction set(uint256 _pid, uint64 _allocPoint, bool _withUpdate)
setETHBank
nonpayablefunction setETHBank(address _ETHBank)
setnumdays
nonpayablefunction setnumdays(uint256 _days)
setRewardToken
nonpayablefunction setRewardToken(address _RWT, uint256 _rwtPerBlock)
setRouter
nonpayablefunction setRouter(address _router)
startRewards
nonpayablefunction startRewards()
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unauthorize
nonpayablefunction unauthorize(address _address)
updateEmissionRate
nonpayablefunction updateEmissionRate(uint256 _rwtPerBlock)
updatePool
nonpayablefunction updatePool(uint256 _pid)
updateUserWeightedBalance
nonpayablefunction updateUserWeightedBalance(uint256 _pid, address _user)
withdraw
nonpayablefunction withdraw(uint32 _pid, uint256 _amount)
withdrawNFT
nonpayablefunction withdrawNFT(uint256 _pid, address NFTContract, uint256 tokenID)
events
Deposit
event Deposit(address indexed user, uint256 indexed pid, uint256 amount)
Emergency
event Emergency(uint256 timestamp, bool ifEmergency)
EmergencyWithdraw
event EmergencyWithdraw(address indexed user, uint256 indexed pid, uint256 amount)
NFTStaked
event NFTStaked(address indexed user, address indexed NFTContract, uint256 tokenID)
NFTWithdrawn
event NFTWithdrawn(address indexed user, address indexed NFTContract, uint256 tokenID)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
RewardTokenSet
event RewardTokenSet(address indexed tokenAddress, uint256 indexed rwtPerBlock, uint256 timestamp)
TokensLocked
event TokensLocked(address indexed user, uint256 timestamp, uint256 lockTime)
UpdateEmissionRate
event UpdateEmissionRate(address indexed user, uint256 rwtPerBlock)
Withdraw
event Withdraw(address indexed user, uint256 indexed pid, uint256 amount)
errors
No errors.
creation bytecode
0x60806040523480156200001157600080fd5b5060405162004e5e38038062004e5e83398101604081905262000034916200018a565b6200003f3362000113565b60018055600280546001600160a01b038085166001600160a01b031992831617909255600480549284169290911682178155604080516315ab88c960e31b8152905163ad5c464892828101926020929190829003018186803b158015620000a557600080fd5b505afa158015620000ba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000e0919062000163565b600580546001600160a01b0319166001600160a01b039290921691909117905550506000196010556001600c55620001e2565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156200017657600080fd5b81516200018381620001c9565b9392505050565b600080604083850312156200019e57600080fd5b8251620001ab81620001c9565b6020840151909250620001be81620001c9565b809150509250929050565b6001600160a01b0381168114620001df57600080fd5b50565b614c6c80620001f26000396000f3fe6080604052600436106103025760003560e01c80635f2ecf8a11610190578063ad5c4648116100dc578063d18df53c11610095578063f0b37c041161006f578063f0b37c0414610a89578063f2fde38b14610aa9578063f77a3fb914610ac9578063f887ea4014610ae957610321565b8063d18df53c14610a14578063d89ea34b14610a49578063e1886f6914610a6957610321565b8063ad5c464814610934578063b6a5d7de14610954578063b918161114610974578063c0d78655146109a4578063cbd258b5146109c4578063cfac5d7c146109f457610321565b806367dcaf94116101495780638dbb1e3a116101235780638dbb1e3a146107c957806393f1a40b146107e95780639f966662146108f4578063aa97b0a01461091457610321565b806367dcaf9414610780578063715018a6146107965780638da5cb5b146107ab57610321565b80635f2ecf8a146106d65780635f9e8f82146106ec57806360c6843e1461070b578063614f33641461072b578063630b5ba11461074b57806364524c2b1461076057610321565b80633f21f5cb1161024f57806351eb05a61161020857806354f29ce2116101e257806354f29ce21461066a5780635975e332146106805780635dd19829146106a05780635f228a3d146106c057610321565b806351eb05a61461060a5780635312ea8e1461062a578063533981191461064a57610321565b80633f21f5cb14610567578063401519b61461057a5780634460d3cf1461059a57806348cd4cb1146105ba5780634a76564e146105d05780634d90dd42146105ea57610321565b8063150b7a02116102bc5780631a9bd1c9116102965780631a9bd1c9146104e45780632d5310e71461051c5780632dfd0bdc1461053c5780633312edf21461055157610321565b8063150b7a02146104185780631526fe271461045c57806317caf6f1146104ce57610321565b8062aeef8a1461034157806306f43a8c14610361578063081e3eda1461037457806309aaf684146103985780630ba84cd2146103d85780630e19dc3a146103f857610321565b36610321576006546001600160a01b031633141561031f57600080fd5b005b34600a60008282546103339190614a42565b9091555061031f9050610b09565b34801561034d57600080fd5b5061031f61035c366004614790565b610b32565b61031f61036f3660046147ea565b610b78565b34801561038057600080fd5b50600d545b6040519081526020015b60405180910390f35b3480156103a457600080fd5b506103c86103b3366004614537565b60076020526000908152604090205460ff1681565b604051901515815260200161038f565b3480156103e457600080fd5b5061031f6103f33660046146d4565b610f7c565b34801561040457600080fd5b5061031f61041336600461485c565b611053565b34801561042457600080fd5b50610443610433366004614554565b630a85bd0160e11b949350505050565b6040516001600160e01b0319909116815260200161038f565b34801561046857600080fd5b5061047c6104773660046146d4565b61134c565b604080516001600160a01b0390971687526001600160401b03958616602088015294909316938501939093526001600160701b03908116606085015291821660808401521660a082015260c00161038f565b3480156104da57600080fd5b50610385600f5481565b3480156104f057600080fd5b50600354610504906001600160a01b031681565b6040516001600160a01b03909116815260200161038f565b34801561052857600080fd5b5061031f610537366004614736565b6113bf565b34801561054857600080fd5b5061031f6118bd565b34801561055d57600080fd5b5061038560085481565b61031f61057536600461476e565b6119b6565b34801561058657600080fd5b5061031f61059536600461481c565b611dab565b3480156105a657600080fd5b5061031f6105b5366004614537565b611e8c565b3480156105c657600080fd5b5061038560105481565b3480156105dc57600080fd5b506011546103c89060ff1681565b3480156105f657600080fd5b5061031f610605366004614706565b612045565b34801561061657600080fd5b5061031f6106253660046146d4565b6120c5565b34801561063657600080fd5b5061031f6106453660046146d4565b6122fb565b34801561065657600080fd5b5061031f61066536600461469a565b61249a565b34801561067657600080fd5b50610385600a5481565b34801561068c57600080fd5b5061031f61069b366004614736565b61251a565b3480156106ac57600080fd5b5061031f6106bb366004614706565b612819565b3480156106cc57600080fd5b50610385600c5481565b3480156106e257600080fd5b50610385600b5481565b3480156106f857600080fd5b506011546103c890610100900460ff1681565b34801561071757600080fd5b50600654610504906001600160a01b031681565b34801561073757600080fd5b5061031f61074636600461465f565b612a5f565b34801561075757600080fd5b5061031f612ae4565b34801561076c57600080fd5b50600254610504906001600160a01b031681565b34801561078c57600080fd5b5061038560095481565b3480156107a257600080fd5b5061031f612b0f565b3480156107b757600080fd5b506000546001600160a01b0316610504565b3480156107d557600080fd5b506103856107e436600461476e565b612b43565b3480156107f557600080fd5b50610887610804366004614706565b600e60209081526000928352604080842090915290825290208054600182015460029092015461ffff808316936201000084049091169263ffffffff600160201b820416926001600160601b03600160401b8304811693600160a01b90930416916001600160701b0380821692600160701b928390048216928183169291041689565b6040805161ffff9a8b1681529990981660208a015263ffffffff909616968801969096526001600160601b0393841660608801529290911660808601526001600160701b0390811660a086015290811660c085015291821660e0840152166101008201526101200161038f565b34801561090057600080fd5b5061031f61090f366004614537565b612b56565b34801561092057600080fd5b5061031f61092f366004614883565b612ba2565b34801561094057600080fd5b50600554610504906001600160a01b031681565b34801561096057600080fd5b5061031f61096f366004614537565b612dcf565b34801561098057600080fd5b506103c861098f366004614537565b60136020526000908152604090205460ff1681565b3480156109b057600080fd5b5061031f6109bf366004614537565b612e1d565b3480156109d057600080fd5b506103c86109df366004614537565b60126020526000908152604090205460ff1681565b348015610a0057600080fd5b5061031f610a0f366004614537565b612e69565b348015610a2057600080fd5b50610a34610a2f366004614706565b612eb7565b6040805192835260208301919091520161038f565b348015610a5557600080fd5b5061031f610a643660046146d4565b6130ff565b348015610a7557600080fd5b5061031f610a843660046146d4565b61349e565b348015610a9557600080fd5b5061031f610aa4366004614537565b6134e6565b348015610ab557600080fd5b5061031f610ac4366004614537565b613531565b348015610ad557600080fd5b5061031f610ae4366004614633565b6135c9565b348015610af557600080fd5b50600454610504906001600160a01b031681565b600c54610b1890617080614ae5565b600a54610b259190614aa2565b600955610b30612ae4565b565b60026001541415610b5e5760405162461bcd60e51b8152600401610b5590614959565b60405180910390fd5b6002600155610b6f338484846136b0565b50506001805550565b60026001541415610b9b5760405162461bcd60e51b8152600401610b5590614959565b60026001556040805160c08101825260008082526020808301829052828401829052606083018290526080830182905260a083018290523382527fe710864318d4a32f37d6ce54cb3fadbef648dd12d8dbdf53973564d56b7f881c90529190912034610c0657600080fd5b62093a808310158015610c1d57506301dfe2008311155b8015610c405750610c2e4284614a42565b8154600160201b900463ffffffff1611155b80610c63575082158015610c635750805442600160201b90910463ffffffff1610155b610ce05760405162461bcd60e51b815260206004820152604260248201527f6164644c69717569646974794e6f466565416e645374616b65203a2043616e2760448201527f74206c6f636b20746f6b656e7320666f72206c657373207468616e2031207765606482015261656b60f01b608482015260a401610b55565b610cea60006120c5565b6001810154600160701b90046001600160701b031615610d0f57610d0f600033613ad5565b6002546040516323b872dd60e01b81526001600160a01b03909116906323b872dd90610d4390339030908b906004016148cd565b602060405180830381600087803b158015610d5d57600080fd5b505af1158015610d71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9591906146b7565b50600d600081548110610daa57610daa614be7565b60009182526020808320600392909202909101546001600160a01b03908116855230918501918252606085018781526080860189815260408088018c81524260a08a019081526002549251638cdbadbf60e01b81528a5187166004820152965186166024880152905160448701529251606486015290516084850152905160a48401528392911690638cdbadbf90349060c4016060604051808303818588803b158015610e5657600080fd5b505af1158015610e6a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e8f91906147bc565b90935091503390506108fc610ea48434614b47565b6040518115909202916000818181858888f19350505050158015610ecc573d6000803e3d6000fd5b50600183018054829190600090610eed9084906001600160701b03166149fa565b92506101000a8154816001600160701b0302191690836001600160701b031602179055506000851115610f2b57610f2633600087613d5c565b610f36565b610f36600033612819565b60405181815260009033907f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159060200160405180910390a3505060018055505050505050565b6000546001600160a01b03163314610fa65760405162461bcd60e51b8152600401610b5590614924565b60115460ff16151560011461100e5760405162461bcd60e51b815260206004820152602860248201527f757064617465456d697373696f6e526174653a2052657761726420746f6b656e604482015267081b9bdd081cd95d60c21b6064820152608401610b55565b611016612ae4565b600881905560405181815233907fe2492e003bbe8afa53088b406f0c1cb5d9e280370fc72a74cf116ffd343c40539060200160405180910390a250565b600260015414156110765760405162461bcd60e51b8152600401610b5590614959565b60026001819055506000600d8363ffffffff168154811061109957611099614be7565b6000918252602080832063ffffffff8088168552600e835260408086203387529093529190932080546003909302909301935042600160201b909204161061116f5760405162461bcd60e51b815260206004820152605860248201527f77697468647261773a20546f6b656e73206c6f636b65642c20696620796f752760448201527f726520747279696e6720746f20636c61696d20796f757220726577617264732060648201527f75736520746865206465706f7369742066756e6374696f6e0000000000000000608482015260a401610b55565b60018101546001600160701b0316831180159061118c5750600083115b6111cd5760405162461bcd60e51b81526020600482015260126024820152711dda5d1a191c985dce881b9bdd0819dbdbd960721b6044820152606401610b55565b6111dc8463ffffffff166120c5565b6001810154600160701b90046001600160701b0316156112a3576112068463ffffffff1633613ad5565b60115460ff1615611261578054600160401b90046001600160601b031615611261578054611245903390600160401b90046001600160601b0316613fb1565b805473ffffffffffffffffffffffff0000000000000000191681555b8054600160a01b90046001600160601b0316156112a3578054611295903390600160a01b90046001600160601b031661419c565b80546001600160a01b031681555b60018101546112bc9084906001600160701b0316614b47565b6001820180546001600160701b0319166001600160701b039290921691909117905581546112f4906001600160a01b031633856141fd565b6113048463ffffffff1633612819565b60405183815263ffffffff85169033907ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b568906020015b60405180910390a35050600180555050565b600d818154811061135c57600080fd5b60009182526020909120600390910201805460018201546002909201546001600160a01b03821693506001600160401b03600160a01b909204821692918216916001600160701b03600160401b90910481169180821691600160701b9091041686565b600260015414156113e25760405162461bcd60e51b8152600401610b5590614959565b60026001556000838152600e602090815260408083203380855292528220600301549091908190611412876120c5565b61141c8785613ad5565b60005b6000888152600e602090815260408083206001600160a01b038916845290915290206003015481101561150c576000888152600e602090815260408083206001600160a01b03898116855292529091206003018054918916918390811061148857611488614be7565b6000918252602090912001546001600160a01b031614156114fa576000888152600e602090815260408083206001600160a01b038916845290915290206004018054879190839081106114dd576114dd614be7565b906000526020600020015414156114fa576001925080935061150c565b8061150481614b8a565b91505061141f565b5060018215151461155f5760405162461bcd60e51b815260206004820152601c60248201527f77697468647261774e46542c20746f6b656e206e6f7420666f756e64000000006044820152606401610b55565b604051635077efc360e01b8152600481018690526001600160a01b03871690635077efc39060240160206040518083038186803b15801561159f57600080fd5b505afa1580156115b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d791906146ed565b6000888152600e602090815260408083206001600160a01b03891684529091528120805490919061160d90849061ffff16614b2c565b825461ffff9182166101009390930a9283029190920219909116179055506000878152600e602090815260408083206001600160a01b0388168452909152902060030161165b600183614b47565b8154811061166b5761166b614be7565b6000918252602080832090910154898352600e825260408084206001600160a01b03898116865293529092206003018054919092169190859081106116b2576116b2614be7565b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055898252600e8152604080832093881683529290522060030180548061170157611701614bd1565b60008281526020808220830160001990810180546001600160a01b0319169055909201909255888252600e815260408083206001600160a01b03881684529091529020600401611752600183614b47565b8154811061176257611762614be7565b6000918252602080832090910154898352600e825260408084206001600160a01b038916855290925291206004018054859081106117a2576117a2614be7565b6000918252602080832090910192909255888152600e825260408082206001600160a01b0388168352909252206004018054806117e1576117e1614bd1565b600190038181906000526020600020016000905590556118018785612819565b604051632142170760e11b81526001600160a01b038716906342842e0e9061183190309088908a906004016148cd565b600060405180830381600087803b15801561184b57600080fd5b505af115801561185f573d6000803e3d6000fd5b50505050856001600160a01b0316846001600160a01b03167fbbde41973f9ce4890f7ad9762c23d8191f261fd643bdf13ed8bbc10549b49fcb876040516118a891815260200190565b60405180910390a35050600180555050505050565b6000546001600160a01b031633146118e75760405162461bcd60e51b8152600401610b5590614924565b43601054116119465760405162461bcd60e51b815260206004820152602560248201527f7374617274526577617264733a207265776172647320616c7265616479207374604482015264185c9d195960da1b6064820152608401610b55565b4360105560005b600d548110156119b35743600d828154811061196b5761196b614be7565b906000526020600020906003020160010160006101000a8154816001600160401b0302191690836001600160401b0316021790555080806119ab90614b8a565b91505061194d565b50565b600260015414156119d95760405162461bcd60e51b8152600401610b5590614959565b60026001553360009081527fa7c5ba7114a813b50159add3a36832908dc83db71d0b9a24c2ad0f83be9582076020526040902034611a1657600080fd5b62093a808210158015611a2d57506301dfe2008211155b8015611a505750611a3e4283614a42565b8154600160201b900463ffffffff1611155b80611a73575081158015611a735750805442600160201b90910463ffffffff1610155b611ae55760405162461bcd60e51b815260206004820152603760248201527f627579416e645374616b65455448203a2043616e2774206c6f636b20746f6b6560448201527f6e7320666f72206c657373207468616e2031207765656b0000000000000000006064820152608401610b55565b611aef60016120c5565b6001810154600160701b90046001600160701b031615611b1457611b14600133613ad5565b6002546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a082319060240160206040518083038186803b158015611b5857600080fd5b505afa158015611b6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b9091906146ed565b6040805160028082526060820183529293506000929091602083019080368337505060055482519293506001600160a01b031691839150600090611bd657611bd6614be7565b6001600160a01b039283166020918202929092010152600254825191169082906001908110611c0757611c07614be7565b6001600160a01b0392831660209182029290920101526004805460405163b6f9de9560e01b815292169163b6f9de95913491611c4b918a9187913091429101614990565b6000604051808303818588803b158015611c6457600080fd5b505af1158015611c78573d6000803e3d6000fd5b50506002546040516370a0823160e01b8152306004820152600094508693506001600160a01b0390911691506370a082319060240160206040518083038186803b158015611cc557600080fd5b505afa158015611cd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cfd91906146ed565b611d079190614b47565b6001850154909150611d239082906001600160701b0316614a42565b6001850180546001600160701b0319166001600160701b03929092169190911790558415611d5c57611d5733600187613d5c565b611d67565b611d67600133612819565b60405181815260019033907f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159060200160405180910390a350506001805550505050565b6000546001600160a01b03163314611dd55760405162461bcd60e51b8152600401610b5590614924565b8015611de357611de3612ae4565b816001600160401b0316600d8481548110611e0057611e00614be7565b6000918252602090912060039091020154600f54611e2e91600160a01b90046001600160401b031690614b47565b611e389190614a42565b600f8190555081600d8481548110611e5257611e52614be7565b906000526020600020906003020160000160146101000a8154816001600160401b0302191690836001600160401b03160217905550505050565b6000546001600160a01b03163314611eb65760405162461bcd60e51b8152600401610b5590614924565b6003546001600160a01b03828116911614801590611eed57506001600160a01b03811660009081526012602052604090205460ff16155b611f435760405162461bcd60e51b815260206004820152602160248201527f726573637565546f6b656e203a2077726f6e6720746f6b656e206164647265736044820152607360f81b6064820152608401610b55565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a082319060240160206040518083038186803b158015611f8557600080fd5b505afa158015611f99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fbd91906146ed565b60405163a9059cbb60e01b8152336004820152602481018290529091506001600160a01b0383169063a9059cbb90604401602060405180830381600087803b15801561200857600080fd5b505af115801561201c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061204091906146b7565b505050565b600260015414156120685760405162461bcd60e51b8152600401610b5590614959565b60026001556000828152600e602090815260408083206001600160a01b038516845290915290205442600160201b90910463ffffffff1610156120aa57600080fd5b6120b3826120c5565b6120bd8282613ad5565b505060018055565b6000600d82815481106120da576120da614be7565b6000918252602090912060039091020160018101549091506001600160401b03164311612105575050565b6002810154600160701b90046001600160701b031680158061213657508154600160a01b90046001600160401b0316155b1561215c5750600101805467ffffffffffffffff1916436001600160401b031617905550565b6001820154600090612177906001600160401b031643612b43565b60115490915060ff161561222557600f54835460085460009291600160a01b90046001600160401b0316906121ac9085614ae5565b6121b69190614ae5565b6121c09190614aa2565b9050826121d28264e8d4a51000614ae5565b6121dc9190614aa2565b60018501546121fb9190600160401b90046001600160701b0316614a42565b8460010160086101000a8154816001600160701b0302191690836001600160701b03160217905550505b600f54835460095460009291600160a01b90046001600160401b03169061224c9085614ae5565b6122569190614ae5565b6122609190614aa2565b905080600b546122709190614a42565b600b55600a54612281908290614b47565b600a55826122948264e8d4a51000614ae5565b61229e9190614aa2565b60028501546122b691906001600160701b0316614a42565b6002850180546001600160701b0319166001600160701b0392909216919091179055505050600101805467ffffffffffffffff1916436001600160401b031617905550565b6002600154141561231e5760405162461bcd60e51b8152600401610b5590614959565b60026001908155601154610100900460ff1615151461238a5760405162461bcd60e51b815260206004820152602260248201527f6f6e6c79456d657267656e63793a20456d657267656e637920757365206f6e6c604482015261792160f01b6064820152608401610b55565b6000600d828154811061239f5761239f614be7565b60009182526020808320858452600e80835260408086203387529093529190932060018101546003939093029093016002810180549195506001600160701b0380851694600160701b90819004821694929361240092869290910416614b04565b82546001600160701b039182166101009390930a9283029190920219909116179055506001820180546001600160e01b0319908116909155600283018054909116905581546001600160401b031682558254612466906001600160a01b031633836141fd565b604051818152849033907fbb757047c2b5f3974fe26b7c10f732e7bce710b0952a71082702781e62ae05959060200161133a565b6000546001600160a01b031633146124c45760405162461bcd60e51b8152600401610b5590614924565b6011805461ff001916610100831515908102919091179091556040805142815260208101929092527fff8db90c07460bbb951945fef7481379809de7701710f89abe56cbaa5216df1e910160405180910390a150565b6002600154141561253d5760405162461bcd60e51b8152600401610b5590614959565b60026001553332146125915760405162461bcd60e51b815260206004820152601b60248201527f626f6f7374576974684e4654203a206e6f20636f6e74726163747300000000006044820152606401610b55565b6001600160a01b03821660009081526007602052604090205460ff1661260a5760405162461bcd60e51b815260206004820152602860248201527f626f6f7374576974684e46543a20696e636f727265637420636f6e7472616374604482015267206164647265737360c01b6064820152608401610b55565b6000838152600e6020908152604080832033845290915290205442600160201b90910463ffffffff16101561263e57600080fd5b612647836120c5565b6126518333613ad5565b604051632142170760e11b81526001600160a01b038316906342842e0e90612681903390309086906004016148cd565b600060405180830381600087803b15801561269b57600080fd5b505af11580156126af573d6000803e3d6000fd5b5050506000848152600e602090815260408083203384528252808320600381018054600180820183559186528486200180546001600160a01b0319166001600160a01b038a1690811790915560049283018054928301815586529390942090930185905551635077efc360e01b81529182018490529150635077efc39060240160206040518083038186803b15801561274757600080fd5b505afa15801561275b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061277f91906146ed565b6000848152600e60209081526040808320338452909152812080549091906127ac90849061ffff16614a25565b92506101000a81548161ffff021916908361ffff1602179055506127d08333612819565b6040518181526001600160a01b0383169033907fbbde41973f9ce4890f7ad9762c23d8191f261fd643bdf13ed8bbc10549b49fcb9060200160405180910390a350506001805550565b6000600d838154811061282e5761282e614be7565b60009182526020808320868452600e825260408085206001600160a01b0388168652909252908320600181015460026003909402909201928301549294509291612890916001600160701b03600160701b918290048116929190910416614b04565b82546001600160701b0391909116915042600160201b90910463ffffffff1610156128da57600182018054600160701b600160e01b0319169055815463ffff000019168255612966565b8154620f4240906128f19061ffff166103e8614a25565b835461ffff9182169161290d91620100009004166103e8614a25565b60018501546129299161ffff16906001600160701b0316614ab6565b6129339190614ab6565b61293d9190614a7c565b82600101600e6101000a8154816001600160701b0302191690836001600160701b031602179055505b600182015461298590600160701b90046001600160701b031682614a42565b600284018054600160701b600160e01b031916600160701b6001600160701b039384168102919091179091556001808601549085015464e8d4a51000936129da93600160401b90930481169290910416614ab6565b6129e49190614a7c565b600283810180546001600160701b0319166001600160701b03938416179055840154600184015464e8d4a5100092612a2692811691600160701b900416614ab6565b612a309190614a7c565b82600201600e6101000a8154816001600160701b0302191690836001600160701b031602179055505050505050565b3360009081526013602052604090205460ff161515600114612ad25760405162461bcd60e51b815260206004820152602660248201527f6f6e6c79417574686f72697a65643a2061646472657373206e6f7420617574686044820152651bdc9a5e995960d21b6064820152608401610b55565b612ade848484846136b0565b50505050565b600d5460005b81811015612b0b57612afb816120c5565b612b0481614b8a565b9050612aea565b5050565b6000546001600160a01b03163314612b395760405162461bcd60e51b8152600401610b5590614924565b610b306000614260565b6000612b4f8383614b47565b9392505050565b6000546001600160a01b03163314612b805760405162461bcd60e51b8152600401610b5590614924565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314612bcc5760405162461bcd60e51b8152600401610b5590614924565b6001600160a01b038216600090815260126020526040902054829060ff1615612c375760405162461bcd60e51b815260206004820152601960248201527f6e6f6e4475706c6963617465643a206475706c696361746564000000000000006044820152606401610b55565b8115612c4557612c45612ae4565b60006010544311612c5857601054612c5a565b435b9050846001600160401b0316600f54612c739190614a42565b600f556001600160a01b0393841660008181526012602090815260408083208054600160ff199091168117909155815160c0810183529485526001600160401b03998a16928501928352948916908401908152606084018381526080850184815260a08601858152600d8054988901815590955294517fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb560039097029687018054945191909a166001600160e01b031994851617600160a01b918c169190910217909855517fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb6850180549851919099166001600160b01b031990981697909717600160401b6001600160701b03988916021790975590517fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb7909201805491519286169190961617600160701b9190941602929092179092555050565b6000546001600160a01b03163314612df95760405162461bcd60e51b8152600401610b5590614924565b6001600160a01b03166000908152601360205260409020805460ff19166001179055565b6000546001600160a01b03163314612e475760405162461bcd60e51b8152600401610b5590614924565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314612e935760405162461bcd60e51b8152600401610b5590614924565b6001600160a01b03166000908152600760205260409020805460ff19166001179055565b6000806000600d8581548110612ecf57612ecf614be7565b60009182526020808320888452600e825260408085206001600160a01b038a168652909252908320600180820154600390940290920191820154600283015492955090936001600160701b03600160701b94859004811694600160401b840482169480831694919004909116919081906001600160401b031643118015612f5557508215155b156130ee576001880154600090612f75906001600160401b031643612b43565b600f548a54600854929350600092600160a01b9091046001600160401b031690612f9f9085614ae5565b612fa99190614ae5565b612fb39190614aa2565b905084612fc58264e8d4a51000614ae5565b612fcf9190614aa2565b612fd99088614a42565b600f548b54600954929950600092600160a01b9091046001600160401b0316906130039086614ae5565b61300d9190614ae5565b6130179190614aa2565b9050856130298264e8d4a51000614ae5565b6130339190614aa2565b61303d9088614a42565b8a5460028c0154919850600160401b90046001600160601b0316906001600160701b031664e8d4a510006130718b8d614ae5565b61307b9190614aa2565b6130859190614b47565b61308f9190614a42565b8a5460028c0154919650600160a01b90046001600160601b031690600160701b90046001600160701b031664e8d4a510006130ca8a8d614ae5565b6130d49190614aa2565b6130de9190614b47565b6130e89190614a42565b93505050505b909b909a5098505050505050505050565b600260015414156131225760405162461bcd60e51b8152600401610b5590614959565b60026001553360009081527fa7c5ba7114a813b50159add3a36832908dc83db71d0b9a24c2ad0f83be95820760205260409020805442600160201b90910463ffffffff16101561317157600080fd5b61317b60016120c5565b80546002820154600d8054600093600160a01b90046001600160601b031692600160701b90046001600160701b03169164e8d4a510009160019081106131c3576131c3614be7565b600091825260209091206002600390920201015460018601546131f9916001600160701b0390811691600160701b900416614ab6565b6132039190614a7c565b61320d9190614b04565b61321791906149fa565b6001600160701b031690506000811161322f57600080fd5b604080516002808252606082018352600092602083019080368337505060055482519293506001600160a01b03169183915060009061327057613270614be7565b6001600160a01b0392831660209182029290920101526002548251911690829060019081106132a1576132a1614be7565b60200260200101906001600160a01b031690816001600160a01b031681525050600b548211156132d157600b5491505b6002546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a082319060240160206040518083038186803b15801561331557600080fd5b505afa158015613329573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061334d91906146ed565b6004805460405163b6f9de9560e01b81529293506001600160a01b03169163b6f9de95918691613385918a9188913091429101614990565b6000604051808303818588803b15801561339e57600080fd5b505af11580156133b2573d6000803e3d6000fd5b50506002546040516370a0823160e01b8152306004820152600094508593506001600160a01b0390911691506370a082319060240160206040518083038186803b1580156133ff57600080fd5b505afa158015613413573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061343791906146ed565b6134419190614b47565b60018601805491925082916000906134639084906001600160701b03166149fa565b82546001600160701b039182166101009390930a92830291909202199091161790555084546001600160a01b03168555611d67600133612819565b6000546001600160a01b031633146134c85760405162461bcd60e51b8152600401610b5590614924565b6000811180156134d85750600e81105b6134e157600080fd5b600c55565b6000546001600160a01b031633146135105760405162461bcd60e51b8152600401610b5590614924565b6001600160a01b03166000908152601360205260409020805460ff19169055565b6000546001600160a01b0316331461355b5760405162461bcd60e51b8152600401610b5590614924565b6001600160a01b0381166135c05760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610b55565b6119b381614260565b6000546001600160a01b031633146135f35760405162461bcd60e51b8152600401610b5590614924565b60115460ff16156136465760405162461bcd60e51b815260206004820152601860248201527f52657761726420746f6b656e20616c72656164792073657400000000000000006044820152606401610b55565b600380546001600160a01b0319166001600160a01b03841690811790915560088290556011805460ff191660011790556040514281528291907fb75e540d948d21695cea1c0838e8d12cdabb7cb689e1cd1dc05f88d2c49448879060200160405180910390a35050565b6000600d84815481106136c5576136c5614be7565b60009182526020808320878452600e825260408085206001600160a01b038b1686529092529220600390910290910191506136ff856120c5565b6001810154600160701b90046001600160701b03161561392e5783158015613725575082155b156139245760115460ff16156138245780546002820154600184810154908401546000936001600160601b03600160401b9182900416936001600160701b039081169364e8d4a510009361378793909104821691600160701b90910416614ab6565b6137919190614a7c565b61379b9190614b04565b6137a591906149fa565b6001600160701b0316905080156137c0576137c08782613fb1565b6001808401549083015464e8d4a51000916137f6916001600160701b03600160401b909204821691600160701b90910416614ab6565b6138009190614a7c565b6002830180546001600160701b0319166001600160701b0392909216919091179055505b80546002808301549084015460018401546000936001600160601b03600160a01b90910416926001600160701b03600160701b9182900481169364e8d4a5100093613876939183169291900416614ab6565b6138809190614a7c565b61388a9190614b04565b61389491906149fa565b6001600160701b031690508015613911576138af878261419c565b6002830154600183015464e8d4a51000916138de916001600160701b0391821691600160701b90910416614ab6565b6138e89190614a7c565b82600201600e6101000a8154816001600160701b0302191690836001600160701b031602179055505b5080546001600160401b0316815561392e565b61392e8587613ad5565b8315613a575762093a80831015801561394b57506301dfe2008311155b801561396e575061395c4284614a42565b8154600160201b900463ffffffff1611155b806139915750821580156139915750805442600160201b90910463ffffffff1610155b6139f65760405162461bcd60e51b815260206004820152603060248201527f6465706f736974203a2043616e2774206c6f636b20746f6b656e7320666f722060448201526f6c657373207468616e2031207765656b60801b6064820152608401610b55565b8154613a0d906001600160a01b03163330876142b0565b6001810154613a269085906001600160701b0316614a42565b6001820180546001600160701b0319166001600160701b039290921691909117905582613a5757613a578587612819565b8215613a6857613a68868685613d5c565b805442600160201b90910463ffffffff161015613a8957613a898587612819565b84866001600160a01b03167f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a1586604051613ac591815260200190565b60405180910390a3505050505050565b6000828152600e602090815260408083206001600160a01b03851684529091528120600d805491929185908110613b0e57613b0e614be7565b60009182526020909120601154600390920201915060ff1615613c49576002820154600182810154908401546000926001600160701b039081169264e8d4a5100092613b6d92600160401b909204821691600160701b90910416614ab6565b613b779190614a7c565b613b819190614b04565b6001600160701b031690508015613c4757825481908490600890613bb6908490600160401b90046001600160601b0316614a5a565b92506101000a8154816001600160601b0302191690836001600160601b0316021790555064e8d4a510008260010160089054906101000a90046001600160701b031684600101600e9054906101000a90046001600160701b0316613c1a9190614ab6565b613c249190614a7c565b6002840180546001600160701b0319166001600160701b03929092169190911790555b505b6002808301549082015460018401546000926001600160701b03600160701b9182900481169364e8d4a5100093613c87939183169291900416614ab6565b613c919190614a7c565b613c9b9190614b04565b6001600160701b031690508015613d5557825481908490601490613cd0908490600160a01b90046001600160601b0316614a5a565b82546001600160601b039182166101009390930a9283029190920219909116179055506002820154600184015464e8d4a5100091613d22916001600160701b0391821691600160701b90910416614ab6565b613d2c9190614a7c565b83600201600e6101000a8154816001600160701b0302191690836001600160701b031602179055505b5050505050565b6000828152600e602090815260408083206001600160a01b0387168452909152902060018101546001600160701b0316613dd85760405162461bcd60e51b815260206004820152601d60248201527f6c6f636b546f6b656e733a204e6f20746f6b656e7320746f206c6f636b0000006044820152606401610b55565b613de28242614a42565b8154600160201b900463ffffffff161115613e495760405162461bcd60e51b815260206004820152602160248201527f6c6f636b546f6b656e733a20546f6b656e7320616c7265616479206c6f636b656044820152601960fa1b6064820152608401610b55565b62093a80821015613e9c5760405162461bcd60e51b815260206004820152601f60248201527f6c6f636b546f6b656e733a204c6f636b2074696d6520746f6f2073686f7274006044820152606401610b55565b6301dfe200821115613ef05760405162461bcd60e51b815260206004820152601e60248201527f6c6f636b546f6b656e733a204c6f636b2074696d6520746f6f206c6f6e6700006044820152606401610b55565b613efa8242614a42565b815463ffffffff91909116600160201b0267ffffffff00000000199091161781556301d6a780613f2d62093a8084614b47565b613f39906107d0614ae5565b613f439190614aa2565b815461ffff91909116620100000263ffff000019909116178155613f678385612819565b60408051428152602081018490526001600160a01b038616917fd741e738a23fd18a03a26522320d9fc6cac1fed483e215ea9150fbc2fc43385d910160405180910390a250505050565b6003546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a082319060240160206040518083038186803b158015613ff557600080fd5b505afa158015614009573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061402d91906146ed565b90506000818311156140c65760035460405163a9059cbb60e01b81526001600160a01b038681166004830152602482018590529091169063a9059cbb90604401602060405180830381600087803b15801561408757600080fd5b505af115801561409b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140bf91906146b7565b905061414f565b60035460405163a9059cbb60e01b81526001600160a01b038681166004830152602482018690529091169063a9059cbb90604401602060405180830381600087803b15801561411457600080fd5b505af1158015614128573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061414c91906146b7565b90505b80612ade5760405162461bcd60e51b815260206004820181905260248201527f736166655257545472616e736665723a207472616e73666572206661696c65646044820152606401610b55565b600b548111156141ab5750600b545b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156141e1573d6000803e3d6000fd5b5080600b60008282546141f49190614b47565b90915550505050565b6040516001600160a01b03831660248201526044810182905261204090849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526142d1565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b612ade846323b872dd60e01b858585604051602401614229939291906148cd565b6000614326826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166143a39092919063ffffffff16565b805190915015612040578080602001905181019061434491906146b7565b6120405760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610b55565b60606143b284846000856143ba565b949350505050565b60608247101561441b5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610b55565b843b6144695760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610b55565b600080866001600160a01b0316858760405161448591906148b1565b60006040518083038185875af1925050503d80600081146144c2576040519150601f19603f3d011682016040523d82523d6000602084013e6144c7565b606091505b50915091506144d78282866144e2565b979650505050505050565b606083156144f1575081612b4f565b8251156145015782518084602001fd5b8160405162461bcd60e51b8152600401610b5591906148f1565b80356001600160401b038116811461453257600080fd5b919050565b60006020828403121561454957600080fd5b8135612b4f81614c13565b6000806000806080858703121561456a57600080fd5b843561457581614c13565b9350602085013561458581614c13565b92506040850135915060608501356001600160401b03808211156145a857600080fd5b818701915087601f8301126145bc57600080fd5b8135818111156145ce576145ce614bfd565b604051601f8201601f19908116603f011681019083821181831017156145f6576145f6614bfd565b816040528281528a602084870101111561460f57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000806040838503121561464657600080fd5b823561465181614c13565b946020939093013593505050565b6000806000806080858703121561467557600080fd5b843561468081614c13565b966020860135965060408601359560600135945092505050565b6000602082840312156146ac57600080fd5b8135612b4f81614c28565b6000602082840312156146c957600080fd5b8151612b4f81614c28565b6000602082840312156146e657600080fd5b5035919050565b6000602082840312156146ff57600080fd5b5051919050565b6000806040838503121561471957600080fd5b82359150602083013561472b81614c13565b809150509250929050565b60008060006060848603121561474b57600080fd5b83359250602084013561475d81614c13565b929592945050506040919091013590565b6000806040838503121561478157600080fd5b50508035926020909101359150565b6000806000606084860312156147a557600080fd5b505081359360208301359350604090920135919050565b6000806000606084860312156147d157600080fd5b8351925060208401519150604084015190509250925092565b6000806000806080858703121561480057600080fd5b5050823594602084013594506040840135936060013592509050565b60008060006060848603121561483157600080fd5b833592506148416020850161451b565b9150604084013561485181614c28565b809150509250925092565b6000806040838503121561486f57600080fd5b823563ffffffff8116811461465157600080fd5b60008060006060848603121561489857600080fd5b6148a18461451b565b9250602084013561484181614c13565b600082516148c3818460208701614b5e565b9190910192915050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6020815260008251806020840152614910816040850160208701614b5e565b601f01601f19169190910160400192915050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b600060808201868352602060808185015281875180845260a086019150828901935060005b818110156149da5784516001600160a01b0316835293830193918301916001016149b5565b50506001600160a01b039690961660408501525050506060015292915050565b60006001600160701b03808316818516808303821115614a1c57614a1c614ba5565b01949350505050565b600061ffff808316818516808303821115614a1c57614a1c614ba5565b60008219821115614a5557614a55614ba5565b500190565b60006001600160601b03808316818516808303821115614a1c57614a1c614ba5565b60006001600160701b0380841680614a9657614a96614bbb565b92169190910492915050565b600082614ab157614ab1614bbb565b500490565b60006001600160701b0380831681851681830481118215151615614adc57614adc614ba5565b02949350505050565b6000816000190483118215151615614aff57614aff614ba5565b500290565b60006001600160701b0383811690831681811015614b2457614b24614ba5565b039392505050565b600061ffff83811690831681811015614b2457614b24614ba5565b600082821015614b5957614b59614ba5565b500390565b60005b83811015614b79578181015183820152602001614b61565b83811115612ade5750506000910152565b6000600019821415614b9e57614b9e614ba5565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146119b357600080fd5b80151581146119b357600080fdfea26469706673582212204b2fffbb205e86ea74cd3a6c3f375611b7c35fbcfccc9f78ae382ce656d83e2364736f6c634300080700330000000000000000000000004ef06d1a55962f29d362c53c864a4f0c791dcb9e00000000000000000000000010ed43c718714eb63d5aa57b78b54704e256024e