0 txs
1 call
constructor
constructor((address staking, address convertibles, address treasury, address appToken, address stakingToken, address rebaseController, address appOracle, address spotOracle, address ethOracle, address odos, address staking4626, address referrals, address totalReservesOracle) params)
functions
appOracle
viewfunction appOracle() view returns (address)
appToken
viewfunction appToken() view returns (address)
calculateAPR
viewfunction calculateAPR() view returns (uint256)
calculateAPRRaw
viewfunction calculateAPRRaw(uint256 totalStaked) view returns (uint256)
convertibles
viewfunction convertibles() view returns (address)
ethOracle
viewfunction ethOracle() view returns (address)
getAllStakingPositions
viewfunction getAllStakingPositions(uint256 startingIndex, uint256 endingIndex) view returns (tuple[])
getConvertiblePositions
viewfunction getConvertiblePositions(uint256 tokenId) view returns (tuple convertiblePosition)
getConvertiblePositionsByIndex
viewfunction getConvertiblePositionsByIndex(uint256 startIndex, uint256 endIndex) view returns (tuple[] convertiblePositions)
getConvertibleProtocolInfo
viewfunction getConvertibleProtocolInfo() view returns (tuple convertibleProtocolInfo)
getProtocolInfo
viewfunction getProtocolInfo(address user, address[] bondTokens) view returns (tuple protocolInfo, bytes8 referralCode, tuple[] tokenInfos, tuple[] stakingPositions, tuple[] convertiblePositions, tuple convertibleProtocolInfo, tuple projectedEpochRate)
getTwapPrice
viewfunction getTwapPrice() view returns (uint256 price)
loanToken
viewfunction loanToken() view returns (address)
loanTokenUnderlying
viewfunction loanTokenUnderlying() view returns (address)
odos
viewfunction odos() view returns (address)
rebaseController
viewfunction rebaseController() view returns (address)
referrals
viewfunction referrals() view returns (address)
spotOracle
viewfunction spotOracle() view returns (address)
staking
viewfunction staking() view returns (address)
staking4626
viewfunction staking4626() view returns (address)
stakingToken
viewfunction stakingToken() view returns (address)
totalReservesOracle
viewfunction totalReservesOracle() view returns (address)
treasury
viewfunction treasury() view returns (address)
events
RewardsClaimed
event RewardsClaimed(uint256 indexed positionId, uint256 amount)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b50604051613ae7380380613ae783398101604081905261002f916103c9565b8051600280546001600160a01b03199081166001600160a01b039384169081179092556020840151600c8054831691851691909117905560408401516003805483169185169190911790556060840151600480548316918516919091179055608084015160058054831691851691909117905560c084015160018054831691851691909117905560e084015160068054831691851691909117905561010084015160078054831691851691909117905560a0840151600880548316918516919091179055610120840151600080548316918516919091179055610140840151600980548316918516919091179055610160840151600a80548316918516919091179055610180840151600b80549092169316929092179091558190156101cd576004805460025460405163095ea7b360e01b81526001600160a01b03918216938101939093526000196024840152169063095ea7b3906044016020604051808303816000875af11580156101a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101cb91906104ce565b505b600c546001600160a01b03161561036357600c60009054906101000a90046001600160a01b03166001600160a01b03166306d378176040518163ffffffff1660e01b8152600401602060405180830381865afa158015610231573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061025591906104f7565b600d80546001600160a01b0319166001600160a01b03929092169182179055604080516338d52e0f60e01b815290516338d52e0f916004808201926020929091908290030181865afa1580156102af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d391906104f7565b600e80546001600160a01b0319166001600160a01b03928316179055600d54600c5460405163095ea7b360e01b81529083166004820152600019602482015291169063095ea7b3906044016020604051808303816000875af115801561033d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061036191906104ce565b505b5050610514565b6040516101a081016001600160401b038111828210171561039b57634e487b7160e01b600052604160045260246000fd5b60405290565b6001600160a01b03811681146103b657600080fd5b50565b80516103c4816103a1565b919050565b60006101a08284031280156103dd57600080fd5b506103e661036a565b6103ef836103b9565b81526103fd602084016103b9565b602082015261040e604084016103b9565b604082015261041f606084016103b9565b6060820152610430608084016103b9565b608082015261044160a084016103b9565b60a082015261045260c084016103b9565b60c082015261046360e084016103b9565b60e082015261047561010084016103b9565b61010082015261048861012084016103b9565b61012082015261049b61014084016103b9565b6101408201526104ae61016084016103b9565b6101608201526104c161018084016103b9565b6101808201529392505050565b6000602082840312156104e057600080fd5b815180151581146104f057600080fd5b9392505050565b60006020828403121561050957600080fd5b81516104f0816103a1565b6135c4806105236000396000f3fe608060405234801561001057600080fd5b506004361061018d5760003560e01c806383da8357116100e3578063d3dc75391161008c578063f2494f3b11610066578063f2494f3b1461036a578063f62163a614610372578063fe8b876e1461038557600080fd5b8063d3dc75391461032e578063dcedca9214610341578063eee2bfa01461036257600080fd5b80639e78c5c1116100bd5780639e78c5c1146102e8578063b79e424814610308578063d25f29a61461031b57600080fd5b806383da83571461029c5780639671ff2e146102af5780639c8762e1146102d557600080fd5b80634f583684116101455780636ee07d8c1161011f5780636ee07d8c1461025457806372f702f314610269578063836eb7bb1461027c57600080fd5b80634f5836841461020e5780635ab2da8a1461022e57806361d027b31461024157600080fd5b8063191b87a311610176578063191b87a3146101d55780631eba02ec146101e85780634cf088d9146101fb57600080fd5b806303347ec11461019257806306d37817146101c2575b600080fd5b6009546101a5906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b600d546101a5906001600160a01b031681565b6001546101a5906001600160a01b031681565b6000546101a5906001600160a01b031681565b6002546101a5906001600160a01b031681565b61022161021c366004612a3f565b610398565b6040516101b99190612b3a565b600e546101a5906001600160a01b031681565b6003546101a5906001600160a01b031681565b61025c6105b6565b6040516101b99190612b4d565b6005546101a5906001600160a01b031681565b61028f61028a366004612a3f565b61075f565b6040516101b99190612c70565b6008546101a5906001600160a01b031681565b6102c26102bd366004612d30565b610b3f565b6040516101b99796959493929190612f2e565b6007546101a5906001600160a01b031681565b6102fb6102f6366004613087565b610cdc565b6040516101b991906130a0565b6004546101a5906001600160a01b031681565b6006546101a5906001600160a01b031681565b600a546101a5906001600160a01b031681565b61035461034f366004613087565b610f7f565b6040519081526020016101b9565b610354611064565b610354611183565b600b546101a5906001600160a01b031681565b600c546101a5906001600160a01b031681565b600c546060906001600160a01b0316156105b057600c60009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061042391906130af565b821161042f57816104a6565b600c60009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610482573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a691906130af565b91506104b283836130de565b67ffffffffffffffff8111156104ca576104ca612c9b565b60405190808252806020026020018201604052801561056a57816020015b61055760405180610180016040528060006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581525090565b8152602001906001900390816104e85790505b509050825b828110156105ae5761058081610cdc565b8261058b86846130de565b8151811061059b5761059b6130f1565b602090810291909101015260010161056f565b505b92915050565b6105f66040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b600c546001600160a01b03166106095790565b600c54604080517fbe45a26f00000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163be45a26f9160048083019260c09291908290030181865afa15801561066c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106909190613107565b90506000600c60009054906101000a90046001600160a01b03166001600160a01b031663817b1cd26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070b91906130af565b90506040518060e0016040528082815260200183600001518152602001836020015181526020018360400151815260200183606001518152602001836080015181526020018360a001518152509250505090565b6060600061076d84846130de565b67ffffffffffffffff81111561078557610785612c9b565b60405190808252806020026020018201604052801561082457816020015b61081160405180610160016040528060006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581526020016000151581526020016000151581525090565b8152602001906001900390816107a35790505b506002549091506001600160a01b031661083f5790506105b0565b835b83811015610b375760025460405163133f757160e31b8152600481018390526000916001600160a01b0316906399fbab889060240161014060405180830381865afa158015610894573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b89190613185565b80519091506000036108ca5750610b2f565b6000808260a001511180156108e257508160a0015142105b905060008260a0015190506000808460c0015111801561090557508360c0015142105b604080516101608101918290526002547f6352211e00000000000000000000000000000000000000000000000000000000909252610164810188905291925081906001600160a01b0316636352211e6101848301602060405180830381865afa158015610976573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099a919061320f565b6001600160a01b0390811682526020808301899052875160408085019190915290880151606084015260025490517f4d6ed8c4000000000000000000000000000000000000000000000000000000008152600481018a9052608090930192911690634d6ed8c490602401602060405180830381865afa158015610a21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4591906130af565b8152608086810180516020840152604080840187905290511560608401528415159183019190915285151560a083015260095490517f85afc8df0000000000000000000000000000000000000000000000000000000081526004810189905260c0909201916001600160a01b03909116906385afc8df90602401602060405180830381865afa158015610adc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b00919061322c565b1515905286610b0f8b886130de565b81518110610b1f57610b1f6130f1565b6020026020010181905250505050505b600101610841565b509392505050565b610b8e6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b60006060806060610bd56040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b610c076040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b610c1089611229565b9250610c1a611440565b9050610c24611534565b600a546040517fd5ab6f500000000000000000000000000000000000000000000000000000000081526001600160a01b038c8116600483015292995091169063d5ab6f5090602401602060405180830381865afa158015610c89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cad919061324e565b9550610cb8896117f3565b9350610cc48989611c29565b9450610cce6105b6565b915092959891949750929550565b610d4b60405180610180016040528060006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581525090565b600c546001600160a01b0316610d6057919050565b6000610d6a611064565b600c5460405163133f757160e31b8152600481018690529192506000916001600160a01b03909116906399fbab889060240161010060405180830381865afa158015610dba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dde9190613290565b600c546040517f86c316240000000000000000000000000000000000000000000000000000000081526004810187905291925060009182916001600160a01b0316906386c31624906024016040805180830381865afa158015610e45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e699190613304565b60408051610180810191829052600c547f6352211e0000000000000000000000000000000000000000000000000000000090925261018481018a905292945090925081906001600160a01b0316636352211e6101a48301602060405180830381865afa158015610edd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f01919061320f565b6001600160a01b03168152602001878152602001846000015181526020018460200151815260200184604001518152602001846080015181526020018460a0015181526020018460c0015181526020018460e001518152602001838152602001828152602001858560c0015110151515815250945050505050919050565b6008546000906001600160a01b0316610f9a57506000919050565b600854604080517f9e9a71f700000000000000000000000000000000000000000000000000000000815290516000926001600160a01b031691639e9a71f79160048083019260a09291908290030181865afa158015610ffd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110219190613328565b5050925050508281670de0b6b3a764000061103c9190613368565b6110489061016d613368565b611053906004613368565b61105d919061337f565b9392505050565b600c546000906001600160a01b031661107d5750600090565b600c54604080517f9043292a00000000000000000000000000000000000000000000000000000000815290516000926001600160a01b031691639043292a9160048083019260209291908290030181865afa1580156110e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611104919061320f565b60405163078a424560e01b8152670de0b6b3a764000060048201529091506000906001600160a01b0383169063078a424590602401606060405180830381865afa158015611156573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061117a91906133a1565b50949350505050565b6002546000906001600160a01b031661119c5750600090565b600254604080517f817b1cd20000000000000000000000000000000000000000000000000000000081529051611224926001600160a01b03169163817b1cd29160048083019260209291908290030181865afa158015611200573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034f91906130af565b905090565b600c546060906001600160a01b031661124157919050565b600c546040516370a0823160e01b81526001600160a01b03848116600483015260009216906370a0823190602401602060405180830381865afa15801561128c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b091906130af565b90508067ffffffffffffffff8111156112cb576112cb612c9b565b60405190808252806020026020018201604052801561136b57816020015b61135860405180610180016040528060006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581525090565b8152602001906001900390816112e95790505b50915060005b8181101561143957600c546040517f2f745c590000000000000000000000000000000000000000000000000000000081526001600160a01b038681166004830152602482018490526000921690632f745c5990604401602060405180830381865afa1580156113e4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061140891906130af565b905061141381610cdc565b848381518110611425576114256130f1565b602090810291909101015250600101611371565b5050919050565b6114726040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6008546001600160a01b03166114855790565b6000806000806000600860009054906101000a90046001600160a01b03166001600160a01b0316639e9a71f76040518163ffffffff1660e01b815260040160a060405180830381865afa1580156114e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115049190613328565b6040805160a081018252958652602086019490945292840191909152606083015260808201529695505050505050565b6115836040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b600b546001600160a01b03161561162657600b54604080517f242693d3000000000000000000000000000000000000000000000000000000008152815160009384936001600160a01b039091169263242693d392600480830193928290030181865afa1580156115f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061161b9190613304565b908452602084015250505b6002546001600160a01b03161561174057600260009054906101000a90046001600160a01b03166001600160a01b031663817b1cd26040518163ffffffff1660e01b8152600401602060405180830381865afa15801561168a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ae91906130af565b6060820152600254604080517fcd3daf9d00000000000000000000000000000000000000000000000000000000815290516001600160a01b039092169163cd3daf9d916004808201926020929091908290030181865afa158015611716573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173a91906130af565b60808201525b60048054604080517f18160ddd00000000000000000000000000000000000000000000000000000000815290516001600160a01b03909216926318160ddd9282820192602092908290030181865afa1580156117a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117c491906130af565b60408201526117d1611183565b60a08201526117de61274a565b60c08201526117eb6127da565b60e082015290565b6002546060906001600160a01b031661180b57919050565b6002546040516370a0823160e01b81526001600160a01b03848116600483015260009216906370a0823190602401602060405180830381865afa158015611856573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187a91906130af565b90508067ffffffffffffffff81111561189557611895612c9b565b60405190808252806020026020018201604052801561193457816020015b61192160405180610160016040528060006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581526020016000151581526020016000151581525090565b8152602001906001900390816118b35790505b50915060005b81811015611439576002546040517f2f745c590000000000000000000000000000000000000000000000000000000081526001600160a01b038681166004830152602482018490526000921690632f745c5990604401602060405180830381865afa1580156119ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119d191906130af565b9050806000036119e15750611c21565b60025460405163133f757160e31b8152600481018390526000916001600160a01b0316906399fbab889060240161014060405180830381865afa158015611a2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a509190613185565b90506000808260c00151118015611a6a57508160c0015142105b90506000808360a00151118015611a8457508260a0015142105b60a084015160408051610160810182526001600160a01b038c8116825260208083018a9052885183850152880151606083015260025492517f4d6ed8c4000000000000000000000000000000000000000000000000000000008152600481018a90529495509293909260808401921690634d6ed8c490602401602060405180830381865afa158015611b1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b3e91906130af565b8152608086810180516020840152604080840186905290511560608401528615159183019190915284151560a083015260095490517f85afc8df0000000000000000000000000000000000000000000000000000000081526004810189905260c0909201916001600160a01b03909116906385afc8df90602401602060405180830381865afa158015611bd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bf9919061322c565b1515815250888781518110611c1057611c106130f1565b602002602001018190525050505050505b60010161193a565b606081516003611c3991906133cf565b67ffffffffffffffff811115611c5157611c51612c9b565b604051908082528060200260200182016040528015611cdd57816020015b611cca60405180610120016040528060006001600160a01b03168152602001606081526020016060815260200160008152602001600081526020016000815260200160008152602001600060ff168152602001600081525090565b815260200190600190039081611c6f5790505b506040805161012081018252600480546001600160a01b039081168084528451808601865260038082527f525a52000000000000000000000000000000000000000000000000000000000060208084018290528088019390935287518089018952918252918101919091528486015293516370a0823160e01b815290881691810191909152929350916060830191906370a0823190602401602060405180830381865afa158015611d92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611db691906130af565b815260048054600254604051636eb1769f60e11b81526001600160a01b0389811694820194909452908316602482015260209093019291169063dd62ed3e90604401602060405180830381865afa158015611e15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e3991906130af565b8152600480546003546040516370a0823160e01b81526001600160a01b039182169381019390935260209093019216906370a0823190602401602060405180830381865afa158015611e8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eb391906130af565b8152602001600460009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f2f91906130af565b815260126020820152604001611f4361274a565b81525081600081518110611f5957611f596130f1565b60209081029190910181019190915260408051610120810182526005546001600160a01b0390811680835283518085018552600a81527f5374616b656420525a520000000000000000000000000000000000000000000081870152838601528351808501855260048082527f73525a5200000000000000000000000000000000000000000000000000000000968201969096528385015292516370a0823160e01b815290871693810193909352916060830191906370a0823190602401602060405180830381865afa158015612033573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061205791906130af565b8152600554600254604051636eb1769f60e11b81526001600160a01b038881166004830152918216602482015260209093019291169063dd62ed3e90604401602060405180830381865afa1580156120b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120d791906130af565b815260200160008152602001600560009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612136573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061215a91906130af565b81526012602082015260400161216e61274a565b81525081600181518110612184576121846130f1565b60209081029190910181019190915260408051610120810182526009546001600160a01b0390811680835283518085018552601181527f4c6971756964205374616b656420525a52000000000000000000000000000000818701528386015283518085018552600681527f6c7374525a520000000000000000000000000000000000000000000000000000958101959095528284019490945291516370a0823160e01b815291861660048301529160608301916370a0823190602401602060405180830381865afa15801561225d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061228191906130af565b815260006020820152600954600354604080516370a0823160e01b81526001600160a01b0392831660048201529301929116906370a0823190602401602060405180830381865afa1580156122da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122fe91906130af565b8152600954604080517f18160ddd00000000000000000000000000000000000000000000000000000000815290516020938401936001600160a01b03909316926318160ddd92600480820193918290030181865afa158015612364573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061238891906130af565b81526012602082015260400161239c612827565b815250816002815181106123b2576123b26130f1565b602002602001018190525060005b82518110156105ae5760008382815181106123dd576123dd6130f1565b60200260200101519050604051806101200160405280826001600160a01b03168152602001826001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa158015612440573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261246891908101906133e2565b8152602001826001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156124ab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526124d391908101906133e2565b81526040516370a0823160e01b81526001600160a01b0388811660048301526020909201918416906370a0823190602401602060405180830381865afa158015612521573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061254591906130af565b8152600c54604051636eb1769f60e11b81526001600160a01b03898116600483015291821660248201526020909201919084169063dd62ed3e90604401602060405180830381865afa15801561259f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c391906130af565b81526003546040516370a0823160e01b81526001600160a01b039182166004820152602090920191908416906370a0823190602401602060405180830381865afa158015612615573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061263991906130af565b8152602001826001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561267c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126a091906130af565b8152602001826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156126e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127079190613478565b60ff168152602001612718836128d3565b9052836127268460036133cf565b81518110612736576127366130f1565b6020908102919091010152506001016123c0565b6006546000906001600160a01b0316156127d45760065460405163078a424560e01b8152670de0b6b3a764000060048201526000916001600160a01b03169063078a4245906024015b606060405180830381865afa1580156127b0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3791906133a1565b50600090565b6007546000906001600160a01b0316156127d45760075460405163078a424560e01b8152670de0b6b3a764000060048201526000916001600160a01b03169063078a424590602401612793565b60008061283261274a565b90506000600960009054906101000a90046001600160a01b03166001600160a01b0316632c4e722e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612889573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128ad91906130af565b9050670de0b6b3a76400006128c28284613368565b6128cc919061337f565b9250505090565b600080826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612914573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129389190613478565b60ff169050600061294a82600a613582565b9050600061295661274a565b6001549091506001600160a01b031615612a34576001546040517f3e8600170000000000000000000000000000000000000000000000000000000081526001600160a01b038781166004830152602482018590526000928392911690633e86001790604401606060405180830381865afa1580156129d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129fc91906133a1565b509092509050670de0b6b3a7640000612a158385613368565b612a1f919061337f565b612a2990826133cf565b979650505050505050565b506000949350505050565b60008060408385031215612a5257600080fd5b50508035926020909101359150565b80516001600160a01b031682526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610100810151610100830152610120810151610120830152610140810151610140830152610160810151612aed61016084018215159052565b505050565b600081518084526020840193506020830160005b82811015612b3057612b19868351612a61565b610180959095019460209190910190600101612b06565b5093949350505050565b60208152600061105d6020830184612af2565b60e081016105b08284805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c08301525050565b600081518084526020840193506020830160005b82811015612b3057815180516001600160a01b031687526020810151602088015260408101516040880152606081015160608801526080810151608088015260a081015160a088015260c081015160c088015260e0810151612c1460e089018215159052565b50610100810151612c2a61010089018215159052565b50610120810151612c4061012089018215159052565b506101408101519050612c5861014088018215159052565b50610160959095019460209190910190600101612bae565b60208152600061105d6020830184612b9a565b6001600160a01b0381168114612c9857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b604051610140810167ffffffffffffffff81118282101715612cd557612cd5612c9b565b60405290565b604051610100810167ffffffffffffffff81118282101715612cd557612cd5612c9b565b604051601f8201601f1916810167ffffffffffffffff81118282101715612d2857612d28612c9b565b604052919050565b60008060408385031215612d4357600080fd5b8235612d4e81612c83565b9150602083013567ffffffffffffffff811115612d6a57600080fd5b8301601f81018513612d7b57600080fd5b803567ffffffffffffffff811115612d9557612d95612c9b565b8060051b612da560208201612cff565b91825260208184018101929081019088841115612dc157600080fd5b6020850194505b83851015612def5784359250612ddd83612c83565b82825260209485019490910190612dc8565b80955050505050509250929050565b60005b83811015612e19578181015183820152602001612e01565b50506000910152565b60008151808452612e3a816020860160208601612dfe565b601f01601f19169290920160200192915050565b600082825180855260208501945060208160051b8301016020850160005b83811015612f2257848303601f19018852815180516001600160a01b0316845260208101516101206020860152612ea7610120860182612e22565b905060408201518582036040870152612ec08282612e22565b915050606082015160608601526080820151608086015260a082015160a086015260c082015160c086015260e0820151612eff60e087018260ff169052565b506101009182015194909101939093526020978801979190910190600101612e6c565b50909695505050505050565b875181526020880151602082015260408801516040820152606088015160608201526080880151608082015260a088015160a082015260c088015160c082015260e088015160e0820152610100880151610100820152612fb36101208201887fffffffffffffffff000000000000000000000000000000000000000000000000169052565b6103206101408201526000612fcc610320830188612e4e565b828103610160840152612fdf8188612b9a565b9050828103610180840152612ff48187612af2565b85516101a085015260208601516101c085015260408601516101e08501526060860151610200850152608086015161022085015260a086015161024085015260c086015161026085015291506130479050565b825161028083015260208301516102a083015260408301516102c083015260608301516102e0830152608083015161030083015298975050505050505050565b60006020828403121561309957600080fd5b5035919050565b61018081016105b08284612a61565b6000602082840312156130c157600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156105b0576105b06130c8565b634e487b7160e01b600052603260045260246000fd5b600060c082840312801561311a57600080fd5b5060405160009060c0810167ffffffffffffffff8111828210171561314157613141612c9b565b604090815284518252602080860151908301528481015190820152606080850151908201526080808501519082015260a09384015193810193909352509092915050565b600061014082840312801561319957600080fd5b5060006131a4612cb1565b835181526020808501519082015260408085015190820152606080850151908201526080808501519082015260a0808501519082015260c0808501519082015260e0808501519082015261010080850151908201526101209384015193810193909352509092915050565b60006020828403121561322157600080fd5b815161105d81612c83565b60006020828403121561323e57600080fd5b8151801515811461105d57600080fd5b60006020828403121561326057600080fd5b81517fffffffffffffffff0000000000000000000000000000000000000000000000008116811461105d57600080fd5b60006101008284031280156132a457600080fd5b5060006132af612cdb565b835181526020808501519082015260408085015190820152606080850151908201526080808501519082015260a0808501519082015260c0808501519082015260e09384015193810193909352509092915050565b6000806040838503121561331757600080fd5b505080516020909101519092909150565b600080600080600060a0868803121561334057600080fd5b5050835160208501516040860151606087015160809097015192989197509594509092509050565b80820281158282048414176105b0576105b06130c8565b60008261339c57634e487b7160e01b600052601260045260246000fd5b500490565b6000806000606084860312156133b657600080fd5b5050815160208301516040909301519094929350919050565b808201808211156105b0576105b06130c8565b6000602082840312156133f457600080fd5b815167ffffffffffffffff81111561340b57600080fd5b8201601f8101841361341c57600080fd5b805167ffffffffffffffff81111561343657613436612c9b565b6134496020601f19601f84011601612cff565b81815285602083850101111561345e57600080fd5b61346f826020830160208601612dfe565b95945050505050565b60006020828403121561348a57600080fd5b815160ff8116811461105d57600080fd5b6001815b60018411156134d6578085048111156134ba576134ba6130c8565b60018416156134c857908102905b60019390931c92800261349f565b935093915050565b6000826134ed575060016105b0565b816134fa575060006105b0565b8160018114613510576002811461351a57613536565b60019150506105b0565b60ff84111561352b5761352b6130c8565b50506001821b6105b0565b5060208310610133831016604e8410600b8410161715613559575081810a6105b0565b613566600019848461349b565b806000190482111561357a5761357a6130c8565b029392505050565b600061105d83836134de56fea2646970667358221220beec05bcd9288934a65de3d5513582064ac7afa23771e8c15111e4ad4e4af43464736f6c634300081c0033000000000000000000000000cd43c9c6ecca33a0c3ef6e509f7559c5c5e4639900000000000000000000000086143b33e3b946b50f89a6be7aec898074a5e1e90000000000000000000000000000030d7a7c4888851f35705b0852cf20ac1ba6000000000000000000000000b4444468e444f89e1c2cac2f1d3ee7e336cbd1f50000000000000000000000005de77ccabc90b4681e83d0588fb91a54f8f70aaf000000000000000000000000fad35a07f9244abb4e2481f7d7c7bffcad10263c000000000000000000000000d80bcabefca1334ec0c2ee110cb9213d72dd3622000000000000000000000000b6cb302710592ffca18f2b09e4fb5fd4dcd0cb2d000000000000000000000000af0af0f9e7e52d0158b6e9b0596515cc90e1546f000000000000000000000000cf5540fffcdc3d510b18bfca6d2b9987b0772559000000000000000000000000b33f4b9c6f0624edeae8881c97381837760d52cb000000000000000000000000b1fd2da8914dc200bc4effd71713594caa88a2f8000000000000000000000000e148d8919309697d714b9f33b4624969a9a55f81