0 txs
627 calls
constructor
No constructor.
functions
balanceOf
viewfunction balanceOf() view returns (uint256)
balanceOfPool
viewfunction balanceOfPool() view returns (uint256)
balanceOfWant
viewfunction balanceOfWant() view returns (uint256)
beefyFeeConfig
viewfunction beefyFeeConfig() view returns (address)
beefyFeeRecipient
viewfunction beefyFeeRecipient() view returns (address)
callReward
viewfunction callReward() view returns (uint256)
depositFee
viewfunction depositFee() view returns (uint256)
depositToken
viewfunction depositToken() view returns (address)
gasprice
viewfunction gasprice() view returns (address)
getAllFees
viewfunction getAllFees() view returns (tuple)
getStratFeeId
viewfunction getStratFeeId() view returns (uint256)
harvestOnDeposit
viewfunction harvestOnDeposit() view returns (bool)
ichiDepositHelper
viewfunction ichiDepositHelper() view returns (address)
keeper
viewfunction keeper() view returns (address)
lastHarvest
viewfunction lastHarvest() view returns (uint256)
native
viewfunction native() view returns (address)
nativeToDeposit
viewfunction nativeToDeposit() view returns (address[])
nativeToDepositRoute
viewfunction nativeToDepositRoute(uint256) view returns (address from, address to, bool stable)
output
viewfunction output() view returns (address)
outputToNative
viewfunction outputToNative() view returns (address[])
outputToNativeRoute
viewfunction outputToNativeRoute(uint256) view returns (address from, address to, bool stable)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
rewardPool
viewfunction rewardPool() view returns (address)
rewards
viewfunction rewards(uint256) view returns (address)
rewardsAvailable
viewfunction rewardsAvailable() view returns (uint256)
shouldGasThrottle
viewfunction shouldGasThrottle() view returns (bool)
strategist
viewfunction strategist() view returns (address)
unirouter
viewfunction unirouter() view returns (address)
vault
viewfunction vault() view returns (address)
vaultDeployer
viewfunction vaultDeployer() view returns (address)
want
viewfunction want() view returns (address)
WITHDRAWAL_FEE_CAP
viewfunction WITHDRAWAL_FEE_CAP() view returns (uint256)
WITHDRAWAL_MAX
viewfunction WITHDRAWAL_MAX() view returns (uint256)
withdrawFee
viewfunction withdrawFee() view returns (uint256)
beforeDeposit
nonpayablefunction beforeDeposit()
deposit
nonpayablefunction deposit()
harvest
nonpayablefunction harvest()
harvest
nonpayablefunction harvest(address callFeeRecipient)
initialize
nonpayablefunction initialize(address _want, address _rewardPool, address _ichiDepositHelper, address _vaultDeployer, tuple[] _outputToNativeRoute, tuple[] _nativeToDepositRoute, tuple _commonAddresses)
panic
nonpayablefunction panic()
pause
nonpayablefunction pause()
renounceOwnership
nonpayablefunction renounceOwnership()
retireStrat
nonpayablefunction retireStrat()
setBeefyFeeConfig
nonpayablefunction setBeefyFeeConfig(address _beefyFeeConfig)
setBeefyFeeRecipient
nonpayablefunction setBeefyFeeRecipient(address _beefyFeeRecipient)
setHarvestOnDeposit
nonpayablefunction setHarvestOnDeposit(bool _harvestOnDeposit)
setKeeper
nonpayablefunction setKeeper(address _keeper)
setShouldGasThrottle
nonpayablefunction setShouldGasThrottle(bool _shouldGasThrottle)
setStrategist
nonpayablefunction setStrategist(address _strategist)
setStratFeeId
nonpayablefunction setStratFeeId(uint256 _feeId)
setUnirouter
nonpayablefunction setUnirouter(address _unirouter)
setVault
nonpayablefunction setVault(address _vault)
setWithdrawalFee
nonpayablefunction setWithdrawalFee(uint256 _fee)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
withdraw
nonpayablefunction withdraw(uint256 _amount)
events
ChargedFees
event ChargedFees(uint256 callFees, uint256 beefyFees, uint256 strategistFees)
Deposit
event Deposit(uint256 tvl)
Initialized
event Initialized(uint8 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
SetBeefyFeeConfig
event SetBeefyFeeConfig(address beefyFeeConfig)
SetBeefyFeeRecipient
event SetBeefyFeeRecipient(address beefyFeeRecipient)
SetKeeper
event SetKeeper(address keeper)
SetStrategist
event SetStrategist(address strategist)
SetStratFeeId
event SetStratFeeId(uint256 feeId)
SetUnirouter
event SetUnirouter(address unirouter)
SetVault
event SetVault(address vault)
SetWithdrawalFee
event SetWithdrawalFee(uint256 withdrawalFee)
StratHarvest
event StratHarvest(address indexed harvester, uint256 wantHarvested, uint256 tvl)
Unpaused
event Unpaused(address account)
Withdraw
event Withdraw(uint256 tvl)
errors
No errors.
creation bytecode
0x6080604052609e80546001600160a81b03191674a43509661141f254f54d9a326e8ec851a0b953070117905534801561003757600080fd5b506133e3806100476000396000f3fe608060405234801561001057600080fd5b50600436106103835760003560e01c80638912cb8b116101de578063c89039c51161010f578063f1a392da116100ad578063fad4675e1161007c578063fad4675e14610702578063fb61778714610715578063fbfa77cf1461071d578063fc167fc61461073057600080fd5b8063f1a392da146106c0578063f20eaeb8146106c9578063f2fde38b146106dc578063f301af42146106ef57600080fd5b8063dfbdc437116100e9578063dfbdc43714610695578063e7a7250a1461069d578063e82a54e7146106a5578063e941fa78146106b857600080fd5b8063c89039c514610667578063d0e30db01461067a578063d92f3d731461068257600080fd5b8063a68833e51161017c578063b20feaaf11610156578063b20feaaf146105fc578063be12a97814610611578063c1a3d44c1461064c578063c7b9d5301461065457600080fd5b8063a68833e5146105c3578063ac1e5025146105d6578063aced1661146105e957600080fd5b80638e145459116101b85780638e145459146105885780638f72cb001461059b57806397fd323d146105ae5780639f8b5da1146105b657600080fd5b80638912cb8b1461055b5780638cfc02501461056f5780638da5cb5b1461057757600080fd5b80634641257d116102b857806367a5279311610256578063715018a611610230578063715018a614610530578063722713f714610538578063748747e6146105405780638456cb591461055357600080fd5b806367a52793146104fe5780636817031b146105055780636ec232d31461051857600080fd5b806354518b1a1161029257806354518b1a146104c3578063573fef0a146104cc5780635c975abb146104d457806366666aa9146104eb57600080fd5b80634641257d146104a05780634700d305146104a85780634746fb55146104b057600080fd5b80631fe4a686116103255780632f17e030116102ff5780632f17e0301461046a5780633c1deb531461047d5780633e55f932146104855780633f4ba83a1461049857600080fd5b80631fe4a68614610431578063257ae0de146104445780632e1a7d4d1461045757600080fd5b8063115880861161036157806311588086146103c357806311b0b42d146103de57806313e120b1146104095780631f1fcd511461041e57600080fd5b80630e5c011e146103885780630e8fbb5a1461039d578063106fdbd0146103b0575b600080fd5b61039b610396366004612bce565b610743565b005b61039b6103ab366004612bf9565b610836565b61039b6103be366004612bce565b610879565b6103cb6108d6565b6040519081526020015b60405180910390f35b609f546103f1906001600160a01b031681565b6040516001600160a01b0390911681526020016103d5565b610411610949565b6040516103d59190612c16565b60a1546103f1906001600160a01b031681565b609a546103f1906001600160a01b031681565b6098546103f1906001600160a01b031681565b61039b610465366004612c63565b6109e4565b60a5546103f1906001600160a01b031681565b610411610c15565b61039b610493366004612c63565b610c9a565b61039b610d31565b61039b610d53565b61039b610e3e565b609c546103f1906001600160a01b031681565b6103cb61271081565b61039b610eb9565b60655460ff165b60405190151581526020016103d5565b60a3546103f1906001600160a01b031681565b60006103cb565b61039b610513366004612bce565b610ef5565b609e546103f19061010090046001600160a01b031681565b61039b610f4b565b6103cb610f5d565b61039b61054e366004612bce565b610f79565b61039b610fcf565b60a5546104db90600160a01b900460ff1681565b6103cb610fe7565b6033546001600160a01b03166103f1565b609b546103f1906001600160a01b031681565b60a4546103f1906001600160a01b031681565b6103cb611018565b609e546104db9060ff1681565b61039b6105d1366004612bce565b61110b565b61039b6105e4366004612c63565b611161565b6099546103f1906001600160a01b031681565b6106046111d8565b6040516103d59190612ccc565b61062461061f366004612c63565b61120e565b604080516001600160a01b0394851681529390921660208401521515908201526060016103d5565b6103cb611254565b61039b610662366004612bce565b611285565b60a2546103f1906001600160a01b031681565b61039b61131b565b61039b610690366004612bce565b61142d565b6103cb603281565b6103cb611483565b61039b6106b3366004612d95565b6114c2565b6103cb61181b565b6103cb60a65481565b60a0546103f1906001600160a01b031681565b61039b6106ea366004612bce565b61183a565b6103f16106fd366004612c63565b6118b0565b61039b610710366004612bf9565b6118da565b61039b6118f5565b6097546103f1906001600160a01b031681565b61062461073e366004612c63565b611a76565b609e5460ff1680156107655750609e5461010090046001600160a01b03163b15155b1561082a57609e60019054906101000a90046001600160a01b03166001600160a01b0316633de39c116040518163ffffffff1660e01b81526004016020604051808303816000875af11580156107bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e39190612e6b565b3a111561082a5760405162461bcd60e51b815260206004820152601060248201526f67617320697320746f6f20686967682160801b60448201526064015b60405180910390fd5b61083381611a86565b50565b61083e611bdb565b60a5805460ff60a01b1916600160a01b8315158102919091179182905560ff9104161561086f576108336000611161565b610833600a611161565b610881611c35565b609c80546001600160a01b0319166001600160a01b0383169081179091556040519081527f91e28ce4210d103c13c5174847e463b836900f8dc63e9d9b42a4255169d19529906020015b60405180910390a150565b60a3546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a08231906024015b602060405180830381865afa158015610920573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109449190612e6b565b905090565b6060600060a7805480602002602001604051908101604052809291908181526020016000905b828210156109cf576000848152602090819020604080516060810182526002860290920180546001600160a01b03908116845260019182015490811684860152600160a01b900460ff16151591830191909152908352909201910161096f565b5050505090506109de81611c8f565b91505090565b6097546001600160a01b03163314610a0e5760405162461bcd60e51b815260040161082190612e84565b60a1546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015610a57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7b9190612e6b565b905081811015610b5f5760a3546001600160a01b0316632e1a7d4d610aa08385612eba565b6040518263ffffffff1660e01b8152600401610abe91815260200190565b600060405180830381600087803b158015610ad857600080fd5b505af1158015610aec573d6000803e3d6000fd5b505060a1546040516370a0823160e01b81523060048201526001600160a01b0390911692506370a082319150602401602060405180830381865afa158015610b38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5c9190612e6b565b90505b81811115610b6a5750805b6033546001600160a01b03163214801590610b88575060655460ff16155b15610bba576000612710609d5483610ba09190612ed3565b610baa9190612eea565b9050610bb68183612eba565b9150505b60975460a154610bd7916001600160a01b03918216911683611dae565b7f5b6b431d4476a211bb7d41c20d1aab9ae2321deee0d20be3d9fc9b1093fa6e3d610c00610f5d565b60405190815260200160405180910390a15050565b6060600060a880548060200260200160405190810160405280929190818152602001600090828210156109cf576000848152602090819020604080516060810182526002860290920180546001600160a01b03908116845260019182015490811684860152600160a01b900460ff16151591830191909152908352909201910161096f565b610ca2611bdb565b609c54604051631f2afc9960e11b8152600481018390526001600160a01b0390911690633e55f93290602401600060405180830381600087803b158015610ce857600080fd5b505af1158015610cfc573d6000803e3d6000fd5b505050507f9163810ee1e29168d4ce900e48a333fb8fbd3fd070d2bef67f6d4db0846a469f816040516108cb91815260200190565b610d39611bdb565b610d41611e16565b610d49611e68565b610d5161131b565b565b609e5460ff168015610d755750609e5461010090046001600160a01b03163b15155b15610e3557609e60019054906101000a90046001600160a01b03166001600160a01b0316633de39c116040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610dcf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df39190612e6b565b3a1115610e355760405162461bcd60e51b815260206004820152601060248201526f67617320697320746f6f20686967682160801b6044820152606401610821565b610d5132611a86565b610e46611bdb565b610e4e610fcf565b60a3546001600160a01b0316632e1a7d4d610e676108d6565b6040518263ffffffff1660e01b8152600401610e8591815260200190565b600060405180830381600087803b158015610e9f57600080fd5b505af1158015610eb3573d6000803e3d6000fd5b50505050565b60a554600160a01b900460ff1615610d51576097546001600160a01b03163314610e355760405162461bcd60e51b815260040161082190612e84565b610efd611c35565b609780546001600160a01b0319166001600160a01b0383169081179091556040519081527fd459c7242e23d490831b5676a611c4342d899d28f342d89ae80793e56a930f30906020016108cb565b610f53611c35565b610d516000611ee4565b6000610f676108d6565b610f6f611254565b6109449190612f0c565b610f81611bdb565b609980546001600160a01b0319166001600160a01b0383169081179091556040519081527fefb5cfa1a8690c124332ab93324539c5c9c4be03f28aeb8be86f2d8a0c9fb99b906020016108cb565b610fd7611bdb565b610fdf611f36565b610d51611f73565b609c54604051636788231160e11b81523060048201526000916001600160a01b03169063cf10462290602401610903565b600080611023611feb565b9050600061102f611483565b9050600081156110be5760985460a054609f54604051635e1e632560e01b8152600481018690526001600160a01b0392831660248201529082166044820152911690635e1e6325906064016040805180830381865afa158015611096573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ba9190612f2f565b5090505b670de0b6b3a76400008360400151670de0b6b3a76400008560000151846110e59190612ed3565b6110ef9190612eea565b6110f99190612ed3565b6111039190612eea565b935050505090565b611113611c35565b609b80546001600160a01b0319166001600160a01b0383169081179091556040519081527f8041329bf7057543a2c2ff4e4071d1d488a31f82ed44e169b5cd2f04f5e3ac85906020016108cb565b611169611bdb565b60328111156111a35760405162461bcd60e51b8152600401610821906020808252600490820152630216361760e41b604082015260600190565b609d8190556040518181527f3aa4413905e8f015896ec5880bdde24088ccb19b578f9fcf6800354d5320d4af906020016108cb565b6111e0612b5f565b60405180606001604052806111f3611feb565b81526020016000815260200161120761181b565b9052919050565b60a7818154811061121e57600080fd5b6000918252602090912060029091020180546001909101546001600160a01b03918216925090811690600160a01b900460ff1683565b60a1546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401610903565b609a546001600160a01b031633146112cd5760405162461bcd60e51b815260206004820152600b60248201526a085cdd1c985d1959da5cdd60aa1b6044820152606401610821565b609a80546001600160a01b0319166001600160a01b0383169081179091556040519081527f46d58e3fa07bf19b1d27240f0e286b27e9f7c1b0d88933333fe833b60eec5412906020016108cb565b611323612096565b60a1546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa15801561136c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113909190612e6b565b905080156108335760a35460405163b6b55f2560e01b8152600481018390526001600160a01b039091169063b6b55f2590602401600060405180830381600087803b1580156113de57600080fd5b505af11580156113f2573d6000803e3d6000fd5b505050507f4d6ce1e535dbade1c23defba91e23b8f791ce5edc0cc320257a2b364e4e3842661141f610f5d565b6040519081526020016108cb565b611435611c35565b609880546001600160a01b0319166001600160a01b0383169081179091556040519081527f5ca6e64c4522e68e154aa9372f2c5969cd37d9640e59f66953dc472f54ee86fa906020016108cb565b60a35460a05460405163211dc32d60e01b81526001600160a01b039182166004820152306024820152600092919091169063211dc32d90604401610903565b600054610100900460ff16158080156114e25750600054600160ff909116105b806114fc5750303b1580156114fc575060005460ff166001145b61155f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610821565b6000805460ff191660011790558015611582576000805461ff0019166101001790555b61158b826120dc565b60a180546001600160a01b03808d166001600160a01b03199283161790925560a380548c841690831617905560a480548b841690831617905560a58054928a169290911691909117905560005b858110156116355760a78787838181106115f4576115f4612f5f565b8354600181018555600094855260209094206060909102929092019260020290910190506116228282612f95565b50508061162e90612ff2565b90506115d8565b5060005b838110156116965760a885858381811061165557611655612f5f565b8354600181018555600094855260209094206060909102929092019260020290910190506116838282612f95565b50508061168f90612ff2565b9050611639565b5060a76000815481106116ab576116ab612f5f565b600091825260209091206002909102015460a080546001600160a01b0319166001600160a01b0390921691909117905560a780546116eb90600190612eba565b815481106116fb576116fb612f5f565b600091825260209091206001600290920201810154609f80546001600160a01b0319166001600160a01b0390921691909117905560a88054909161173e91612eba565b8154811061174e5761174e612f5f565b600091825260208220600160029092020181015460a280546001600160a01b03199081166001600160a01b039384161790915560a05460a9805494850181559094527fdc471888e6136f84c49e531e9c9240dc4e3fba66da9d3a49e2af6202133683e0909201805490921692169190911790556117c9611e68565b801561180f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050505050565b600061182960655460ff1690565b6118345750609d5490565b50600090565b611842611c35565b6001600160a01b0381166118a75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610821565b61083381611ee4565b60a981815481106118c057600080fd5b6000918252602090912001546001600160a01b0316905081565b6118e2611bdb565b609e805460ff1916911515919091179055565b6097546001600160a01b0316331461191f5760405162461bcd60e51b815260040161082190612e84565b60a3546001600160a01b0316632e1a7d4d6119386108d6565b6040518263ffffffff1660e01b815260040161195691815260200190565b600060405180830381600087803b15801561197057600080fd5b505af1158015611984573d6000803e3d6000fd5b505060a1546040516370a0823160e01b8152306004820152600093506001600160a01b0390911691506370a0823190602401602060405180830381865afa1580156119d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119f79190612e6b565b60a15460975460405163a9059cbb60e01b81526001600160a01b03918216600482015260248101849052929350169063a9059cbb906044016020604051808303816000875af1158015611a4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a72919061300b565b5050565b60a8818154811061121e57600080fd5b611a8e612096565b60a3546040516331279d3d60e01b81526001600160a01b03909116906331279d3d90611ac190309060a990600401613028565b600060405180830381600087803b158015611adb57600080fd5b505af1158015611aef573d6000803e3d6000fd5b505060a0546040516370a0823160e01b8152306004820152600093506001600160a01b0390911691506370a0823190602401602060405180830381865afa158015611b3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b629190612e6b565b90508015611a7257611b7382612238565b611b7b6124dd565b6000611b85611254565b9050611b8f61131b565b4260a655337f9bc239f1724cacfb88cb1d66a2dc437467699b68a8c90d7b63110cf4b6f9241082611bbe610f5d565b6040805192835260208301919091520160405180910390a2505050565b6033546001600160a01b0316331480611bfe57506099546001600160a01b031633145b610d515760405162461bcd60e51b815260206004820152600860248201526710b6b0b730b3b2b960c11b6044820152606401610821565b6033546001600160a01b03163314610d515760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610821565b6060600082516001611ca19190612f0c565b67ffffffffffffffff811115611cb957611cb9613087565b604051908082528060200260200182016040528015611ce2578160200160208202803683370190505b50905082600081518110611cf857611cf8612f5f565b60200260200101516000015181600081518110611d1757611d17612f5f565b60200260200101906001600160a01b031690816001600160a01b03168152505060005b8351811015611da757838181518110611d5557611d55612f5f565b60200260200101516020015182826001611d6f9190612f0c565b81518110611d7f57611d7f612f5f565b6001600160a01b0390921660209283029190910190910152611da081612ff2565b9050611d3a565b5092915050565b6040516001600160a01b038316602482015260448101829052611e1190849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526126eb565b505050565b611e1e6127bd565b6065805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b60a35460a154611e87916001600160a01b039182169116600019612806565b60985460a054611ea6916001600160a01b039182169116600019612806565b609854609f54611ec5916001600160a01b039182169116600019612806565b60a45460a254610d51916001600160a01b039182169116600019612806565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b611f3e612096565b6065805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611e4b3390565b60a35460a154611f91916001600160a01b0391821691166000612806565b60985460a054611faf916001600160a01b0391821691166000612806565b609854609f54611fcd916001600160a01b0391821691166000612806565b60a45460a254610d51916001600160a01b0391821691166000612806565b6120266040518060c0016040528060008152602001600081526020016000815260200160008152602001606081526020016000151581525090565b609c54604051639af608c960e01b81523060048201526001600160a01b0390911690639af608c990602401600060405180830381865afa15801561206e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261094491908101906130f7565b60655460ff1615610d515760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610821565b600054610100900460ff166121035760405162461bcd60e51b8152600401610821906131ed565b61210b61291b565b61211361294a565b6121206020820182612bce565b609780546001600160a01b0319166001600160a01b03929092169190911790556121506040820160208301612bce565b609880546001600160a01b0319166001600160a01b03929092169190911790556121806060820160408301612bce565b609980546001600160a01b0319166001600160a01b03929092169190911790556121b06080820160608301612bce565b609a80546001600160a01b0319166001600160a01b03929092169190911790556121e060a0820160808301612bce565b609b80546001600160a01b0319166001600160a01b039290921691909117905561221060c0820160a08301612bce565b609c80546001600160a01b0319166001600160a01b039290921691909117905550600a609d55565b6000612242611feb565b60a0546040516370a0823160e01b81523060048201529192506000916001600160a01b03909116906370a0823190602401602060405180830381865afa158015612290573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122b49190612e6b565b609854604051631e82ecdb60e31b81529192506001600160a01b03169063f41766d8906122ef90849060009060a79030904290600401613238565b6000604051808303816000875af115801561230e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261233691908101906132d8565b508151609f546040516370a0823160e01b8152306004820152600092670de0b6b3a76400009290916001600160a01b03909116906370a0823190602401602060405180830381865afa158015612390573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123b49190612e6b565b6123be9190612ed3565b6123c89190612eea565b90506000670de0b6b3a76400008460400151836123e59190612ed3565b6123ef9190612eea565b609f54909150612409906001600160a01b03168683611dae565b6000670de0b6b3a76400008560200151846124249190612ed3565b61242e9190612eea565b609b54609f5491925061244e916001600160a01b03908116911683611dae565b6000670de0b6b3a76400008660600151856124699190612ed3565b6124739190612eea565b609a54609f54919250612493916001600160a01b03908116911683611dae565b60408051848152602081018490529081018290527fd255b592c7f268a73e534da5219a60ff911b4cf6daae21c7d20527dd657bd99a9060600160405180910390a150505050505050565b609f546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015612526573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061254a9190612e6b565b60a254609f549192506001600160a01b039182169116146125e857609854604051631e82ecdb60e31b81526001600160a01b039091169063f41766d89061259f90849060009060a89030904290600401613238565b6000604051808303816000875af11580156125be573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526125e691908101906132d8565b505b60a2546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015612631573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126559190612e6b565b60a4805460a15460a55460a254604051635d123e3f60e01b81526001600160a01b039384166004820152918316602483015282166044820152606481018590526000608482015230938101939093529293509190911690635d123e3f9060c401600060405180830381600087803b1580156126cf57600080fd5b505af11580156126e3573d6000803e3d6000fd5b505050505050565b6000612740826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166129799092919063ffffffff16565b805190915015611e11578080602001905181019061275e919061300b565b611e115760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610821565b60655460ff16610d515760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610821565b8015806128805750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa15801561285a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061287e9190612e6b565b155b6128eb5760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b6064820152608401610821565b6040516001600160a01b038316602482015260448101829052611e1190849063095ea7b360e01b90606401611dda565b600054610100900460ff166129425760405162461bcd60e51b8152600401610821906131ed565b610d51612992565b600054610100900460ff166129715760405162461bcd60e51b8152600401610821906131ed565b610d516129c2565b606061298884846000856129f5565b90505b9392505050565b600054610100900460ff166129b95760405162461bcd60e51b8152600401610821906131ed565b610d5133611ee4565b600054610100900460ff166129e95760405162461bcd60e51b8152600401610821906131ed565b6065805460ff19169055565b606082471015612a565760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610821565b6001600160a01b0385163b612aad5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610821565b600080866001600160a01b03168587604051612ac9919061337e565b60006040518083038185875af1925050503d8060008114612b06576040519150601f19603f3d011682016040523d82523d6000602084013e612b0b565b606091505b5091509150612b1b828286612b26565b979650505050505050565b60608315612b3557508161298b565b825115612b455782518084602001fd5b8160405162461bcd60e51b8152600401610821919061339a565b6040518060600160405280612ba56040518060c0016040528060008152602001600081526020016000815260200160008152602001606081526020016000151581525090565b815260200160008152602001600081525090565b6001600160a01b038116811461083357600080fd5b600060208284031215612be057600080fd5b813561298b81612bb9565b801515811461083357600080fd5b600060208284031215612c0b57600080fd5b813561298b81612beb565b6020808252825182820181905260009190848201906040850190845b81811015612c575783516001600160a01b031683529284019291840191600101612c32565b50909695505050505050565b600060208284031215612c7557600080fd5b5035919050565b60005b83811015612c97578181015183820152602001612c7f565b50506000910152565b60008151808452612cb8816020860160208601612c7c565b601f01601f19169290920160200192915050565b60208152600082516060602084015280516080840152602081015160a0840152604081015160c0840152606081015160e0840152608081015160c0610100850152612d1b610140850182612ca0565b905060a082015115156101208501526020850151604085015260408501516060850152809250505092915050565b60008083601f840112612d5b57600080fd5b50813567ffffffffffffffff811115612d7357600080fd5b602083019150836020606083028501011115612d8e57600080fd5b9250929050565b6000806000806000806000806000898b03610180811215612db557600080fd5b8a35612dc081612bb9565b995060208b0135612dd081612bb9565b985060408b0135612de081612bb9565b975060608b0135612df081612bb9565b965060808b013567ffffffffffffffff80821115612e0d57600080fd5b612e198e838f01612d49565b909850965060a08d0135915080821115612e3257600080fd5b50612e3f8d828e01612d49565b90955093505060c060bf1982011215612e5757600080fd5b5060c08a0190509295985092959850929598565b600060208284031215612e7d57600080fd5b5051919050565b602080825260069082015265085d985d5b1d60d21b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b81810381811115612ecd57612ecd612ea4565b92915050565b8082028115828204841417612ecd57612ecd612ea4565b600082612f0757634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115612ecd57612ecd612ea4565b8051612f2a81612beb565b919050565b60008060408385031215612f4257600080fd5b825191506020830151612f5481612beb565b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b80546001600160a01b0319166001600160a01b0392909216919091179055565b8135612fa081612bb9565b612faa8183612f75565b50600181016020830135612fbd81612bb9565b612fc78183612f75565b506040830135612fd681612beb565b815460ff60a01b191690151560a01b60ff60a01b161790555050565b60006001820161300457613004612ea4565b5060010190565b60006020828403121561301d57600080fd5b815161298b81612beb565b60006040820160018060a01b03808616845260206040818601528286548085526060870191508760005282600020945060005b8181101561307957855485168352600195860195928401920161305b565b509098975050505050505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156130c0576130c0613087565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156130ef576130ef613087565b604052919050565b6000602080838503121561310a57600080fd5b825167ffffffffffffffff8082111561312257600080fd5b9084019060c0828703121561313657600080fd5b61313e61309d565b825181528383015184820152604083015160408201526060830151606082015260808301518281111561317057600080fd5b8301601f8101881361318157600080fd5b80518381111561319357613193613087565b6131a5601f8201601f191687016130c6565b935080845288868284010111156131bb57600080fd5b6131ca81878601888501612c7c565b50508160808201526131de60a08401612f1f565b60a08201529695505050505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600060a0808301888452602088818601526040838187015282895480855260c0880191508a60005283600020945060005b818110156132ab5785546001600160a01b0390811684526001878101549182168786015290881c60ff1615158585015260029096019560609093019201613269565b50506001600160a01b038916606088015294506132c89350505050565b8260808301529695505050505050565b600060208083850312156132eb57600080fd5b825167ffffffffffffffff8082111561330357600080fd5b818501915085601f83011261331757600080fd5b81518181111561332957613329613087565b8060051b915061333a8483016130c6565b818152918301840191848101908884111561335457600080fd5b938501935b8385101561337257845182529385019390850190613359565b98975050505050505050565b60008251613390818460208701612c7c565b9190910192915050565b60208152600061298b6020830184612ca056fea2646970667358221220ef3cda847fd5a8cb0327649f4f688ef3d7520fcf72b8b54ef87966e61d7d088764736f6c63430008130033