0 txs
1 call
constructor
constructor((address pendleMarket, uint8 slippage, address ibToken, address quoteToken)[] routes)
functions
getRouteData
viewfunction getRouteData(address, address) view returns (address pendleMarket, address sy, address pt, address yt, uint8 slippage, address ib)
owner
viewfunction owner() view returns (address)
pendingOwner
viewfunction pendingOwner() view returns (address)
acceptOwnership
nonpayablefunction acceptOwnership()
addPairs
nonpayablefunction addPairs(tuple[] routes)
redeemDust
nonpayablefunction redeemDust(address token, address recipient)
renounceOwnership
nonpayablefunction renounceOwnership()
swapCallback
nonpayablefunction swapCallback(int256 ptToAccount, int256 syToAccount, bytes _data)
swapExactInput
nonpayablefunction swapExactInput(address recipient, address tokenIn, address tokenOut, uint256 amountIn, uint256 minAmountOut, bytes data) returns (uint256 amountOut)
swapExactOutput
nonpayablefunction swapExactOutput(address recipient, address tokenIn, address tokenOut, uint256 maxAmountIn, uint256 amountOut, bytes data) returns (uint256 amountIn)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
NewPair
event NewPair(address indexed ptToken, address indexed quoteToken, address pendleMarket, uint8 slippage)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
errors
ApproximationFailed
error ApproximationFailed()
InsufficientAmount
error InsufficientAmount()
MarketExchangeRateBelowOne
error MarketExchangeRateBelowOne(int256 exchangeRate)
MarketExpired
error MarketExpired()
MarketProportionMustNotEqualOne
error MarketProportionMustNotEqualOne()
MarketProportionTooHigh
error MarketProportionTooHigh(int256 proportion, int256 maxProportion)
MarketRateScalarBelowZero
error MarketRateScalarBelowZero(int256 rateScalar)
MarketZeroTotalPtOrTotalAsset
error MarketZeroTotalPtOrTotalAsset(int256 totalPt, int256 totalAsset)
NotSupported
error NotSupported()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
TooMuchRequested
error TooMuchRequested()
UnknownPair
error UnknownPair()
WrongInput
error WrongInput()
ZeroAddress
error ZeroAddress()
creation bytecode
0x60808060405234610558576132ee803803809161001c82856106e4565b8339810190602081830312610558578051906001600160401b038211610558570181601f82011215610558578051906001600160401b038211610502576040519261006d60208460051b01856106e4565b82845260208085019360071b8301019181831161055857602001925b8284106106565784331561064357600180546001600160a01b03199081169091555f805433928116831782556040519192606092916001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a36100f4816106c9565b82815282602082015282604082015201528051905f5b82811061012057604051612bba90816107348239f35b815181101561062f57600581901b82016020015180519091906001600160a01b031615610516576020820191670de0b6b3a764000060ff8451161015610516578051604051630b2339af60e21b815290606090829060049082906001600160a01b03165afa938415610564575f5f925f966105bb575b50604084810180519151637d2d278360e11b81526001600160a01b039283166004820152929091169390929091602081602481885afa908115610564575f9161059d575b5015610516578251604051633c21b3eb60e11b81526001600160a01b039091166004820152602081602481885afa908115610564575f9161056f575b50156105165782516040516338d52e0f60e01b81529390602090859060049082906001600160a01b03165afa938415610564575f94610525575b5060608601805190946001600160a01b039182169116036105165785519051825160405160ff909116956001600160a01b0393841693909260c0830191168282106001600160401b038311176105025760019b7fe546beeeab60a56b73c1b949bb268220b489f63cd1a9b947e6e8a34013d082439860409860ff976004958b528652602086019b8c52898601908f8060a01b03169b8c8252606087019360018060a01b031684526080870192835260a087019485528c5f5260026020528a5f2060018060a01b0389511660018060a01b03165f526020528a5f2060018060a01b0360018060a01b038951161660018060a01b031982541617815560018060a01b03825116600182019060018060a01b031660018060a01b031982541617905560018060a01b03835116600282019060018060a01b031660018060a01b03198254161790556003810160018060a01b0360018060a01b038751161660018060a01b031982541617815584518154908c60a01b9060a01b16908c60a01b1916179055600180889160a01b0387511691019060018060a01b031660018060a01b03198254161790558f8060a01b038851165f5260026020528a5f206001808f9160a01b03165f526020528a5f209660018060a01b039060018060a01b039051161660018060a01b03198854161787558f8060a01b039051168f87019060018060a01b031660018060a01b03198254161790558e8060a01b0390511660028601908f8060a01b03168f8060a01b031982541617905560038501918e8060a01b03908f8060a01b03905116168e8060a01b0319835416178255518154908760a01b9060a01b16908760a01b19161790558b8060a01b039051169101908a8060a01b03168a8060a01b0319825416179055888060a01b0390511695888060a01b0390511691511682519182526020820152a30161010a565b634e487b7160e01b5f52604160045260245ffd5b63f50b9e3d60e01b5f5260045ffd5b9093506020813d821161055c575b81610540602093836106e4565b810103126105585761055190610707565b928a610250565b5f80fd5b3d9150610533565b6040513d5f823e3d90fd5b610590915060203d8111610596575b61058881836106e4565b81019061071b565b8a610216565b503d61057e565b6105b5915060203d81116105965761058881836106e4565b8a6101da565b95505090506060843d8211610627575b816105d8606093836106e4565b81010312610558578351906001600160a01b0382168203610558576020850151946001600160a01b03861686036105585760400151916001600160a01b03831683036105585794919488610196565b3d91506105cb565b634e487b7160e01b5f52603260045260245ffd5b631e4fbdf760e01b5f525f60045260245ffd5b608084830312610558576040519061066d826106c9565b61067685610707565b8252602085015160ff811681036105585760208301526040850151906001600160a01b03821682036105585782602092604060809501526106b960608801610707565b6060820152815201930192610089565b608081019081106001600160401b0382111761050257604052565b601f909101601f19168101906001600160401b0382119082101761050257604052565b51906001600160a01b038216820361055857565b9081602091031261055857518015158103610558579056fe60806040526004361015610011575f80fd5b5f5f3560e01c806321629ed01461141a5780632f1ccfbe1461125b5780636216d30514610c72578063715018a614610c0f57806379ba509714610b8a5780637d4f036a1461064c5780638da5cb5b14610625578063c93475cb14610548578063e30c39781461051f578063f2fde38b146104b25763fa483e7214610093575f80fd5b3461023257606036600319011261023257806004356024356044356001600160401b038111610240576100ca9036906004016114f4565b84841380156104a9575b156104a5578101906020818303126104a5578035906001600160401b03821161044f57019160a0838303126104a5576040519261011084611594565b610119816114e0565b8452610127602082016114e0565b936020810194855261013b604083016114e0565b9360408201948552606083013592831515840361049d57606083019384526080810135906001600160401b0382116104a1570181601f8201121561049d576101ab9181602061018c93359101611641565b608083019081528251965190966001600160a01b0391821691166116f5565b80519093906001600160a01b03163303610499578781131561024557505091516001600160a01b0316936101e192509050611686565b9051823b156102405761020e92849283604051809681958294631b9d082d60e01b845233600485016116ce565b03925af180156102355761022157505080f35b8161022b916115f9565b6102325780f35b80fd5b6040513d84823e3d90fd5b505050fd5b610256919495929650969296611686565b945161030c575b5050505060a082018051602093840180519294939260849261028d9185916001600160a01b039182169116611877565b5193516040516320e8c56560e01b81523360048201526001600160a01b0391821660248201526044810184905260648101939093529193849283918791165af18015610235576102db575080f35b6020813d602011610304575b816102f4602093836115f9565b81010312610300575080f35b5f80fd5b3d91506102e7565b9060249160a0870194602060018060a01b038751166040519586809263b3d7f6b960e01b82528b60048301525afa93841561048e578394610457575b506003849055519051906001600160a01b0316803b1561045357604051631b9d082d60e01b81529183918391829084908290610389908a30600485016116ce565b03925af180156102355761043a575b5050905182516103b592916001600160a01b039182169116611877565b516040516394bf804d60e01b81526004810183905230602482015291906020908390604490829088906001600160a01b03165af191821561042f57602092610402575b819250848161025d565b61042190833d8511610428575b61041981836115f9565b810190611632565b505f6103f8565b503d61040f565b6040513d86823e3d90fd5b81610444916115f9565b61044f57855f610398565b8580fd5b8280fd5b925092506020823d602011610486575b81610474602093836115f9565b8101031261030057879151925f610348565b3d9150610467565b6040513d85823e3d90fd5b8780fd5b8880fd5b8980fd5b8480fd5b508483136100d4565b5034610232576020366003190112610232576104cc6114b4565b6104d461182c565b600180546001600160a01b0319166001600160a01b0392831690811790915582549091167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227008380a380f35b50346102325780600319360112610232576001546040516001600160a01b039091168152602090f35b5034610232576040366003190112610232576105626114b4565b61056a6114ca565b9061057361182c565b6040516370a0823160e01b8152306004820152906001600160a01b0316602082602481845afa91821561042f5784926105ed575b5060405163a9059cbb60e01b60208201526001600160a01b039390931660248401526044808401929092529082526105ea91906105e56064836115f9565b61197a565b80f35b9291506020833d60201161061d575b81610609602093836115f9565b8101031261030057915190916105e56105a7565b3d91506105fc565b5034610232578060031936011261023257546040516001600160a01b039091168152602090f35b50346103005761065b36611521565b96959061066885876116f5565b97604089019560046020885160018060a01b031660405192838092630bc4ed8360e21b82525afa908115610b50575f91610b5b575b50156106d45786516004908a906001600160a01b03808c169116036106c857630280e1e560e61b8152fd5b630280e1e560e61b8152fd5b95519496939592946001600160a01b03948516949293919216840361070257630280e1e560e61b8852600488fd5b969596333b1561030057604051631b9d082d60e01b815230600482015288602482015260606044820152826064820152828460848301375f608484830101525f81608481601f19601f880116810103018183335af18015610b5057610b33575b5060206107bd889960a08c9a999a016107858260018060a01b038351168a611877565b51604051636e553f6560e01b81526004810192909252306024830152909889926001600160a01b039092169183919082906044820190565b03925af1958615610b28578896610ae6575b509261081260249993610834936108269796604051946107ee86611594565b85526001600160a01b03166020850152336040850152606084018b90523691611641565b6080820152604051948591602083016117bc565b03601f1981018552846115f9565b60ff60808201511660640180606411610ad35761085360649187611949565b0461085e818761193c565b60011c6040519161087060a0846115f9565b87835260208301526040820152600a606082015266038d7ea4c680006080820152610120825160018060a01b0316604051998a809263794052f360e01b82523060048301525afa80156109fe578790610a09575b6060830151604051630754bb7160e21b815299509697966020908a9060049082908b906001600160a01b03165af180156109fe5787989988916109be575b5060409492610946969492888361091b945042926119d2565b50509687915160018060a01b031692855196879586948593635b709f1760e01b8552600485016116ce565b03925af190811561042f57849161098e575b501161097f5791821061097057602082604051908152f35b632ca2f52b60e11b8152600490fd5b636c68a4e760e11b8252600482fd5b6109b0915060403d6040116109b7575b6109a881836115f9565b810190611816565b505f610958565b503d61099e565b975050929093916020873d6020116109f6575b816109de602093836115f9565b81010312610300579551879692949193906040610902565b3d91506109d1565b6040513d89823e3d90fd5b50610120883d8211610acb575b81610a2461012093836115f9565b81010312610ac75760405161012081018181106001600160401b03821117610ab35788996101009160409a999a52805183526020810151602084015260408101516040840152610a7660608201611863565b60608401526080810151608084015260a081015160a084015260c081015160c084015260e081015160e084015201516101008201529695966108c4565b634e487b7160e01b89526041600452602489fd5b8680fd5b3d9150610a16565b634e487b7160e01b875260116004528787fd5b989294939095506020893d602011610b20575b81610b06602093836115f9565b8101031261030057975191979194929391926108126107cf565b3d9150610af9565b6040513d8a823e3d90fd5b6107bd989697505f610b44916115f9565b60205f97969850610762565b6040513d5f823e3d90fd5b610b7d915060203d602011610b83575b610b7581836115f9565b81019061161a565b5f61069d565b503d610b6b565b34610300575f36600319011261030057600154336001600160a01b0390911603610bfc57600180546001600160a01b03199081169091555f805433928116831782556001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3005b63118cdaa760e01b5f523360045260245ffd5b34610300575f36600319011261030057610c2761182c565b600180546001600160a01b03199081169091555f80549182168155906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610300576020366003190112610300576004356001600160401b0381116103005736602382011215610300578060040135906001600160401b0382116103005760248260071b82010136811161030057610ccb61182c565b60405192610cdf60208260051b01856115f9565b83526024602084019201915b8183106111e85783610cfb61183f565b508051905f5b828110610d0a57005b81518110156111d457600581901b82016020015180519091906001600160a01b0316156110da576020820191670de0b6b3a764000060ff84511610156110da578051604051630b2339af60e21b81529390606090859060049082906001600160a01b03165afa908115610b50575f5f955f93611160575b50604084810180519151637d2d278360e11b81526001600160a01b039283166004820152929091169390929091602081602481885afa908115610b50575f91611142575b50156110da578251604051633c21b3eb60e11b81526001600160a01b039091166004820152602081602481885afa908115610b50575f91611124575b50156110da5782516040516338d52e0f60e01b81529790602090899060049082906001600160a01b03165afa978815610b50575f986110e9575b5060608601805190986001600160a01b039182169116036110da576001977fe546beeeab60a56b73c1b949bb268220b489f63cd1a9b947e6e8a34013d0824394600460ff936040968c8060a01b038b5116938d8060a01b03905116918688511690895195610ea8876115de565b8652602086019b8c52898601908f8060a01b03169b8c8252606087019360018060a01b031684526080870192835260a087019485528c5f5260026020528a5f2060018060a01b0389511660018060a01b03165f526020528a5f2060018060a01b0360018060a01b038951161660018060a01b031982541617815560018060a01b03825116600182019060018060a01b031660018060a01b031982541617905560018060a01b03835116600282019060018060a01b031660018060a01b03198254161790556003810160018060a01b0360018060a01b038751161660018060a01b031982541617815584518154908c60a01b9060a01b16908c60a01b1916179055600180889160a01b0387511691019060018060a01b031660018060a01b03198254161790558f8060a01b038851165f5260026020528a5f206001808f9160a01b03165f526020528a5f209660018060a01b039060018060a01b039051161660018060a01b03198854161787558f8060a01b039051168f87019060018060a01b031660018060a01b03198254161790558e8060a01b0390511660028601908f8060a01b03168f8060a01b031982541617905560038501918e8060a01b03908f8060a01b03905116168e8060a01b0319835416178255518154908760a01b9060a01b16908760a01b19161790558b8060a01b039051169101908a8060a01b03168a8060a01b0319825416179055888060a01b0390511695888060a01b0390511691511682519182526020820152a301610d01565b63f50b9e3d60e01b5f5260045ffd5b9097506020813d821161111c575b81611104602093836115f9565b810103126103005761111590611863565b968a610e3b565b3d91506110f7565b61113c915060203d8111610b8357610b7581836115f9565b8a610e01565b61115a915060203d8111610b8357610b7581836115f9565b8a610dc5565b92505093506060813d82116111cc575b8161117d606093836115f9565b81010312610300578051936001600160a01b0385168503610300576020820151916001600160a01b03831683036103005760400151946001600160a01b03861686036103005791949188610d81565b3d9150611170565b634e487b7160e01b5f52603260045260245ffd5b60808336031261030057604051906111ff826115c3565b611208846114e0565b8252602084013560ff811681036103005760208301526040840135906001600160a01b038216820361030057826020926040608095015261124b606087016114e0565b6060820152815201920191610ceb565b346103005761126936611521565b94959192939061127982886116f5565b6060810151604051630bc4ed8360e21b815291979190602090829060049082906001600160a01b03165afa908115610b50575f916113fb575b50156112ed5760408701516001600160a01b03808a169116036112de57630280e1e560e61b5f5260045ffd5b630280e1e560e61b5f5260045ffd5b9161132c88928895946040519461130386611594565b6001600160a01b0390811680875294166020860152336040860152600160608601523691611641565b608083015260408401516001600160a01b03160361135357630280e1e560e61b5f5260045ffd5b6113a5935f61137b9361138960409660018060a01b03905116948751968791602083016117bc565b03601f1981018752866115f9565b8551635b709f1760e01b815296879586948593600485016116ce565b03925af18015610b50576113dd575b506003545f6003559081116113ce57602090604051908152f35b6324df576f60e01b5f5260045ffd5b6113f59060403d6040116109b7576109a881836115f9565b506113b4565b611414915060203d602011610b8357610b7581836115f9565b896112b2565b34610300576040366003190112610300576114336114b4565b61143b6114ca565b6001600160a01b039182165f90815260026020818152604080842094861684529381529183902080546001820154928201546003830154600490930154865192881683529387169482019490945292851693830193909352828416606083015260a092831c60ff1660808301529092169082015260c090f35b600435906001600160a01b038216820361030057565b602435906001600160a01b038216820361030057565b35906001600160a01b038216820361030057565b9181601f84011215610300578235916001600160401b038311610300576020838186019501011161030057565b9060c0600319830112610300576004356001600160a01b038116810361030057916024356001600160a01b038116810361030057916044356001600160a01b03811681036103005791606435916084359160a435906001600160401b03821161030057611590916004016114f4565b9091565b60a081019081106001600160401b038211176115af57604052565b634e487b7160e01b5f52604160045260245ffd5b608081019081106001600160401b038211176115af57604052565b60c081019081106001600160401b038211176115af57604052565b90601f801991011681019081106001600160401b038211176115af57604052565b90816020910312610300575180151581036103005790565b90816020910312610300575190565b9291926001600160401b0382116115af576040519161166a601f8201601f1916602001846115f9565b829481845281830111610300578281602093845f960137010152565b600160ff1b8114611696575f0390565b634e487b7160e01b5f52601160045260245ffd5b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6116f2939260609260018060a01b03168252602082015281604082015201906116aa565b90565b5f60a0604051611704816115de565b828152826020820152826040820152826060820152826080820152015260018060a01b03165f52600260205260405f209060018060a01b03165f5260205260405f2090604051611753816115de565b82546001600160a01b039081168083526001850154821660208401526002850154821660408401526003850154808316606085015260a090811c60ff1660808501526004909501549091169382019390935291156117ad57565b633fb801a560e21b5f5260045ffd5b60c060806116f2936020845260018060a01b03815116602085015260018060a01b03602082015116604085015260018060a01b036040820151166060850152606081015115158285015201519160a08082015201906116aa565b9190826040910312610300576020825192015190565b5f546001600160a01b03163303610bfc57565b6040519061184c826115c3565b5f6060838281528260208201528260408201520152565b51906001600160a01b038216820361030057565b60405163095ea7b360e01b60208281019182526001600160a01b03851660248401526044830195909552929390925f906118b4856064810161137b565b84519082855af15f513d82611917575b5050156118d057505050565b60405163095ea7b360e01b60208201526001600160a01b0390931660248401525f6044808501919091528352611915926105e59061190f6064826115f9565b8261197a565b565b90915061193457506001600160a01b0381163b15155b5f806118c4565b60011461192d565b9190820180921161169657565b8181029291811591840414171561169657565b8115611966570490565b634e487b7160e01b5f52601260045260245ffd5b905f602091828151910182855af115610b50575f513d6119c957506001600160a01b0381163b155b6119a95750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b600114156119a2565b9293919490946119e061183f565b9360a081018681511115612017575195860395861161169657608081015190611a0e6301e133808093612147565b6001600160ff1b0388116103005787611a2691612169565b5f81131561200557865260208101515f811215611ff057670de0b6b3a7640000611a5b8a5f19935b5f811315611fe257611949565b046001600160ff1b03811161030057611a7391612147565b916020870192808452825180158015611fda575b611fc55750508151610100830151845191611aad84611aa88d8d5195611949565b61195c565b6001600160ff1b03811161030057611ac4906121e5565b92670de0b6b3a76400008412611fb25792611b0f611aa893611b00611b0a611b0586611b00611afa611b279c9b611b159a612070565b9161210e565b61219c565b61258f565b61210e565b90612058565b9960408a019a8b5260c0850151611949565b6001600160ff1b03811161030057611b3e906121e5565b916060870192808452604087015115611e85575b505f5b6060870151811015611e4057611b6b818861208b565b835183518a51908c5192848112611e1057611b00611afa611b9693611b908885612058565b93612070565b670d529ae9e86000008113611df157611bbe9291611b00611b0a611bb99361258f565b612070565b670de0b6b3a76400008112611dde57611be2611bdd82611b008561210e565b612132565b865190915f841315611dba5781611b00611bfb9261210e565b670de0b6b3a76400008112611da85750611c26611c20670de0b6b3a764000092612026565b83612147565b055b60e08601516001600160ff1b03811161030057816064611c4b611c529383612147565b0593612058565b905f82128e8115611d8c575015611d84575f19915b5f811315611d76575b670de0b6b3a7640000810290808204670de0b6b3a76400001490151715611696578e611c9b9161193c565b5f198101908111611696578e611cb09161195c565b916001600160ff1b038311610300578e93611cdc611cd4611ce895611ce294612147565b935b866125c5565b946125c5565b50611686565b87811180159190611d5a5760808b015182611d21575b5050611d11575087526001905b01611b55565b909a509850965093945050505050565b909150670de0b6b3a764000003670de0b6b3a7640000811161169657611d50670de0b6b3a7640000918a611949565b0411155f80611cfe565b505050905f198201918211611696576001916020890152611d0b565b611d7f90611686565b611c70565b600191611c67565b93611ce29150611cdc611da2611ce895876125c5565b93611cd6565b63329e322960e21b5f5260045260245ffd5b50611bdd81611dd4611dce611dd994612026565b85612147565b612169565b611c28565b63329e322960e21b5f526024906004525ffd5b637e34684f60e11b5f52604490600452670d529ae9e86000006024525ffd5b60405162461bcd60e51b81526020600482015260086024820152676e6567617469766560c01b6044820152606490fd5b60405162461bcd60e51b815260206004820152601a60248201527f536c6970706167653a20415050524f585f4558484155535445440000000000006044820152606490fd5b602087019089611eb8670de0b6b3a7640000611eb2611eaa8651958951955190612058565b8d5190612147565b056121e5565b90670de0b6b3a7640000820191670de0b6b3a764000083125f821290801582169115161761169657611f0d611efc611f1494611b00670de0b6b3a76400009461210e565b611f07885185612070565b90612147565b0590612058565b6103e78102908082046103e71490151715611696576103e8900480821015611fa9575080915b528651118015611f94575b611f4f575f611b52565b60405162461bcd60e51b815260206004820152601f60248201527f496e7465726e616c3a20494e56414c49445f415050524f585f504152414d53006044820152606490fd5b50670de0b6b3a7640000608087015111611f45565b90508091611f3a565b8363329e322960e21b5f5260045260245ffd5b63b1c4aefb60e01b5f5260045260245260445ffd5b508115611a87565b611feb90611686565b611949565b670de0b6b3a7640000611a5b8a600193611a4e565b630e520c3b60e11b5f5260045260245ffd5b63b2094b5960e01b5f5260045ffd5b905f82670de0b6b3a7640000039212670de0b6b3a76400008312811690670de0b6b3a764000084139015161761169657565b81810392915f13801582851316918412161761169657565b9190915f838201938412911290801582169115161761169657565b901580612101575b6120fa5760208151910151808211156120eb5760405162461bcd60e51b815260206004820152601d60248201527f536c6970706167653a2067756573734d696e203e2067756573734d61780000006044820152606490fd5b6120f49161193c565b60011c90565b6040015190565b5060408101511515612093565b90670de0b6b3a7640000820291808305670de0b6b3a7640000149015171561169657565b90815f03918083055f19149015171561169657565b81810292915f8212600160ff1b82141661169657818405149015171561169657565b811561196657600160ff1b81145f19831416611696570590565b8015611966576a0c097ce7bc90715b34b9f160241b0590565b8115611966570590565b156121ad57565b60405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606490fd5b680238fd42c5cf03ffff198112158061257c575b612202906121a6565b5f8112612568576116f2906806f05b59d3b20000008112612527576806f05b59d3b1ffffff19016123ca606472195e54c5dd42177f53a27172fa9ec63026282760241b925b0268056bc75e2d631000009068ad78ebc5ac62000000811215612504575b6856bc75e2d6310000008112156124d6575b682b5e3af16b188000008112156124aa575b6815af1d78b58c40000081121561247e575b680ad78ebc5ac6200000811215612453575b68056bc75e2d63100000811215612428575b6802b5e3af16b18800008112156123fd575b68015af1d78b58c400008112156123d2575b600268056bc75e2d631000008280020505600368056bc75e2d631000008383020505600468056bc75e2d631000008483020505600568056bc75e2d631000008583020505600668056bc75e2d631000008683020505600768056bc75e2d63100000878302050590600868056bc75e2d63100000888402050592600968056bc75e2d6310000089860205059468056bc75e2d63100000600a8a8802829005059761239b68056bc75e2d631000008c8b02055b600b900590565b99600c68056bc75e2d631000008d8d0205059b0101010101010101010101010268056bc75e2d63100000900590565b026064900590565b68015af1d78b58c3ffff19019068056bc75e2d631000006806f5f177578893793790910205906122e3565b6802b5e3af16b187ffff19019068056bc75e2d631000006808f00f760a4b2db55d90910205906122d1565b68056bc75e2d630fffff19019068056bc75e2d63100000680ebc5fb4174612111090910205906122bf565b680ad78ebc5ac61fffff19019068056bc75e2d6310000068280e60114edb805d0390910205906122ad565b6815af1d78b58c3fffff19019068056bc75e2d63100000690127fa27722cc06cc5e2909102059061229b565b682b5e3af16b187fffff19019068056bc75e2d63100000693f1fce3da636ea5cf8509091020590612289565b6856bc75e2d630ffffff19019068056bc75e2d631000006b02df0ab5a80a22c61ab5a7009091020590612277565b6e01855144814a7ff805980ff0084000915068ad78ebc5ac61ffffff1901612265565b6803782dace9d9000000811261255b576803782dace9d8ffffff19016123ca60646b1425982cf597cd205cef738092612247565b6123ca6064600192612247565b612573905f036121e5565b6116f290612183565b5068070c1cc73b00c800008113156121f9565b670de0b6b3a764000081146125b6576125b181611b00611afa6116f294612026565b612633565b63a9c8b14d60e01b5f5260045ffd5b5f82121561262b575f19915b5f81131561261c57905b670de0b6b3a7640000820291808304670de0b6b3a76400001490151715611696576126059161195c565b6001600160ff1b038111610300576116f291612147565b61262590611686565b906125db565b6001916125d1565b5f81131561272e5780670c7d713b49da0000128061271d575b1561271457670de0b6b3a7640000026a0c097ce7bc90715b34b9f160241b8101906ec097ce7bc90715b34b9f0fffffffff19016a0c097ce7bc90715b34b9f160241b02906126999161219c565b670de0b6b3a764000060036a0c097ce7bc90715b34b9f160241b838002819005808502829005928305909401600592850282900592830501600792850282900592830501600992850282900592830501600b92850282900592830501600d92850282900592830501600f9290940205059190910160011b0590565b6116f290612763565b50670f43fc2c04ee0000811261264c565b60405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606490fd5b670de0b6b3a76400008112612b6e576116f2905f775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b821215612b45575b73011798004d755d3c8bc8e03204cf44619e000000821215612b18575b6128a5906064808492029302906e01855144814a7ff805980ff0084000821215612ade575b506b02df0ab5a80a22c61ab5a700811215612aab575b693f1fce3da636ea5cf850811215612a7a575b690127fa27722cc06cc5e2811215612a49575b68280e60114edb805d03811215612a19575b680ebc5fb417461211108112156129f9575b6808f00f760a4b2db55d8112156129c9575b6806f5f1775788937937811215612999575b6806248f33704b28660381121561296a575b6805c548670b9510e7ac81121561293b575b68056bc75e2d631000008181019168056bc75e2d630fffff19010261219c565b61292f61239468056bc75e2d631000008380020561291881612901816128ea8168056bc75e2d631000008a8202059960038b0501990268056bc75e2d63100000900590565b976005890501970268056bc75e2d63100000900590565b956007870501950268056bc75e2d63100000900590565b936009850501930268056bc75e2d63100000900590565b0160011b016064900590565b61296268056bc75e2d631000006756bc75e2d631000092026805c548670b9510e7ac900590565b920191612885565b61299168056bc75e2d6310000067ad78ebc5ac62000092026806248f33704b286603900590565b920191612873565b6129c168056bc75e2d6310000068015af1d78b58c4000092026806f5f1775788937937900590565b920191612861565b6129f168056bc75e2d631000006802b5e3af16b188000092026808f00f760a4b2db55d900590565b92019161284f565b68056bc75e2d6310000092830192680ebc5fb4174612111091020561283d565b612a4168056bc75e2d63100000680ad78ebc5ac6200000920268280e60114edb805d03900590565b92019161282b565b612a7268056bc75e2d631000006815af1d78b58c4000009202690127fa27722cc06cc5e2900590565b920191612819565b612aa368056bc75e2d63100000682b5e3af16b188000009202693f1fce3da636ea5cf850900590565b920191612806565b612ad668056bc75e2d631000006856bc75e2d63100000092026b02df0ab5a80a22c61ab5a700900590565b9201916127f3565b68ad78ebc5ac62000000915069021e19e0c9bab2400000612b0f91026e01855144814a7ff805980ff0084000900590565b9201915f6127dd565b906803782dace9d9000000612b3c6128a5926b1425982cf597cd205cef7380900590565b920190506127b8565b5072195e54c5dd42177f53a27172fa9ec63026282760241b90056806f05b59d3b200000061279b565b612b7a612b7f91612183565b612763565b5f039056fea264697066735822122025e1480d826a7f4aa70e120a4418f165e55ec320e28c2d67fa8d78d4752f2aca64736f6c634300081c003300000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000