0 txs
0 calls
constructor
constructor(address wrappedNative_)
functions
getRouter
viewfunction getRouter() view returns (address)
multiswap
viewfunction multiswap(tuple data) view returns (uint256 amountOut)
multiswap2
viewfunction multiswap2(tuple data) view returns (uint256[] amountsOut)
multiswapReverse
viewfunction multiswapReverse(tuple data) view returns (uint256 amountOut)
owner
viewfunction owner() view returns (address)
pendingOwner
viewfunction pendingOwner() view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
acceptOwnership
nonpayablefunction acceptOwnership()
initialize
nonpayablefunction initialize(address newOwner)
renounceOwnership
nonpayablefunction renounceOwnership()
setRouter
nonpayablefunction setRouter(address router)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
events
Initialized
event Initialized(uint8 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
Upgraded
event Upgraded(address indexed implementation)
errors
ERC1967_InvalidImplementation
error ERC1967_InvalidImplementation(address implementation)
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
Ownable_CallerIsNotTheNewOwner
error Ownable_CallerIsNotTheNewOwner(address caller)
Ownable_NewOwnerCannotBeAddressZero
error Ownable_NewOwnerCannotBeAddressZero()
Ownable_SenderIsNotOwner
error Ownable_SenderIsNotOwner(address sender)
R
error R()
T
error T()
UniswapV2_InsufficientInputAmount
error UniswapV2_InsufficientInputAmount()
UniswapV2_InsufficientOutputAmount
error UniswapV2_InsufficientOutputAmount()
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
creation bytecode
0x60c0604052306080523480156200001557600080fd5b5060405162003b3238038062003b3283398101604081905262000038916200004a565b6001600160a01b031660a0526200007c565b6000602082840312156200005d57600080fd5b81516001600160a01b03811681146200007557600080fd5b9392505050565b60805160a051613a7b620000b76000396000818161028f015261043d0152600081816108080152818161083101526109c20152613a7b6000f3fe608060405234801561001057600080fd5b50600436106100df5760003560e01c80638da5cb5b1161008c578063c0d7865511610066578063c0d78655146101a6578063c4d66de8146101b9578063e30c3978146101cc578063f2fde38b146101dd57600080fd5b80638da5cb5b1461014a5780639e00ccbf14610175578063b0f479a11461019557600080fd5b80636ae3b135116100bd5780636ae3b13514610127578063715018a61461013a57806379ba50971461014257600080fd5b80633659cfe6146100e457806352d1902d146100f95780635dceae2814610114575b600080fd5b6100f76100f236600461335d565b6101f0565b005b61010161020d565b6040519081526020015b60405180910390f35b61010161012236600461337a565b61023c565b61010161013536600461337a565b6102ba565b6100f76102e9565b6100f76102fd565b6000546201000090046001600160a01b03165b6040516001600160a01b03909116815260200161010b565b6101886101833660046133b5565b610351565b60405161010b91906133f0565b6002546001600160a01b031661015d565b6100f76101b436600461335d565b610658565b6100f76101c736600461335d565b61068f565b6001546001600160a01b031661015d565b6100f76101eb36600461335d565b610787565b6101f86107fd565b610201816108ab565b61020a816108b3565b50565b60006102176109b7565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60006102b361024e6060840184613434565b6102588535610a00565b600061026a606088016040890161335d565b6001600160a01b03161461028d57610288606087016040880161335d565b610aab565b7f0000000000000000000000000000000000000000000000000000000000000000610aab565b5092915050565b60006102e36102cc6060840184613434565b84356102de606087016040880161335d565b610b56565b92915050565b6102f1610c6c565b6102fb6000610cb8565b565b6001546001600160a01b03163314610348576040517f6cce7fdd0000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b6102fb33610cb8565b60606103606040830183613434565b905067ffffffffffffffff81111561037a5761037a613485565b6040519080825280602002602001820160405280156103a3578160200160208202803683370190505b50905060006103b560a0840184613434565b90509050806000036103c75750919050565b6103d46080840184613434565b905081146103e25750919050565b3660006103f26040860186613434565b909250905060006104038635610a00565b90506000806104186040890160208a0161335d565b6001600160a01b03161461043b57610436604088016020890161335d565b61045d565b7f00000000000000000000000000000000000000000000000000000000000000005b90506000805b8681101561049e5761047860808a018a613434565b828181106104885761048861349b565b9050602002013582019150806001019050610463565b50670de0b6b3a764000081146104b957505050505050919050565b506000198501826000805b8881101561064a578381036104db57829150610520565b670de0b6b3a76400006104f160808d018d613434565b838181106105015761050161349b565b90506020020135870281610517576105176134b1565b04915081830392505b60008061055c61053360a08f018f613434565b858181106105435761054361349b565b90506020028101906105559190613434565b868a610aab565b90925090506000895b80156105e157600019016001600160a01b0383168c8c8381811061058b5761058b61349b565b90506020020160208101906105a0919061335d565b6001600160a01b0316036105dc57838e82815181106105c1576105c161349b565b602002602001018181510191508181525050600191506105e1565b610565565b508061063c578967ffffffffffffffff81111561060057610600613485565b604051908082528060200260200182016040528015610629578160200160208202803683370190505b509e9d5050505050505050505050505050565b8360010193505050506104c4565b505050505050505050919050565b610660610c6c565b6002805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6000805460ff610100820481161592911690811580156106ac5750825b905060008267ffffffffffffffff1660011480156106c95750303b155b9050811580156106d7575080155b1561070e576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805460ff191660011790558315610731576000805461ff0019166101001790555b61073a85610cb8565b8315610780576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b61078f610c6c565b61079881610cde565b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038381169182179092556000805460405192936201000090910416917f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227009190a350565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061088d57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031614155b156102fb5760405163703e46dd60e11b815260040160405180910390fd5b61020a610c6c565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561090d575060408051601f3d908101601f1916820190925261090a918101906134c7565b60015b61094e576040517f4a4a0aa20000000000000000000000000000000000000000000000000000000081526001600160a01b038216600482015260240161033f565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146109aa576040517faa1d49a40000000000000000000000000000000000000000000000000000000081526004810182905260240161033f565b6109b382610d1e565b5050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102fb5760405163703e46dd60e11b815260040160405180910390fd5b6002546000906001600160a01b031615610aa75760025460408051633a41a2a160e11b815281516000936001600160a01b031692637483454292600480820193918290030181865afa158015610a5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7e91906134e0565b915050600081118015610a9057508215155b15610aa557620f424090830204909103919050565b505b5090565b60008084808203610ac3576000809250925050610b4d565b60008060008060005b85811015610b4057610b1a8c8c83818110610ae957610ae961349b565b90506020020135600160ff1b8116916001600160a01b0382169160b881901c60ff169160a09190911c62ffffff1690565b91975090955093509150600101610b35828a87868e89610d5e565b909a50985089610acc575b5088889650965050505050505b94509492505050565b600083808203610b6b57600019915050610c64565b6002546001600160a01b031615610c0e5760025460408051633a41a2a160e11b815281516000936001600160a01b031692637483454292600480820193918290030181865afa158015610bc2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be691906134e0565b9150508015610c0c5780620f42400385620f42400281610c0857610c086134b1565b0494505b505b60008060005b8315610c5c5760001990930192610c36898986818110610ae957610ae961349b565b919550909350909150610c4e90508684898585611039565b909750955060018701610c14575b869450505050505b949350505050565b6000546201000090046001600160a01b031633146102fb576040517f37c14b4500000000000000000000000000000000000000000000000000000000815233600482015260240161033f565b6001805473ffffffffffffffffffffffffffffffffffffffff1916905561020a81611276565b6001600160a01b03811661020a576040517f7b30466f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d27816112e7565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6000806000866001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610dbd575060408051601f3d908101601f19168201909252610dba9181019061350e565b60015b610dce57600080925092505061102e565b809150809250886001600160a01b0316836001600160a01b031603610e5257876001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4f919061350e565b92505b506001600160a01b03821615801590610e7357506001600160a01b03881615155b1561102c578815610ec9576001600160a01b038083169089161085610ebe89838381610eb35773fffd8963efd1fc6a506488495d951d5263988d25611323565b6401000276a4611323565b955061102c92505050565b866001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa925050508015610f23575060408051601f3d908101601f19168201909252610f2091810190613549565b60015b610f3457600080925092505061102e565b600080856001600160a01b03168d6001600160a01b031614610f57578385610f5a565b84845b6dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff1691508a600003610f9957610f928a83838c611a7a565b9750611026565b6040517ff140a35a000000000000000000000000000000000000000000000000000000008152600481018b90526001600160a01b038e811660248301528d169063f140a35a90604401602060405180830381865afa158015610fff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102391906134c7565b97505b50505050505b505b965096945050505050565b6000806000866001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611098575060408051601f3d908101601f191682019092526110959181019061350e565b60015b6110ab576000196000925092505061126c565b809150809250826001600160a01b0316896001600160a01b03160361112f57876001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611108573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061112c919061350e565b92505b506001600160a01b0388161580159061115057506001600160a01b03821615155b1561126a57831561119f576001600160a01b0380891690831610866111948983600084900381610eb35773fffd8963efd1fc6a506488495d951d5263988d25611323565b50945061126a915050565b866001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa9250505080156111f9575060408051601f3d908101601f191682019092526111f691810190613549565b60015b61120c576000196000925092505061126c565b600080856001600160a01b0316876001600160a01b03161461122f578385611232565b84845b6dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff1691506112628b83838d611afc565b975050505050505b505b9550959350505050565b600080546001600160a01b03838116620100008181027fffffffffffffffffffff0000000000000000000000000000000000000000ffff851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b803b6112ff57634a4a0aa2600052806020526024601cfd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b60408051606081018252600080825260208201819052918101829052819060408051808201909152600080825260208201526040805160a081018252600080825260208201819052918101829052606081018290526080810182905290871390604080518082019091526000808252602082015260008060006113a58e611b92565b6001600160a01b0383168b52600282900b60208c01529194509250905080156113d057604088018190525b6001600160a01b0383811614611487578c1561142a5787600001516001600160a01b03168b6001600160a01b0316118061141757506401000276a36001600160a01b038c16105b15611425576401000276a49a505b611487565b87600001516001600160a01b03168b6001600160a01b0316108061146a575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038c16115b156114875773fffd8963efd1fc6a506488495d951d5263988d259a505b505050602085015160020b627fffff1480156114ad575084516001600160a01b03908116145b15611586576040517f5d41514b0000000000000000000000000000000000000000000000000000000081528a15156004820152602481018a90526001600160a01b03898116604483015260009182918e1690635d41514b9060640160a060405180830381865afa158015611525573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061154991906135c2565b505050915091506000821361155e5780611560565b815b600083126115715781600003611576565b826000035b9850985050505050505050610b4d565b60008060006115948e611db1565b925092509250806001600160801b0316600014806115b057508b155b156115d857856115c2576000196115c5565b60005b6000995099505050505050505050610b4d565b6001600160801b038116602088015260408801511561164a578c61161b5760ff88604001511161160957600461160c565b60105b60ff168860400151901c611647565b60ff88604001511161162e576010611633565b620100005b62ffffff168860400151611647919061361b565b87525b62ffffff9092168352600290810b6020808501919091528b855287516001600160a01b03166040860152870151900b60608401526001600160801b031660808301525b8151158015906116b35750876001600160a01b031682604001516001600160a01b031614155b15611a13576040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915260408301516001600160a01b0316815260608301516020830151611717918e918e611fe8565b1515604083015260020b60208201819052620d89e719131561174257620d89e7196020820152611776565b61174f620d89e719613645565b60020b816020015160020b13156117765761176d620d89e719613645565b60020b60208201525b61178381602001516122cf565b6001600160a01b0316606082015260408301516117f5908c6117bd578a6001600160a01b031683606001516001600160a01b0316116117d7565b8a6001600160a01b031683606001516001600160a01b0316105b6117e55782606001516117e7565b8a5b608086015186518651612618565b60c085015260a084015260808301526001600160a01b0316604084015283156118575761182b8160c0015182608001510161280a565b835103835260a081015161183e9061280a565b8360200181815161184f9190613667565b90525061189a565b6118648160a0015161280a565b835101835260c081015160808201516118859161188091613687565b61280a565b83602001818151611896919061369a565b9052505b8451156118cb57600085600001518260c00151816118ba576118ba6134b1565b60c084018051929091049091039052505b80606001516001600160a01b031683604001516001600160a01b0316036119d65780604001511561195a5760006119068d836020015161281c565b90508b15611912576000035b600081600f0b126119325780846080015161192d91906136c2565b61194a565b61193b816136e2565b846080015161194a9190613717565b6001600160801b03166080850152505b61197083608001516001600160801b0316612922565b60808301516001600160801b031615801561198b5750825115155b156119b1578361199d576000196119a0565b60005b600097509750505050505050610b4d565b8a6119c05780602001516119c9565b60018160200151035b60020b6060840152611a0d565b80600001516001600160a01b031683604001516001600160a01b031614611a0d57611a048360400151612980565b60020b60608401525b5061168d565b6000808415158c151514611a2f57602084015184518c03611a3c565b83600001518b0384602001515b9150915060008213611a4e5780611a50565b815b60008312611a615781600003611a66565b826000035b985098505050505050505094509492505050565b600084600003611ab6576040517f4566b3d300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b831580611ac1575082155b15611ace57506000610c64565b620f42408281038602908482029086028201808281611aef57611aef6134b1565b0498975050505050505050565b600084600003611b38576040517f4c46ea5500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b831580611b43575082155b15611b515750600019610c64565b82851115611b625750600019610c64565b620f424085850281029083900386850302808281611b8257611b826134b1565b0460010192505050949350505050565b60408051600481526024810182526020810180516001600160e01b03167f3850c7bd00000000000000000000000000000000000000000000000000000000179052905160009182918291829182916001600160a01b03881691611bf59190613737565b600060405180830381855afa9150503d8060008114611c30576040519150601f19603f3d011682016040523d82523d6000602084013e611c35565b606091505b50915091508115611cb55760c081511115611c715780806020019051810190611c5e9190613776565b50949950929750929550611da692505050565b608081511115611c9f5780806020019051810190611c8f91906137e2565b50939850919650611cb092505050565b627fffff93506001600160a01b0394505b611da6565b60408051600481526024810182526020810180516001600160e01b03167fe76c01e40000000000000000000000000000000000000000000000000000000017905290516001600160a01b03881691611d0c91613737565b600060405180830381855afa9150503d8060008114611d47576040519150601f19603f3d011682016040523d82523d6000602084013e611d4c565b606091505b50805190925060e0039050611d8757600081806020019051810190611d719190613855565b50505061ffff166000529096509450611da69050565b80806020019051810190611d9b9190613855565b509398509196505050505b604052509193909250565b600080519080606062ffffff84168203611e795760408051600481526024810182526020810180516001600160e01b03167fddca3f430000000000000000000000000000000000000000000000000000000017905290516001600160a01b03871691611e1c91613737565b600060405180830381855afa9150503d8060008114611e57576040519150601f19603f3d011682016040523d82523d6000602084013e611e5c565b606091505b508051909250611e769150820160209081019083016138c7565b93505b60408051600481526024810182526020810180516001600160e01b03167fd0c93a7c0000000000000000000000000000000000000000000000000000000017905290516001600160a01b03871691611ed091613737565b600060405180830381855afa9150503d8060008114611f0b576040519150601f19603f3d011682016040523d82523d6000602084013e611f10565b606091505b508051909250611f2a9150820160209081019083016138ec565b60408051600481526024810182526020810180516001600160e01b03167f1a6865020000000000000000000000000000000000000000000000000000000017905290519194506001600160a01b03871691611f859190613737565b600060405180830381855afa9150503d8060008114611fc0576040519150601f19603f3d011682016040523d82523d6000602084013e611fc5565b606091505b508051909250611fdf915082016020908101908301613907565b93959294505050565b60008060008460020b8660020b81612002576120026134b1565b05905060008660020b12801561202f57508460020b8660020b81612028576120286134b1565b0760020b15155b1561203957600019015b831561217c5760405163299ce14b60e11b8152600282900b600881901d600181810b600485015290926101009092079160ff83169190911b800160001901906000906001600160a01b038c1690635339c29690602401602060405180830381865afa9250505080156120c8575060408051601f3d908101601f191682019092526120c5918101906134c7565b60015b61214257604051630633bf1f60e51b8152600185900b600482015282906001600160a01b038d169063c677e3e090602401602060405180830381865afa158015612116573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061213a91906134c7565b169050612147565b821690505b80151595508561215e57888360ff16860302612171565b8861216882612cbb565b840360ff168603025b9650505050506122c5565b6000806001830160020b600881901d90610100900760405163299ce14b60e11b8152600183810b600483015292945090925060ff83169190911b6000190119906000906001600160a01b038c1690635339c29690602401602060405180830381865afa92505050801561220c575060408051601f3d908101601f19168201909252612209918101906134c7565b60015b61228657604051630633bf1f60e51b8152600185900b600482015282906001600160a01b038d169063c677e3e090602401602060405180830381865afa15801561225a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061227e91906134c7565b16905061228b565b821690505b8015159550856122a857888360ff0360ff168660010101026122be565b88836122b383612d69565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b126122e6578260020b6122ee565b8260020b6000035b9050620d89e881111561232d576040517f2bc80f3a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008160011660000361235157700100000000000000000000000000000000612363565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612397576ffff97272373d413259a46990580e213a0260801c5b60048216156123b6576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b60088216156123d5576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b60108216156123f4576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612413576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612432576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612451576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612471576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612491576ff987a7253ac413176f2b074cf7815e540260801c5b6104008216156124b1576ff3392b0822b70005940c7a398e4b70f30260801c5b6108008216156124d1576fe7159475a2c29b7443b29c7fa6e889d90260801c5b6110008216156124f1576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612511576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612531576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612551576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612572576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b62020000821615612592576e5d6af8dedb81196699c329225ee6040260801c5b620400008216156125b1576d2216e584f5fa1ea926041bedfe980260801c5b620800008216156125ce576b048a170391f7dc42444e8fa20260801c5b60008460020b13156125ef5780600019816125eb576125eb6134b1565b0490505b640100000000810615612603576001612606565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a16101581871280159061269d5760006126518989620f42400362ffffff16620f4240612e53565b90508261266a576126658c8c8c6001612f06565b612677565b6126778b8d8c6001612f7f565b9550858110612688578a9650612697565b6126948c8b8386613048565b96505b506126e7565b816126b4576126af8b8b8b6000612f7f565b6126c1565b6126c18a8c8b6000612f06565b93508388600003106126d5578995506126e7565b6126e48b8a8a60000385613094565b95505b6001600160a01b038a811690871614821561274a578080156127065750815b61271c57612717878d8c6001612f7f565b61271e565b855b955080801561272b575081155b6127415761273c878d8c6000612f06565b612743565b845b9450612794565b8080156127545750815b61276a576127658c888c6001612f06565b61276c565b855b9550808015612779575081155b61278f5761278a8c888c6000612f7f565b612791565b845b94505b811580156127a457508860000385115b156127b0578860000394505b8180156127cf57508a6001600160a01b0316876001600160a01b031614155b156127de5785890393506127fb565b6127f8868962ffffff168a620f42400362ffffff166130e0565b93505b50505095509550955095915050565b6000600160ff1b8210610aa757600080fd5b604051600282900b602482015260009081906001600160a01b0385169060440160408051601f198184030181529181526020820180516001600160e01b03167ff30dba93000000000000000000000000000000000000000000000000000000001790525161288a9190613737565b600060405180830381855afa9150503d80600081146128c5576040519150601f19603f3d011682016040523d82523d6000602084013e6128ca565b606091505b509150508051610140036128fe57808060200190518101906128ec9190613934565b509699506102b3975050505050505050565b8080602001905181019061291291906139bd565b50949a9950505050505050505050565b61020a8160405160240161293891815260200190565b60408051601f198184030181529190526020810180516001600160e01b03167ff82c50f100000000000000000000000000000000000000000000000000000000179052613120565b60006401000276a36001600160a01b038316108015906129bc575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b6129f2576040517f4980e1be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c97908811961790941790921717909117171760808110612a9357607f810383901c9150612a9d565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581027ffffffffffffffffffffffffffffffffffd709b7e5480fba5a50fed5e62ffc5568101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b14612cac57886001600160a01b0316612c91826122cf565b6001600160a01b03161115612ca65781612cae565b80612cae565b815b9998505050505050505050565b6000808211612cc957600080fd5b7001000000000000000000000000000000008210612ce957608091821c91015b680100000000000000008210612d0157604091821c91015b6401000000008210612d1557602091821c91015b620100008210612d2757601091821c91015b6101008210612d3857600891821c91015b60108210612d4857600491821c91015b60048210612d5857600291821c91015b60028210612d64576001015b919050565b6000808211612d7757600080fd5b5060ff6001600160801b03821615612d9257607f1901612d9a565b608082901c91505b67ffffffffffffffff821615612db357603f1901612dbb565b604082901c91505b63ffffffff821615612dd057601f1901612dd8565b602082901c91505b61ffff821615612deb57600f1901612df3565b601082901c91505b60ff821615612e055760071901612e0d565b600882901c91505b600f821615612e1f5760031901612e27565b600482901c91505b6003821615612e395760011901612e41565b600282901c91505b6001821615612d645760001901919050565b6000808060001985870985870292508281108382030391505080600003612e8c5760008411612e8157600080fd5b508290049050612eff565b808411612e9857600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b6000836001600160a01b0316856001600160a01b03161115612f26579293925b81612f5357612f4e836001600160801b03168686036001600160a01b0316600160601b612e53565b612f76565b612f76836001600160801b03168686036001600160a01b0316600160601b6130e0565b95945050505050565b6000836001600160a01b0316856001600160a01b03161115612f9f579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b038686038116908716612fdb57600080fd5b8361301157866001600160a01b0316612ffe8383896001600160a01b0316612e53565b8161300b5761300b6134b1565b0461303d565b61303d6130288383896001600160a01b03166130e0565b886001600160a01b0316808204910615150190565b979650505050505050565b600080856001600160a01b03161161305f57600080fd5b6000846001600160801b03161161307557600080fd5b8161308757612f4e8585856001613129565b612f76858585600161320f565b600080856001600160a01b0316116130ab57600080fd5b6000846001600160801b0316116130c157600080fd5b816130d357612f4e858585600061320f565b612f768585856000613129565b60006130ed848484612e53565b9050600082806130ff576130ff6134b1565b8486091115612eff57600019811061311657600080fd5b6001019392505050565b61020a81613311565b6000811561319b5760006001600160a01b0384111561315f5761315a84600160601b876001600160801b0316612e53565b613176565b6131766001600160801b038616606086901b613a31565b905061319361318e826001600160a01b038916613687565b613332565b915050610c64565b60006001600160a01b038411156131c9576131c484600160601b876001600160801b03166130e0565b6131e6565b6131e6606085901b6001600160801b038716808204910615150190565b905080866001600160a01b0316116131fd57600080fd5b6001600160a01b038616039050610c64565b600082600003613220575083610c64565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b1682156132c4576001600160a01b03861684810290858281613266576132666134b1565b0403613296578181018281106132945761328a83896001600160a01b0316836130e0565b9350505050610c64565b505b5061319381856132af6001600160a01b038a1683613a31565b6132b99190613687565b808204910615150190565b6001600160a01b038616848102908582816132e1576132e16134b1565b041480156132ee57508082115b6132f757600080fd5b80820361328a61318e846001600160a01b038b16846130e0565b60006a636f6e736f6c652e6c6f679050600080835160208501845afa505050565b806001600160a01b0381168114612d6457600080fd5b6001600160a01b038116811461020a57600080fd5b60006020828403121561336f57600080fd5b8135612eff81613348565b60006020828403121561338c57600080fd5b813567ffffffffffffffff8111156133a357600080fd5b820160808185031215612eff57600080fd5b6000602082840312156133c757600080fd5b813567ffffffffffffffff8111156133de57600080fd5b820160c08185031215612eff57600080fd5b6020808252825182820181905260009190848201906040850190845b818110156134285783518352928401929184019160010161340c565b50909695505050505050565b6000808335601e1984360301811261344b57600080fd5b83018035915067ffffffffffffffff82111561346657600080fd5b6020019150600581901b360382131561347e57600080fd5b9250929050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601260045260246000fd5b6000602082840312156134d957600080fd5b5051919050565b600080604083850312156134f357600080fd5b82516134fe81613348565b6020939093015192949293505050565b60006020828403121561352057600080fd5b8151612eff81613348565b80516dffffffffffffffffffffffffffff81168114612d6457600080fd5b60008060006060848603121561355e57600080fd5b6135678461352b565b92506135756020850161352b565b9150604084015163ffffffff8116811461358e57600080fd5b809150509250925092565b8051600281900b8114612d6457600080fd5b80516001600160801b0381168114612d6457600080fd5b600080600080600060a086880312156135da57600080fd5b855194506020860151935060408601516135f381613348565b925061360160608701613599565b915061360f608087016135ab565b90509295509295909350565b60008261362a5761362a6134b1565b500690565b634e487b7160e01b600052601160045260246000fd5b60008160020b627fffff19810361365e5761365e61362f565b60000392915050565b81810360008312801583831316838312821617156102b3576102b361362f565b808201808211156102e3576102e361362f565b80820182811260008312801582168215821617156136ba576136ba61362f565b505092915050565b6001600160801b038181168382160190808211156102b3576102b361362f565b600081600f0b7fffffffffffffffffffffffffffffffff80000000000000000000000000000000810361365e5761365e61362f565b6001600160801b038281168282160390808211156102b3576102b361362f565b6000825160005b81811015613758576020818601810151858301520161373e565b506000920191825250919050565b80518015158114612d6457600080fd5b600080600080600080600060e0888a03121561379157600080fd5b875161379c81613348565b96506137aa60208901613599565b955060408801519450606088015193506080880151925060a088015191506137d460c08901613766565b905092959891949750929550565b60008060008060008060c087890312156137fb57600080fd5b865161380681613348565b955061381460208801613599565b945060408701519350606087015192506080870151915061383760a08801613766565b90509295509295509295565b805161ffff81168114612d6457600080fd5b60008060008060008060c0878903121561386e57600080fd5b865161387981613348565b955061388760208801613599565b945061389560408801613843565b9350606087015160ff811681146138ab57600080fd5b92506138b960808801613843565b915061383760a08801613766565b6000602082840312156138d957600080fd5b815162ffffff81168114612eff57600080fd5b6000602082840312156138fe57600080fd5b612eff82613599565b60006020828403121561391957600080fd5b612eff826135ab565b8051600f81900b8114612d6457600080fd5b6000806000806000806000806000806101408b8d03121561395457600080fd5b61395d8b6135ab565b995061396b60208c01613922565b985060408b0151975060608b0151965060808b0151955060a08b0151945060c08b0151935060e08b015192506101008b015191506139ac6101208c01613766565b90509295989b9194979a5092959850565b600080600080600080600080610100898b0312156139da57600080fd5b6139e3896135ab565b97506139f160208a01613922565b965060408901519550606089015194506080890151935060a0890151925060c08901519150613a2260e08a01613766565b90509295985092959890939650565b600082613a4057613a406134b1565b50049056fea26469706673582212200b8530569c6e04c75d80cec0415d1b8ae9b8c502272f370021bb06e046d1244f64736f6c63430008130033000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2