0 txs
1.6k calls
constructor
No constructor.
functions
earned
viewfunction earned(address account, uint256 tokenId) view returns (uint256)
fees0
viewfunction fees0() view returns (uint256)
fees1
viewfunction fees1() view returns (uint256)
feesVotingReward
viewfunction feesVotingReward() view returns (address)
gaugeFactory
viewfunction gaugeFactory() view returns (address)
isPool
viewfunction isPool() view returns (bool)
lastUpdateTime
viewfunction lastUpdateTime(uint256) view returns (uint256)
left
viewfunction left() view returns (uint256)
nft
viewfunction nft() view returns (address)
periodFinish
viewfunction periodFinish() view returns (uint256)
pool
viewfunction pool() view returns (address)
rewardGrowthInside
viewfunction rewardGrowthInside(uint256) view returns (uint256)
rewardRate
viewfunction rewardRate() view returns (uint256)
rewardRateByEpoch
viewfunction rewardRateByEpoch(uint256) view returns (uint256)
rewards
viewfunction rewards(uint256) view returns (uint256)
rewardToken
viewfunction rewardToken() view returns (address)
stakedByIndex
viewfunction stakedByIndex(address depositor, uint256 index) view returns (uint256)
stakedContains
viewfunction stakedContains(address depositor, uint256 tokenId) view returns (bool)
stakedLength
viewfunction stakedLength(address depositor) view returns (uint256)
stakedValues
viewfunction stakedValues(address depositor) view returns (uint256[] staked)
tickSpacing
viewfunction tickSpacing() view returns (int24)
token0
viewfunction token0() view returns (address)
token1
viewfunction token1() view returns (address)
voter
viewfunction voter() view returns (address)
decreaseStakedLiquidity
nonpayablefunction decreaseStakedLiquidity(uint256 tokenId, uint128 liquidity, uint256 amount0Min, uint256 amount1Min, uint256 deadline) returns (uint256 amount0, uint256 amount1)
deposit
nonpayablefunction deposit(uint256 tokenId)
getReward
nonpayablefunction getReward(address account)
getReward
nonpayablefunction getReward(uint256 tokenId)
increaseStakedLiquidity
nonpayablefunction increaseStakedLiquidity(uint256 tokenId, uint256 amount0Desired, uint256 amount1Desired, uint256 amount0Min, uint256 amount1Min, uint256 deadline) returns (uint128 liquidity, uint256 amount0, uint256 amount1)
initialize
nonpayablefunction initialize(address _pool, address _feesVotingReward, address _rewardToken, address _voter, address _nft, address _token0, address _token1, int24 _tickSpacing, bool _isPool)
notifyRewardAmount
nonpayablefunction notifyRewardAmount(uint256 _amount)
notifyRewardWithoutClaim
nonpayablefunction notifyRewardWithoutClaim(uint256 _amount)
onERC721Received
nonpayablefunction onERC721Received(address, address, uint256, bytes) returns (bytes4)
withdraw
nonpayablefunction withdraw(uint256 tokenId)
events
ClaimFees
event ClaimFees(address indexed from, uint256 claimed0, uint256 claimed1)
ClaimRewards
event ClaimRewards(address indexed from, uint256 amount)
Deposit
event Deposit(address indexed user, uint256 indexed tokenId, uint128 indexed liquidityToStake)
NotifyReward
event NotifyReward(address indexed from, uint256 amount)
Withdraw
event Withdraw(address indexed user, uint256 indexed tokenId, uint128 indexed liquidityToStake)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b5060016000556137fa806100256000396000f3fe608060405234801561001057600080fd5b50600436106102065760003560e01c80637b0a47ee1161011a578063c69deec5116100ad578063dd4997ee1161007c578063dd4997ee14610416578063e2e1c6db14610437578063ebe2b12b1461043f578063f301af4214610447578063f7c618c11461045a57610206565b8063c69deec5146103c6578063d0c93a7c146103e6578063d21220a7146103fb578063dcdc18dc1461040357610206565b8063ae775c32116100e9578063ae775c321461036b578063b06fcac31461037e578063b6b55f25146103a0578063c00007b0146103b357610206565b80637b0a47ee1461033557806393f1c4421461033d57806394af5b6314610345578063ac789c081461035857610206565b8063384639371161019d57806346c96aac1161016c57806346c96aac146102ea57806347ccca02146102f25780634b937763146102fa5780634bcddb1f1461031a5780634c02a21c1461032d57610206565b8063384639371461029e578063391ffff8146102b15780633c6b16ab146102c45780633e491d47146102d757610206565b806316e64048116101d957806316e640481461025957806316f0115b1461026e5780631c4b774b146102765780632e1a7d4d1461028b57610206565b80630d52333c1461020b5780630dfe1681146102295780630fe2f71114610231578063150b7a0214610239575b600080fd5b610213610462565b6040516102209190613409565b60405180910390f35b610213610471565b610213610480565b61024c610247366004613094565b61048f565b60405161022091906134a9565b61026161049f565b60405161022091906136dd565b6102136104c2565b61028961028436600461322a565b6104d1565b005b61028961029936600461322a565b610603565b6102616102ac366004613158565b610917565b6102896102bf366004612fd9565b610942565b6102896102d236600461322a565b610a2a565b6102616102e5366004613158565b610ad9565b610213610b20565b610213610b2f565b61030d610308366004612fa1565b610b3e565b604051610220919061345a565b61026161032836600461322a565b610bfc565b610261610c0e565b610261610c14565b610261610c1a565b61026161035336600461322a565b610c20565b61026161036636600461322a565b610c32565b610261610379366004612fa1565b610c44565b61039161038c3660046132c4565b610c6d565b604051610220939291906136bc565b6102896103ae36600461322a565b61101c565b6102896103c1366004612fa1565b6115cf565b6103d96103d4366004613158565b611749565b604051610220919061349e565b6103ee61176b565b60405161022091906134e4565b61021361177b565b61028961041136600461322a565b61178a565b61042961042436600461325a565b61189f565b6040516102209291906136e6565b6103d9611baa565b610261611bba565b61026161045536600461322a565b611bc0565b610213611bd2565b6004546001600160a01b031681565b6010546001600160a01b031681565b6005546001600160a01b031681565b630a85bd0160e11b949350505050565b600060075442106104b2575060006104bf565b5060075460085442909103025b90565b6003546001600160a01b031681565b60026000541415610517576040805162461bcd60e51b815260206004820152601f6024820152600080516020613755833981519152604482015290519081900360640190fd5b60026000908155338152600a602052604090206105349082611be1565b6105595760405162461bcd60e51b8152600401610550906135d6565b60405180910390fd5b60015460405163133f757160e31b815260009182916001600160a01b03909116906399fbab889061058e9086906004016136dd565b6101806040518083038186803b1580156105a757600080fd5b505afa1580156105bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105df919061332a565b50505050509650965050505050506105f982828533611bed565b5050600160005550565b60026000541415610649576040805162461bcd60e51b815260206004820152601f6024820152600080516020613755833981519152604482015290519081900360640190fd5b60026000908155338152600a602052604090206106669082611be1565b6106825760405162461bcd60e51b8152600401610550906135d6565b600154604080516080810182528381523360208201526001600160801b038183018190526060820152905163fc6f786560e01b81526001600160a01b039092169163fc6f7865916106d5916004016135f2565b6040805180830381600087803b1580156106ee57600080fd5b505af1158015610702573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072691906132a1565b505060015460405163133f757160e31b8152600091829182916001600160a01b0316906399fbab889061075d9087906004016136dd565b6101806040518083038186803b15801561077657600080fd5b505afa15801561078a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ae919061332a565b5050505097509750975050505050506107c983838633611bed565b6001600160801b03811615610854576003546001600160a01b0316634ed6210f6107fb6001600160801b038416611c7c565b600003858560016040518563ffffffff1660e01b815260040161082194939291906134be565b600060405180830381600087803b15801561083b57600080fd5b505af115801561084f573d6000803e3d6000fd5b505050505b336000908152600a6020526040902061086d9085611c9b565b50600154604051632142170760e11b81526001600160a01b03909116906342842e0e906108a29030903390899060040161341d565b600060405180830381600087803b1580156108bc57600080fd5b505af11580156108d0573d6000803e3d6000fd5b50506040516001600160801b038416925086915033907f8903a5b5d08a841e7f68438387f1da20c84dea756379ed37e633ff3854b99b8490600090a4505060016000555050565b6001600160a01b0382166000908152600a602052604081206109399083611ca7565b90505b92915050565b6003546001600160a01b03161561096b5760405162461bcd60e51b815260040161055090613565565b60048054336001600160a01b0319918216179091556003805482166001600160a01b039b8c16179055600580548216998b1699909917909855600680548916978a169790971790965560028054881695891695909517855560018054881694891694909417909355601080548716928816929092179091556011805490951695169490941762ffffff60a01b1916600160a01b62ffffff9590920b94909416029290921760ff60b81b1916600160b81b92151592909202919091179055565b60026000541415610a70576040805162461bcd60e51b815260206004820152601f6024820152600080516020613755833981519152604482015290519081900360640190fd5b600260008190555433906001600160a01b03168114610aa15760405162461bcd60e51b81526004016105509061352c565b81610abe5760405162461bcd60e51b815260040161055090613510565b610ac6611cb3565b610ad08183611f11565b50506001600055565b6001600160a01b0382166000908152600a60205260408120610afb9083611be1565b610b175760405162461bcd60e51b8152600401610550906135d6565b6109398261225d565b6002546001600160a01b031681565b6001546001600160a01b031681565b6001600160a01b0381166000908152600a6020526040812060609190610b63906126d1565b90508067ffffffffffffffff81118015610b7c57600080fd5b50604051908082528060200260200182016040528015610ba6578160200160208202803683370190505b50915060005b81811015610bf5576001600160a01b0384166000908152600a60205260409020610bd69082611ca7565b838281518110610be257fe5b6020908102919091010152600101610bac565b5050919050565b600d6020526000908152604090205481565b600f5481565b60085481565b600e5481565b60096020526000908152604090205481565b600b6020526000908152604090205481565b6001600160a01b0381166000908152600a60205260408120610c65906126d1565b90505b919050565b600080600060026000541415610cb8576040805162461bcd60e51b815260206004820152601f6024820152600080516020613755833981519152604482015290519081900360640190fd5b60026000908155338152600a60205260409020610cd5908a611be1565b610cf15760405162461bcd60e51b8152600401610550906135d6565b600254604051631703e5f960e01b81526001600160a01b0390911690631703e5f990610d21903090600401613409565b60206040518083038186803b158015610d3957600080fd5b505afa158015610d4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d719190613183565b610d8d5760405162461bcd60e51b8152600401610550906135ba565b600154601054610daa916001600160a01b0391821691168a6126dc565b600154601154610dc7916001600160a01b039182169116896126dc565b601054610ddf906001600160a01b031633308b6127cd565b601154610df7906001600160a01b031633308a6127cd565b60015460405163133f757160e31b815260009182916001600160a01b03909116906399fbab8890610e2c908e906004016136dd565b6101806040518083038186803b158015610e4557600080fd5b505afa158015610e59573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e7d919061332a565b5050505050965096505050505050610e968b8383612827565b6001546040805160c0810182528d8152602081018d90528082018c9052606081018b9052608081018a905260a08101899052905163219f5d1760e01b81526001600160a01b039092169163219f5d1791610ef291600401613678565b606060405180830381600087803b158015610f0c57600080fd5b505af1158015610f20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4491906131f4565b60035492975090955093506001600160a01b0316634ed6210f610f6f6001600160801b038816611c7c565b848460006040518563ffffffff1660e01b8152600401610f9294939291906134be565b600060405180830381600087803b158015610fac57600080fd5b505af1158015610fc0573d6000803e3d6000fd5b505050848b039050838a038115610fe857601054610fe8906001600160a01b03163384612971565b801561100557601154611005906001600160a01b03163383612971565b505060016000555092999198509650945050505050565b60026000541415611062576040805162461bcd60e51b815260206004820152601f6024820152600080516020613755833981519152604482015290519081900360640190fd5b60026000556001546040516331a9108f60e11b815233916001600160a01b031690636352211e906110979085906004016136dd565b60206040518083038186803b1580156110af57600080fd5b505afa1580156110c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e79190612fbd565b6001600160a01b03161461110d5760405162461bcd60e51b8152600401610550906135d6565b600254604051631703e5f960e01b81526001600160a01b0390911690631703e5f99061113d903090600401613409565b60206040518083038186803b15801561115557600080fd5b505afa158015611169573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118d9190613183565b6111a95760405162461bcd60e51b8152600401610550906135ba565b60015460405163133f757160e31b815260009182918291829182916001600160a01b0316906399fbab88906111e29089906004016136dd565b6101806040518083038186803b1580156111fb57600080fd5b505afa15801561120f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611233919061332a565b5050601054979e50959c50939a5091985096505050506001600160a01b0390811690881614915050801561127457506011546001600160a01b038581169116145b80156112915750601154600284810b600160a01b909204810b900b145b6112ad5760405162461bcd60e51b81526004016105509061359e565b600154604080516080810182528881523360208201526001600160801b038183018190526060820152905163fc6f786560e01b81526001600160a01b039092169163fc6f786591611300916004016135f2565b6040805180830381600087803b15801561131957600080fd5b505af115801561132d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135191906132a1565b5050600154604051632142170760e11b81526001600160a01b03909116906342842e0e9061138790339030908b9060040161341d565b600060405180830381600087803b1580156113a157600080fd5b505af11580156113b5573d6000803e3d6000fd5b5050336000908152600a602052604090206113d392509050876129c3565b5060015460405163133f757160e31b81526000916001600160a01b0316906399fbab8890611405908a906004016136dd565b6101806040518083038186803b15801561141e57600080fd5b505afa158015611432573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611456919061332a565b5050600354929a50506001600160a01b039091169750634ed6210f965061148e9550506001600160801b0388169350611c7c92505050565b858560016040518563ffffffff1660e01b81526004016114b194939291906134be565b600060405180830381600087803b1580156114cb57600080fd5b505af11580156114df573d6000803e3d6000fd5b505060035460405163a16368c960e01b8152600093506001600160a01b03909116915063a16368c99061151a908790879086906004016134f2565b60206040518083038186803b15801561153257600080fd5b505afa158015611546573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061156a9190613242565b6000898152600b60209081526040808320849055600d909152808220429055519192506001600160801b038416918a9133917f1c8ab8c7f45390d58f58f1d655213a82cca5d12179761a87c16f098813b8f2119190a450506001600055505050505050565b60026000541415611615576040805162461bcd60e51b815260206004820152601f6024820152600080516020613755833981519152604482015290519081900360640190fd5b60026000819055546001600160a01b031633146116445760405162461bcd60e51b81526004016105509061352c565b6001600160a01b0381166000908152600a60205260408120611665906129cf565b805190915060008080805b8481101561173b5785818151811061168457fe5b602090810291909101015160015460405163133f757160e31b81529195506001600160a01b0316906399fbab88906116c09087906004016136dd565b6101806040518083038186803b1580156116d957600080fd5b505afa1580156116ed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611711919061332a565b50949c50929a5061173398508b97508a96508c95508f9450611bed9350505050565b600101611670565b505060016000555050505050565b6001600160a01b0382166000908152600a602052604081206109399083611be1565b601154600160a01b900460020b81565b6011546001600160a01b031681565b600260005414156117d0576040805162461bcd60e51b815260206004820152601f6024820152600080516020613755833981519152604482015290519081900360640190fd5b6002600055600480546040805163111d656d60e21b8152905133936001600160a01b039093169263447595b492808201926020929091829003018186803b15801561181a57600080fd5b505afa15801561182e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118529190612fbd565b6001600160a01b0316816001600160a01b0316146118825760405162461bcd60e51b8152600401610550906135d6565b81610ac65760405162461bcd60e51b815260040161055090613510565b600080600260005414156118e8576040805162461bcd60e51b815260206004820152601f6024820152600080516020613755833981519152604482015290519081900360640190fd5b60026000908155338152600a602052604090206119059088611be1565b6119215760405162461bcd60e51b8152600401610550906135d6565b60015460405163133f757160e31b815260009182916001600160a01b03909116906399fbab8890611956908c906004016136dd565b6101806040518083038186803b15801561196f57600080fd5b505afa158015611983573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119a7919061332a565b50505050509650965050505050506119c0898383612827565b6001546040805160a0810182528b81526001600160801b038b1660208201528082018a905260608101899052608081018890529051630624e65f60e11b81526001600160a01b0390921691630c49ccbe91611a1d91600401613635565b6040805180830381600087803b158015611a3657600080fd5b505af1158015611a4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a6e91906132a1565b60035491955093506001600160a01b0316634ed6210f611a966001600160801b038b16611c7c565b600003848460006040518563ffffffff1660e01b8152600401611abc94939291906134be565b600060405180830381600087803b158015611ad657600080fd5b505af1158015611aea573d6000803e3d6000fd5b5050600154604080516080810182528d81523360208201526001600160801b03808a168284015288166060820152905163fc6f786560e01b81526001600160a01b03909216935063fc6f78659250611b44916004016135f2565b6040805180830381600087803b158015611b5d57600080fd5b505af1158015611b71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b9591906132a1565b50506001600055509197909650945050505050565b601154600160b81b900460ff1681565b60075481565b600c6020526000908152604090205481565b6006546001600160a01b031681565b600061093983836129e3565b611bf8828585612827565b6000828152600c60205260409020548015611c75576000838152600c6020526040812055600654611c33906001600160a01b03168383612971565b816001600160a01b03167f1f89f96333d3133000ee447473151fa9606543368f02271c9d95ae14f13bcc6782604051611c6c91906136dd565b60405180910390a25b5050505050565b60006001607f1b826001600160801b031610611c9757600080fd5b5090565b600061093983836129fb565b60006109398383612ac3565b601154600160b81b900460ff16611cc957611f0f565b6003546040805163643cb2b960e11b8152815160009384936001600160a01b039091169263c8796572926004808301939282900301818787803b158015611d0f57600080fd5b505af1158015611d23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d4791906131bb565b6001600160801b031691506001600160801b031691506000821180611d6c5750600081115b15611f0c57600e54600f5460105460115492850192918401916001600160a01b03918216911662093a80841115611e25576000600e55600554611dbc906001600160a01b038481169116866126dc565b60055460405163b66503cf60e01b81526001600160a01b039091169063b66503cf90611dee9085908890600401613441565b600060405180830381600087803b158015611e0857600080fd5b505af1158015611e1c573d6000803e3d6000fd5b50505050611e2b565b600e8490555b62093a80831115611ebe576000600f55600554611e55906001600160a01b038381169116856126dc565b60055460405163b66503cf60e01b81526001600160a01b039091169063b66503cf90611e879084908790600401613441565b600060405180830381600087803b158015611ea157600080fd5b505af1158015611eb5573d6000803e3d6000fd5b50505050611ec4565b600f8390555b336001600160a01b03167fbc567d6cbad26368064baa0ab5a757be46aae4d70f707f9203d9d9b6c8ccbfa38787604051611eff9291906136e6565b60405180910390a2505050505b50505b565b42600081611f1e81612ae7565b039050600360009054906101000a90046001600160a01b03166001600160a01b0316631b4109606040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611f7157600080fd5b505af1158015611f85573d6000803e3d6000fd5b50506006548484019250611fa591506001600160a01b03168630876127cd565b600360009054906101000a90046001600160a01b03166001600160a01b031663b056b49a6040518163ffffffff1660e01b815260040160206040518083038186803b158015611ff357600080fd5b505afa158015612007573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061202b9190613242565b60075494019383106120b05781848161204057fe5b0460088190556003546040516360a73f9b60e01b81526001600160a01b03909116916360a73f9b916120799190889086906004016136f4565b600060405180830381600087803b15801561209357600080fd5b505af11580156120a7573d6000803e3d6000fd5b5050505061212f565b600854820282858201816120c057fe5b0460088190556003546040516360a73f9b60e01b81526001600160a01b03909116916360a73f9b916120fb91908986019087906004016136f4565b600060405180830381600087803b15801561211557600080fd5b505af1158015612129573d6000803e3d6000fd5b50505050505b6008546009600061213f86612af5565b815260208101919091526040016000205560085461216f5760405162461bcd60e51b815260040161055090613548565b6006546040516370a0823160e01b81526000916001600160a01b0316906370a08231906121a0903090600401613409565b60206040518083038186803b1580156121b857600080fd5b505afa1580156121cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121f09190613242565b90508281816121fb57fe5b04600854111561221d5760405162461bcd60e51b815260040161055090613581565b81600781905550856001600160a01b03167f095667752957714306e1a6ad83495404412df6fdb932fca6dc849a7ee910d4c186604051611eff91906136dd565b600080600360009054906101000a90046001600160a01b03166001600160a01b031663d0b06f5d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156122ae57600080fd5b505afa1580156122c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122e69190613306565b63ffffffff169050600081420390506000600360009054906101000a90046001600160a01b03166001600160a01b03166357806ada6040518163ffffffff1660e01b815260040160206040518083038186803b15801561234557600080fd5b505afa158015612359573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061237d9190613242565b90506000600360009054906101000a90046001600160a01b03166001600160a01b031663cab64bcd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156123cf57600080fd5b505afa1580156123e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124079190613242565b905082158015906124185750600081115b80156124a75750600354604080516301d5825960e51b815290516000926001600160a01b031691633ab04b20916004808301926020929190829003018186803b15801561246457600080fd5b505afa158015612478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249c919061319f565b6001600160801b0316115b1561255f576008548302818111156124bc5750805b61255981600160801b600360009054906101000a90046001600160a01b03166001600160a01b0316633ab04b206040518163ffffffff1660e01b815260040160206040518083038186803b15801561251357600080fd5b505afa158015612527573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061254b919061319f565b6001600160801b0316612b00565b83019250505b60015460405163133f757160e31b8152600091829182916001600160a01b0316906399fbab8890612594908c906004016136dd565b6101806040518083038186803b1580156125ad57600080fd5b505afa1580156125c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125e5919061332a565b5050505097509750975050505050506000600b60008b81526020019081526020016000205490506000600360009054906101000a90046001600160a01b03166001600160a01b031663a16368c986868a6040518463ffffffff1660e01b8152600401612653939291906134f2565b60206040518083038186803b15801561266b57600080fd5b505afa15801561267f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126a39190613242565b905060006126c1838303856001600160801b0316600160801b612b00565b9c9b505050505050505050505050565b6000610c6582612baf565b600061277282856001600160a01b031663dd62ed3e30876040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b031681526020019250505060206040518083038186803b15801561274057600080fd5b505afa158015612754573d6000803e3d6000fd5b505050506040513d602081101561276a57600080fd5b505190612bb3565b604080516001600160a01b038616602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790529091506127c7908590612c0d565b50505050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526127c7908590612c0d565b6000838152600d60205260409020544214156128425761296c565b600360009054906101000a90046001600160a01b03166001600160a01b0316631b4109606040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561289257600080fd5b505af11580156128a6573d6000803e3d6000fd5b5050506000848152600d60205260409020429055506128c48361225d565b6000848152600c60205260408082208054909301909255600354915163a16368c960e01b81526001600160a01b039092169163a16368c99161290c91869186916004016134f2565b60206040518083038186803b15801561292457600080fd5b505afa158015612938573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061295c9190613242565b6000848152600b60205260409020555b505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261296c908490612c0d565b60006109398383612cbe565b606060006129dc83612d08565b9392505050565b60009081526001919091016020526040902054151590565b60008181526001830160205260408120548015612ab95783546000198083019101808214612a73576000866000018281548110612a3457fe5b9060005260206000200154905080876000018481548110612a5157fe5b6000918252602080832090910192909255918252600188019052604090208390555b8554869080612a7e57fe5b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061093c565b600091505061093c565b6000826000018281548110612ad457fe5b9060005260206000200154905092915050565b62093a808082069091030190565b62093a808106900390565b6000808060001985870986860292508281109083900303905080612b365760008411612b2b57600080fd5b5082900490506129dc565b808411612b4257600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b5490565b600082820183811015610939576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000612c62826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612d649092919063ffffffff16565b80519091501561296c57808060200190516020811015612c8157600080fd5b505161296c5760405162461bcd60e51b815260040180806020018281038252602a81526020018061379b602a913960400191505060405180910390fd5b6000612cca83836129e3565b612d005750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561093c565b50600061093c565b606081600001805480602002602001604051908101604052809291908181526020018280548015612d5857602002820191906000526020600020905b815481526020019060010190808311612d44575b50505050509050919050565b6060612d738484600085612d7b565b949350505050565b606082471015612dbc5760405162461bcd60e51b81526004018080602001828103825260268152602001806137756026913960400191505060405180910390fd5b612dc585612ed6565b612e16576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b60208310612e545780518252601f199092019160209182019101612e35565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114612eb6576040519150601f19603f3d011682016040523d82523d6000602084013e612ebb565b606091505b5091509150612ecb828286612edc565b979650505050505050565b3b151590565b60608315612eeb5750816129dc565b825115612efb5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612f45578181015183820152602001612f2d565b50505050905090810190601f168015612f725780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b8051610c688161370a565b8051610c6881613730565b8051610c688161373f565b600060208284031215612fb2578081fd5b81356109398161370a565b600060208284031215612fce578081fd5b81516109398161370a565b60008060008060008060008060006101208a8c031215612ff7578485fd5b89356130028161370a565b985060208a01356130128161370a565b975060408a01356130228161370a565b965060608a01356130328161370a565b955060808a01356130428161370a565b945060a08a01356130528161370a565b935060c08a01356130628161370a565b925060e08a013561307281613730565b91506101008a013561308381613722565b809150509295985092959850929598565b600080600080608085870312156130a9578384fd5b84356130b48161370a565b93506020858101356130c58161370a565b935060408601359250606086013567ffffffffffffffff808211156130e8578384fd5b818801915088601f8301126130fb578384fd5b81358181111561310757fe5b604051601f8201601f191681018501838111828210171561312457fe5b60405281815283820185018b101561313a578586fd5b81858501868301379081019093019390935250939692955090935050565b6000806040838503121561316a578182fd5b82356131758161370a565b946020939093013593505050565b600060208284031215613194578081fd5b815161093981613722565b6000602082840312156131b0578081fd5b81516109398161373f565b600080604083850312156131cd578182fd5b82516131d88161373f565b60208401519092506131e98161373f565b809150509250929050565b600080600060608486031215613208578283fd5b83516132138161373f565b602085015160409095015190969495509392505050565b60006020828403121561323b578081fd5b5035919050565b600060208284031215613253578081fd5b5051919050565b600080600080600060a08688031215613271578283fd5b8535945060208601356132838161373f565b94979496505050506040830135926060810135926080909101359150565b600080604083850312156132b3578182fd5b505080516020909101519092909150565b60008060008060008060c087890312156132dc578384fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600060208284031215613317578081fd5b815163ffffffff81168114610939578182fd5b6000806000806000806000806000806000806101808d8f03121561334c578586fd5b8c516bffffffffffffffffffffffff81168114613367578687fd5b9b5061337560208e01612f80565b9a5061338360408e01612f80565b995061339160608e01612f80565b985061339f60808e01612f8b565b97506133ad60a08e01612f8b565b96506133bb60c08e01612f8b565b95506133c960e08e01612f96565b94506101008d015193506101208d015192506133e86101408e01612f96565b91506133f76101608e01612f96565b90509295989b509295989b509295989b565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b6020808252825182820181905260009190848201906040850190845b8181101561349257835183529284019291840191600101613476565b50909695505050505050565b901515815260200190565b6001600160e01b031991909116815260200190565b600f9490940b8452600292830b6020850152910b60408301521515606082015260800190565b60029190910b815260200190565b600293840b81529190920b6020820152604081019190915260600190565b6020808252600290820152612d2960f11b604082015260600190565b602080825260029082015261272b60f11b604082015260600190565b6020808252600390820152622d292960e91b604082015260600190565b602080825260029082015261414960f01b604082015260600190565b6020808252600390820152620a4a4960eb1b604082015260600190565b602080825260029082015261504d60f01b604082015260600190565b602080825260029082015261474b60f01b604082015260600190565b6020808252600290820152614e4160f01b604082015260600190565b815181526020808301516001600160a01b0316908201526040808301516001600160801b0390811691830191909152606092830151169181019190915260800190565b600060a082019050825182526001600160801b03602084015116602083015260408301516040830152606083015160608301526080830151608083015292915050565b600060c082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015292915050565b6001600160801b039390931683526020830191909152604082015260600190565b90815260200190565b918252602082015260400190565b9283526020830191909152604082015260600190565b6001600160a01b038116811461371f57600080fd5b50565b801515811461371f57600080fd5b8060020b811461371f57600080fd5b6001600160801b038116811461371f57600080fdfe5265656e7472616e637947756172643a207265656e7472616e742063616c6c00416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220ef2d8c6837113dc07d0b6f75e7206d02f2480eeadc1ca395a6eb7373593d81a764736f6c63430007060033