0 txs
0 calls
constructor
constructor(address chef_, address maker_, address sushi_, address WETH_, address WBTC_, address sushiFactory_, address uniV2Factory_, address bar_, address bentoBox_)
functions
bar
viewfunction bar() view returns (address)
bentoBox
viewfunction bentoBox() view returns (address)
chef
viewfunction chef() view returns (address)
findBalances
viewfunction findBalances(address who, address[] addresses) view returns (tuple[])
findPools
viewfunction findPools(address who, uint256[] pids) view returns (tuple[])
getBalances
viewfunction getBalances(address who, address[] addresses) view returns (tuple[])
getETHRate
viewfunction getETHRate(address token) view returns (uint256)
getPairs
viewfunction getPairs(address factory, uint256 fromID, uint256 toID) view returns (tuple[])
getPools
viewfunction getPools(uint256[] pids) view returns (tuple, tuple[])
getTokenInfo
viewfunction getTokenInfo(address[] addresses) view returns (tuple[])
getUIInfo
viewfunction getUIInfo(address who, address[] factoryAddresses, address currency, address[] masterContracts) view returns (tuple)
maker
viewfunction maker() view returns (address)
owner
viewfunction owner() view returns (address)
pollKashiPairs
viewfunction pollKashiPairs(address who, address[] pairsIn) view returns (tuple[])
pollPairs
viewfunction pollPairs(address who, address[] addresses) view returns (tuple[])
pollPools
viewfunction pollPools(address who, uint256[] pids) view returns (tuple[])
sushi
viewfunction sushi() view returns (address)
sushiFactory
viewfunction sushiFactory() view returns (address)
uniV2Factory
viewfunction uniV2Factory() view returns (address)
WBTC
viewfunction WBTC() view returns (address)
WETH
viewfunction WETH() view returns (address)
setContracts
nonpayablefunction setContracts(address chef_, address maker_, address sushi_, address WETH_, address WBTC_, address sushiFactory_, address uniV2Factory_, address bar_, address bentoBox_)
events
No events.
errors
No errors.
creation bytecode
0x60a06040523480156200001157600080fd5b5060405162004d2338038062004d238339810160408190526200003491620000dc565b3360601b608052600080546001600160a01b03199081166001600160a01b039b8c1617909155600180548216998b1699909917909855600280548916978a16979097179096556003805488169589169590951790945560048054871693881693909317909255600580548616918716919091179055600680548516918616919091179055600780548416918516919091179055600880549092169216919091179055620001cb565b60008060008060008060008060006101208a8c031215620000fb578485fd5b89516200010881620001b2565b60208b01519099506200011b81620001b2565b60408b01519098506200012e81620001b2565b60608b01519097506200014181620001b2565b60808b01519096506200015481620001b2565b60a08b01519095506200016781620001b2565b60c08b01519094506200017a81620001b2565b60e08b01519093506200018d81620001b2565b6101008b0151909250620001a181620001b2565b809150509295985092959850929598565b6001600160a01b0381168114620001c857600080fd5b50565b60805160601c614b35620001ee60003980612cd95280612cfd5250614b356000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80635ec54659116100b8578063a88830601161007c578063a88830601461029e578063a959dd80146102b3578063ac6091f8146102d3578063ad5c4648146102f3578063ca0f937c146102fb578063febb0f7e1461031b57610142565b80635ec546591461022e5780636a385ae91461024e5780636b2ace871461026e5780637e3e2596146102765780638da5cb5b1461029657610142565b806329a4a88e1161010a57806329a4a88e146101b65780633009f414146101d65780633da04b87146101f65780634a69ac50146101fe5780634dede3de1461021e57806350655d8c1461022657610142565b80630a0879031461014757806315243475146101655780631fc8bc5d1461018557806322984b241461018d5780632952dde814610195575b600080fd5b61014f610323565b60405161015c9190614352565b60405180910390f35b610178610173366004613dec565b610332565b60405161015c919061496f565b61014f610a3c565b61014f610a4b565b6101a86101a3366004613ebd565b610a5a565b60405161015c92919061484d565b6101c96101c4366004613db3565b610f77565b60405161015c9190614488565b6101e96101e4366004613db3565b611a06565b60405161015c919061476f565b61014f611ff0565b61021161020c366004613ebd565b611fff565b60405161015c91906146ce565b61014f61216e565b61014f61217d565b61024161023c366004613d3e565b61218c565b60405161015c9190614a32565b61026161025c366004613db3565b6125b1565b60405161015c9190614380565b61014f6129d5565b610289610284366004613fb3565b6129e4565b60405161015c91906145bf565b61014f612cd7565b6102b16102ac366004613fe7565b612cfb565b005b6102c66102c1366004613db3565b612de9565b60405161015c9190614624565b6102e66102e1366004613db3565b613094565b60405161015c919061468e565b61014f6131d4565b61030e610309366004613d61565b6131e3565b60405161015c9190614433565b61014f6133cf565b6002546001600160a01b031681565b61033a61395a565b61034261395a565b6001600160a01b038816318152856001600160401b038111801561036557600080fd5b5060405190808252806020026020018201604052801561039f57816020015b61038c6139c2565b8152602001906001900390816103845790505b5060c082015260005b868110156104a25760008888838181106103be57fe5b90506020020160208101906103d39190613d3e565b9050808360c0015183815181106103e657fe5b6020026020010151600001906001600160a01b031690816001600160a01b031681525050806001600160a01b031663574f2ba36040518163ffffffff1660e01b815260040160206040518083038186803b15801561044357600080fd5b505afa158015610457573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047b9190613f4d565b8360c00151838151811061048b57fe5b6020908102919091018101510152506001016103a8565b50826001600160401b03811180156104b957600080fd5b506040519080825280602002602001820160405280156104e3578160200160208202803683370190505b5061018082015260005b838110156105be576008546001600160a01b03166391e0eab586868481811061051257fe5b90506020020160208101906105279190613d3e565b8b6040518363ffffffff1660e01b8152600401610545929190614366565b60206040518083038186803b15801561055d57600080fd5b505afa158015610571573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105959190613efc565b82610180015182815181106105a657fe5b911515602092830291909101909101526001016104ed565b506001600160a01b038516156105dd576105d78561218c565b60e08201525b6004546001600160a01b03161561060a57600454610603906001600160a01b031661218c565b6101208201525b6002546001600160a01b0316156107d457600254610630906001600160a01b031661218c565b6101008201526002546040516370a0823160e01b81526001600160a01b03909116906370a0823190610666908b90600401614352565b60206040518083038186803b15801561067e57600080fd5b505afa158015610692573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b69190613f4d565b60208201526002546007546040516370a0823160e01b81526001600160a01b03928316926370a08231926106ef92911690600401614352565b60206040518083038186803b15801561070757600080fd5b505afa15801561071b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073f9190613f4d565b6040808301919091526002546007549151636eb1769f60e11b81526001600160a01b039182169263dd62ed3e9261077e928d9290911690600401614366565b60206040518083038186803b15801561079657600080fd5b505afa1580156107aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ce9190613f4d565b60a08201525b6007546001600160a01b0316156108ed576007546040516370a0823160e01b81526001600160a01b03909116906370a0823190610815908b90600401614352565b60206040518083038186803b15801561082d57600080fd5b505afa158015610841573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108659190613f4d565b6060820152600754604080516318160ddd60e01b815290516001600160a01b03909216916318160ddd91600480820192602092909190829003018186803b1580156108af57600080fd5b505afa1580156108c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e79190613f4d565b60808201525b6000546001600160a01b031615610a2a5760008060009054906101000a90046001600160a01b03166001600160a01b031663081e3eda6040518163ffffffff1660e01b815260040160206040518083038186803b15801561094d57600080fd5b505afa158015610961573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109859190613f4d565b90506000805b82811015610a215760005460405163065509bb60e21b81526001600160a01b039091169063195426ec906109c59084908f90600401614a3b565b60206040518083038186803b1580156109dd57600080fd5b505afa1580156109f1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a159190613f4d565b9091019060010161098b565b50610140830152505b42610160820152979650505050505050565b6000546001600160a01b031681565b6005546001600160a01b031681565b610a626139d9565b6060610a6c6139d9565b60008054906101000a90046001600160a01b03166001600160a01b03166317caf6f16040518163ffffffff1660e01b815260040160206040518083038186803b158015610ab857600080fd5b505afa158015610acc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af09190613f4d565b8152600080546040805163040f1f6d60e11b815290516001600160a01b039092169163081e3eda91600480820192602092909190829003018186803b158015610b3857600080fd5b505afa158015610b4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b709190613f4d565b6020830181905290506060856001600160401b0381118015610b9157600080fd5b50604051908082528060200260200182016040528015610bcb57816020015b610bb86139f3565b815260200190600190039081610bb05790505b50905060005b86811015610f6757878782818110610be557fe5b90506020020135828281518110610bf857fe5b6020908102919091010151526000805481906001600160a01b0316631526fe278b8b86818110610c2457fe5b905060200201356040518263ffffffff1660e01b8152600401610c479190614a32565b60806040518083038186803b158015610c5f57600080fd5b505afa158015610c73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c979190613e7f565b505091509150600082905080858581518110610caf57fe5b6020026020010151602001906001600160a01b031690816001600160a01b03168152505081858581518110610ce057fe5b60200260200101516040018181525050610d02816001600160a01b03166133de565b858581518110610d0e57fe5b602002602001015160e00181905250610d2f816001600160a01b03166134a1565b858581518110610d3b57fe5b60200260200101516101000181905250610d5d816001600160a01b03166134e8565b858581518110610d6957fe5b6020026020010151610120019060ff16908160ff1681525050610d94816001600160a01b03166135a1565b858581518110610da057fe5b6020026020010151608001906001600160a01b031690816001600160a01b03168152505060006001600160a01b0316858581518110610ddb57fe5b6020026020010151608001516001600160a01b031614610f5c576001858581518110610e0357fe5b60200260200101516060019015159081151581525050806001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b158015610e5257600080fd5b505afa158015610e66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8a9190613f97565b858581518110610e9657fe5b602002602001015160a001906001600160a01b031690816001600160a01b031681525050806001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b158015610ef357600080fd5b505afa158015610f07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2b9190613f97565b858581518110610f3757fe5b602002602001015160c001906001600160a01b031690816001600160a01b0316815250505b505050600101610bd1565b50919350909150505b9250929050565b60608181816001600160401b0381118015610f9157600080fd5b50604051908082528060200260200182016040528015610fcb57816020015b610fb8613a46565b815260200190600190039081610fb05790505b50905060005b828110156119fc576000868683818110610fe757fe5b9050602002016020810190610ffc9190613d3e565b9050806001600160a01b031663d8dfeb456040518163ffffffff1660e01b815260040160206040518083038186803b15801561103757600080fd5b505afa15801561104b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106f9190613f97565b83838151811061107b57fe5b6020026020010151600001906001600160a01b031690816001600160a01b031681525050806001600160a01b03166338d52e0f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156110d857600080fd5b505afa1580156110ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111109190613f97565b83838151811061111c57fe5b6020026020010151602001906001600160a01b031690816001600160a01b031681525050806001600160a01b0316637dc0d1d06040518163ffffffff1660e01b815260040160206040518083038186803b15801561117957600080fd5b505afa15801561118d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b19190613f97565b8383815181106111bd57fe5b6020026020010151604001906001600160a01b031690816001600160a01b031681525050806001600160a01b03166374645ff36040518163ffffffff1660e01b815260040160006040518083038186803b15801561121a57600080fd5b505afa15801561122e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112569190810190613f65565b83838151811061126257fe5b602002602001015160600181905250806001600160a01b031663473e3ce76040518163ffffffff1660e01b815260040160206040518083038186803b1580156112aa57600080fd5b505afa1580156112be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e29190613f4d565b8383815181106112ee57fe5b602090810291909101015160800152604051631c9e379b60e01b81526001600160a01b03821690631c9e379b90611329908b90600401614352565b60206040518083038186803b15801561134157600080fd5b505afa158015611355573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113799190613f4d565b83838151811061138557fe5b602002602001015160a0018181525050806001600160a01b031663f9557ccb6040518163ffffffff1660e01b8152600401604080518083038186803b1580156113cd57600080fd5b505afa1580156113e1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061140591906140f7565b83838151811061141157fe5b602090810291909101015160c001526040516370a0823160e01b81526001600160a01b038216906370a082319061144c908b90600401614352565b60206040518083038186803b15801561146457600080fd5b505afa158015611478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149c9190613f4d565b8383815181106114a857fe5b602002602001015160e0018181525050806001600160a01b0316638285ef406040518163ffffffff1660e01b8152600401604080518083038186803b1580156114f057600080fd5b505afa158015611504573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061152891906140f7565b83838151811061153457fe5b602090810291909101015161010001526040516324720b1f60e11b81526001600160a01b038216906348e4163e90611570908b90600401614352565b60206040518083038186803b15801561158857600080fd5b505afa15801561159c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115c09190613f4d565b8383815181106115cc57fe5b6020026020010151610120018181525050806001600160a01b0316633ba0b9a96040518163ffffffff1660e01b815260040160206040518083038186803b15801561161657600080fd5b505afa15801561162a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164e9190613f4d565b83838151811061165a57fe5b6020026020010151610140018181525050806001600160a01b0316637dc0d1d06040518163ffffffff1660e01b815260040160206040518083038186803b1580156116a457600080fd5b505afa1580156116b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116dc9190613f97565b6001600160a01b031663eeb8a8d3826001600160a01b03166374645ff36040518163ffffffff1660e01b815260040160006040518083038186803b15801561172357600080fd5b505afa158015611737573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261175f9190810190613f65565b6040518263ffffffff1660e01b815260040161177b9190614805565b604080518083038186803b15801561179257600080fd5b505afa1580156117a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ca9190613f1c565b90508383815181106117d857fe5b6020026020010151610180018181525050806001600160a01b0316637dc0d1d06040518163ffffffff1660e01b815260040160206040518083038186803b15801561182257600080fd5b505afa158015611836573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185a9190613f97565b6001600160a01b031663d39bbef0826001600160a01b03166374645ff36040518163ffffffff1660e01b815260040160006040518083038186803b1580156118a157600080fd5b505afa1580156118b5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118dd9190810190613f65565b6040518263ffffffff1660e01b81526004016118f99190614805565b60206040518083038186803b15801561191157600080fd5b505afa158015611925573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119499190613f4d565b83838151811061195557fe5b6020026020010151610160018181525050806001600160a01b031663b27c0e746040518163ffffffff1660e01b815260040160606040518083038186803b15801561199f57600080fd5b505afa1580156119b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119d791906140a2565b8383815181106119e357fe5b60209081029190910101516101a0015250600101610fd1565b5095945050505050565b606080826001600160401b0381118015611a1f57600080fd5b50604051908082528060200260200182016040528015611a5957816020015b611a46613ae1565b815260200190600190039081611a3e5790505b50905060005b83811015611fe757600080546001600160a01b03166393f1a40b878785818110611a8557fe5b90506020020135896040518363ffffffff1660e01b8152600401611aaa929190614a3b565b604080518083038186803b158015611ac157600080fd5b505afa158015611ad5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611af991906141c4565b50905080838381518110611b0957fe5b60209081029190910181015101526000546001600160a01b031663195426ec878785818110611b3457fe5b90506020020135896040518363ffffffff1660e01b8152600401611b59929190614a3b565b60206040518083038186803b158015611b7157600080fd5b505afa158015611b85573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ba99190613f4d565b838381518110611bb557fe5b60209081029190910101516101200152600080546001600160a01b0316631526fe27888886818110611be357fe5b905060200201356040518263ffffffff1660e01b8152600401611c069190614a32565b60806040518083038186803b158015611c1e57600080fd5b505afa158015611c32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c569190613e7f565b5050509050868684818110611c6757fe5b90506020020135848481518110611c7a57fe5b602090810291909101015152806000611c9b6001600160a01b0383166135a1565b90506001600160a01b03811615611fd7576000546040516370a0823160e01b81526001600160a01b03848116926370a0823192611cde9290911690600401614352565b60206040518083038186803b158015611cf657600080fd5b505afa158015611d0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d2e9190613f4d565b868681518110611d3a57fe5b60209081029190910101516040908101919091526000549051636eb1769f60e11b81526001600160a01b038085169263dd62ed3e92611d7f928f921690600401614366565b60206040518083038186803b158015611d9757600080fd5b505afa158015611dab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dcf9190613f4d565b868681518110611ddb57fe5b602090810291909101015160a001526040516370a0823160e01b81526001600160a01b038316906370a0823190611e16908d90600401614352565b60206040518083038186803b158015611e2e57600080fd5b505afa158015611e42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e669190613f4d565b868681518110611e7257fe5b60200260200101516060018181525050816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015611ebb57600080fd5b505afa158015611ecf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ef39190613f4d565b868681518110611eff57fe5b60200260200101516080018181525050600080836001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015611f4b57600080fd5b505afa158015611f5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f839190614137565b5091509150816001600160701b0316888881518110611f9e57fe5b602002602001015160c0018181525050806001600160701b0316888881518110611fc457fe5b602002602001015160e001818152505050505b505060019092019150611a5f9050565b50949350505050565b6006546001600160a01b031681565b606080826001600160401b038111801561201857600080fd5b5060405190808252806020026020018201604052801561205257816020015b61203f613b34565b8152602001906001900390816120375790505b50905060005b8381101561216457600085858381811061206e57fe5b90506020020160208101906120839190613d3e565b90508083838151811061209257fe5b60209081029190910101516001600160a01b0391821690526120b59082166133de565b8383815181106120c157fe5b6020026020010151604001819052506120e2816001600160a01b03166134a1565b8383815181106120ee57fe5b60200260200101516060018190525061210f816001600160a01b03166134e8565b60ff1683838151811061211e57fe5b60200260200101516020018181525050612140816001600160a01b031661365a565b83838151811061214c57fe5b60209081029190910101516080015250600101612058565b5090505b92915050565b6004546001600160a01b031681565b6001546001600160a01b031681565b6003546000906001600160a01b03838116911614156121b45750670de0b6b3a76400006125ac565b60065460009081906001600160a01b0316156122545760065460035460405163e6a4390560e01b81526001600160a01b039283169263e6a439059261220192899290911690600401614366565b60206040518083038186803b15801561221957600080fd5b505afa15801561222d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122519190613f97565b91505b6005546001600160a01b0316156122ef5760055460035460405163e6a4390560e01b81526001600160a01b039283169263e6a439059261229c92899290911690600401614366565b60206040518083038186803b1580156122b457600080fd5b505afa1580156122c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122ec9190613f97565b90505b6001600160a01b03821615801561230d57506001600160a01b038116155b1561231d576000925050506125ac565b600080806001600160a01b0385161561242957600080866001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561236c57600080fd5b505afa158015612380573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a49190614137565b509150915081850194508084019350866001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b1580156123ec57600080fd5b505afa158015612400573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124249190613f97565b925050505b6001600160a01b0384161561253f57600080856001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561247457600080fd5b505afa158015612488573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124ac9190614137565b50958101959485019490925090506001600160a01b03831661253c57856001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561250157600080fd5b505afa158015612515573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125399190613f97565b92505b50505b6003546001600160a01b038281169116141561258757826001600160701b0316826001600160701b0316670de0b6b3a7640000028161257a57fe5b04955050505050506125ac565b816001600160701b0316836001600160701b0316670de0b6b3a7640000028161257a57fe5b919050565b606080826001600160401b03811180156125ca57600080fd5b5060405190808252806020026020018201604052801561260457816020015b6125f1613b6f565b8152602001906001900390816125e95790505b50905060005b83811015611fe757600085858381811061262057fe5b90506020020160208101906126359190613d3e565b9050806001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561267057600080fd5b505afa158015612684573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126a89190613f4d565b8383815181106126b457fe5b60200260200101516020018181525050808383815181106126d157fe5b60209081029190910101516001600160a01b0391821690526040516370a0823160e01b8152908216906370a082319061270e908a90600401614352565b60206040518083038186803b15801561272657600080fd5b505afa15801561273a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061275e9190613f4d565b83838151811061276a57fe5b60209081029190910101516040908101919091526008549051636eb1769f60e11b81526001600160a01b038084169263dd62ed3e926127af928c921690600401614366565b60206040518083038186803b1580156127c757600080fd5b505afa1580156127db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127ff9190613f4d565b83838151811061280b57fe5b60209081029190910101516080015261282d6001600160a01b03821688613717565b83838151811061283957fe5b602090810291909101015160a00152600854604051633de222bb60e21b81526001600160a01b039091169063f7888aec9061287a9084908b90600401614366565b60206040518083038186803b15801561289257600080fd5b505afa1580156128a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128ca9190613f4d565b8383815181106128d657fe5b602090810291909101015160600152600854604051634ffe34db60e01b81526001600160a01b0390911690634ffe34db90612915908490600401614352565b604080518083038186803b15801561292c57600080fd5b505afa158015612940573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612964919061418b565b84848151811061297057fe5b602002602001015160c00185858151811061298757fe5b60209081029190910101516001600160801b0392831660e090910152911690526129b08161218c565b8383815181106129bc57fe5b602090810291909101015161010001525060010161260a565b6008546001600160a01b031681565b6060808383036001600160401b03811180156129ff57600080fd5b50604051908082528060200260200182016040528015612a3957816020015b612a26613bd6565b815260200190600190039081612a1e5790505b509050835b83811015611fe757604051631e3dd18b60e01b81526000906001600160a01b03881690631e3dd18b90612a75908590600401614a32565b60206040518083038186803b158015612a8d57600080fd5b505afa158015612aa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ac59190613f97565b90506000868303905081848281518110612adb57fe5b6020026020010151600001906001600160a01b031690816001600160a01b031681525050816001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b158015612b3857600080fd5b505afa158015612b4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b709190613f97565b848281518110612b7c57fe5b6020026020010151602001906001600160a01b031690816001600160a01b031681525050816001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b158015612bd957600080fd5b505afa158015612bed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c119190613f97565b848281518110612c1d57fe5b6020026020010151604001906001600160a01b031690816001600160a01b031681525050816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015612c7a57600080fd5b505afa158015612c8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cb29190613f4d565b848281518110612cbe57fe5b6020908102919091010151606001525050600101612a3e565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314612d4c5760405162461bcd60e51b8152600401612d4390614818565b60405180910390fd5b600080546001600160a01b03199081166001600160a01b039b8c1617909155600180548216998b1699909917909855600280548916978a16979097179096556003805488169589169590951790945560048054871693881693909317909255600580548616918716919091179055600680548516918616919091179055600780548416918516919091179055600880549092169216919091179055565b606080826001600160401b0381118015612e0257600080fd5b50604051908082528060200260200182016040528015612e3c57816020015b612e29613bfd565b815260200190600190039081612e215790505b50905060005b83811015611fe7576000858583818110612e5857fe5b9050602002016020810190612e6d9190613d3e565b905080838381518110612e7c57fe5b6020026020010151600001906001600160a01b031690816001600160a01b031681525050600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015612edc57600080fd5b505afa158015612ef0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f149190614137565b506001600160701b031691506001600160701b0316915081858581518110612f3857fe5b6020026020010151602001818152505080858581518110612f5557fe5b60200260200101516040018181525050826001600160a01b03166370a082318a6040518263ffffffff1660e01b8152600401612f919190614352565b60206040518083038186803b158015612fa957600080fd5b505afa158015612fbd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fe19190613f4d565b858581518110612fed57fe5b60200260200101516080018181525050826001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561303657600080fd5b505afa15801561304a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061306e9190613f4d565b85858151811061307a57fe5b602090810291909101015160600152505050600101612e42565b606080826001600160401b03811180156130ad57600080fd5b506040519080825280602002602001820160405280156130e757816020015b6130d46139d9565b8152602001906001900390816130cc5790505b50905060005b83811015611fe75784848281811061310157fe5b9050602002013582828151811061311457fe5b6020908102919091010151526000546001600160a01b03166393f1a40b86868481811061313d57fe5b90506020020135886040518363ffffffff1660e01b8152600401613162929190614a3b565b604080518083038186803b15801561317957600080fd5b505afa15801561318d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131b191906141c4565b508282815181106131be57fe5b60209081029190910181015101526001016130ed565b6003546001600160a01b031681565b606080826001600160401b03811180156131fc57600080fd5b5060405190808252806020026020018201604052801561323657816020015b613223613c35565b81526020019060019003908161321b5790505b5090508260005b818110156133c457600086868381811061325357fe5b90506020020160208101906132689190613d3e565b90508084838151811061327757fe5b60209081029190910101516001600160a01b0391821690526040516370a0823160e01b8152908216906370a08231906132b4908b90600401614352565b60206040518083038186803b1580156132cc57600080fd5b505afa1580156132e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133049190613f4d565b84838151811061331057fe5b6020908102919091018101510152600854604051633de222bb60e21b81526001600160a01b039091169063f7888aec906133509084908c90600401614366565b60206040518083038186803b15801561336857600080fd5b505afa15801561337c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133a09190613f4d565b8483815181106133ac57fe5b6020908102919091010151604001525060010161323d565b509095945050505050565b6007546001600160a01b031681565b60408051600481526024810182526020810180516001600160e01b03166306fdde0360e01b179052905160609160009183916001600160a01b038616916134259190614336565b600060405180830381855afa9150503d8060008114613460576040519150601f19603f3d011682016040523d82523d6000602084013e613465565b606091505b50915091508161349057604051806040016040528060038152602001623f3f3f60e81b815250613499565b613499816137f5565b949350505050565b60408051600481526024810182526020810180516001600160e01b03166395d89b4160e01b179052905160609160009183916001600160a01b038616916134259190614336565b60408051600481526024810182526020810180516001600160e01b031663313ce56760e01b179052905160009182916060916001600160a01b0386169161352f9190614336565b600060405180830381855afa9150503d806000811461356a576040519150601f19603f3d011682016040523d82523d6000602084013e61356f565b606091505b5091509150818015613582575080516020145b61358d576012613499565b8080602001905181019061349991906141e7565b60408051600481526024810182526020810180516001600160e01b031663c45a015560e01b179052905160009182916060916001600160a01b038616916135e89190614336565b600060405180830381855afa9150503d8060008114613623576040519150601f19603f3d011682016040523d82523d6000602084013e613628565b606091505b509150915081801561363b575080516020145b613646576000613499565b808060200190518101906134999190613f97565b60408051600481526024810182526020810180516001600160e01b0316633644e51560e01b179052905160009182916060916001600160a01b03861691612710916136a491614336565b6000604051808303818686fa925050503d80600081146136e0576040519150601f19603f3d011682016040523d82523d6000602084013e6136e5565b606091505b50915091508180156136f8575080516020145b613703576000613499565b808060200190518101906134999190613f4d565b6000806060846001600160a01b0316611388637ecebe008660405160240161373f9190614352565b6040516020818303038152906040529060e01b6020820180516001600160e01b0383818316178352505050506040516137789190614336565b6000604051808303818686fa925050503d80600081146137b4576040519150601f19603f3d011682016040523d82523d6000602084013e6137b9565b606091505b50915091508180156137cc575080516020145b6137d8576000196137ec565b808060200190518101906137ec9190613f4d565b95945050505050565b6060604082511061381b57818060200190518101906138149190613f65565b90506125ac565b81516020141561393a5760005b60208160ff161080156138575750828160ff168151811061384557fe5b01602001516001600160f81b03191615155b1561386457600101613828565b60608160ff166001600160401b038111801561387f57600080fd5b506040519080825280601f01601f1916602001820160405280156138aa576020820181803683370190505b509050600091505b60208260ff161080156138e15750838260ff16815181106138cf57fe5b01602001516001600160f81b03191615155b1561393157838260ff16815181106138f557fe5b602001015160f81c60f81b818360ff168151811061390f57fe5b60200101906001600160f81b031916908160001a9053506001909101906138b2565b91506125ac9050565b506040805180820190915260038152623f3f3f60e81b60208201526125ac565b604051806101a00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001606081526020016000815260200160008152602001600081526020016000815260200160008152602001606081525090565b604080518082019091526000808252602082015290565b604051806040016040528060008152602001600081525090565b604080516101408101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e0820181905261010082015261012081019190915290565b604051806101c0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b03168152602001606081526020016000815260200160008152602001613a9f6139c2565b815260200160008152602001613ab36139c2565b815260200160008152602001600081526020016000815260200160008152602001613adc613c5f565b905290565b604051806101400160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040518060a0016040528060006001600160a01b03168152602001600081526020016060815260200160608152602001600080191681525090565b60405180610120016040528060006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160801b0316815260200160006001600160801b03168152602001600081525090565b60408051608081018252600080825260208201819052918101829052606081019190915290565b6040518060a0016040528060006001600160a01b03168152602001600081526020016000815260200160008152602001600081525090565b604051806060016040528060006001600160a01b0316815260200160008152602001600081525090565b604080516060810182526000808252602082018190529181019190915290565b60008083601f840112613c90578182fd5b5081356001600160401b03811115613ca6578182fd5b6020830191508360208083028501011115610f7057600080fd5b600082601f830112613cd0578081fd5b81516001600160401b03811115613ce5578182fd5b613cf8601f8201601f1916602001614a52565b9150808252836020828501011115613d0f57600080fd5b613d20816020840160208601614a78565b5092915050565b80516001600160801b038116811461216857600080fd5b600060208284031215613d4f578081fd5b8135613d5a81614aa8565b9392505050565b600080600060408486031215613d75578182fd5b8335613d8081614aa8565b925060208401356001600160401b03811115613d9a578283fd5b613da686828701613c7f565b9497909650939450505050565b600080600060408486031215613dc7578081fd5b8335613dd281614aa8565b925060208401356001600160401b03811115613d9a578182fd5b60008060008060008060808789031215613e04578384fd5b8635613e0f81614aa8565b955060208701356001600160401b0380821115613e2a578586fd5b613e368a838b01613c7f565b909750955060408901359150613e4b82614aa8565b90935060608801359080821115613e60578384fd5b50613e6d89828a01613c7f565b979a9699509497509295939492505050565b60008060008060808587031215613e94578182fd5b8451613e9f81614aa8565b60208601516040870151606090970151919890975090945092505050565b60008060208385031215613ecf578182fd5b82356001600160401b03811115613ee4578283fd5b613ef085828601613c7f565b90969095509350505050565b600060208284031215613f0d578081fd5b81518015158114613d5a578182fd5b60008060408385031215613f2e578182fd5b82518015158114613f3d578283fd5b6020939093015192949293505050565b600060208284031215613f5e578081fd5b5051919050565b600060208284031215613f76578081fd5b81516001600160401b03811115613f8b578182fd5b61349984828501613cc0565b600060208284031215613fa8578081fd5b8151613d5a81614aa8565b600080600060608486031215613fc7578081fd5b8335613fd281614aa8565b95602085013595506040909401359392505050565b60008060008060008060008060006101208a8c031215614005578687fd5b893561401081614aa8565b985060208a013561402081614aa8565b975060408a013561403081614aa8565b965060608a013561404081614aa8565b955060808a013561405081614aa8565b945060a08a013561406081614aa8565b935060c08a013561407081614aa8565b925060e08a013561408081614aa8565b91506101008a013561409181614aa8565b809150509295985092959850929598565b6000606082840312156140b3578081fd5b6140bd6060614a52565b82516140c881614aea565b815260208301516140d881614aea565b602082015260408301516140eb81614ad5565b60408201529392505050565b600060408284031215614108578081fd5b6141126040614a52565b61411c8484613d27565b815261412b8460208501613d27565b60208201529392505050565b60008060006060848603121561414b578081fd5b835161415681614ac0565b602085015190935061416781614ac0565b604085015190925063ffffffff81168114614180578182fd5b809150509250925092565b6000806040838503121561419d578182fd5b82516141a881614ad5565b60208401519092506141b981614ad5565b809150509250929050565b600080604083850312156141d6578182fd5b505080516020909101519092909150565b6000602082840312156141f8578081fd5b815160ff81168114613d5a578182fd5b6000815180845260208085019450808401835b8381101561423957815115158752958201959082019060010161421b565b509495945050505050565b6000815180845260208085019450808401835b8381101561423957815180516001600160a01b031688528301518388015260409096019590820190600101614257565b15159052565b600081518084526142a5816020860160208601614a78565b601f01601f19169290920160200192915050565b6001600160a01b03169052565b6001600160401b03808251168352806020830151166020840152506001600160801b0360408201511660408301525050565b80518252602090810151910152565b80516001600160801b03908116835260209182015116910152565b6001600160801b03169052565b60ff169052565b60008251614348818460208701614a78565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b602080825282518282018190526000919060409081850190868401855b828110156144265781516143b28582516142b9565b80870151858801528581015186860152606080820151908601526080808201519086015260a0808201519086015260c0808201516143f282880182614322565b505060e08082015161440682880182614322565b50506101009081015190850152610120909301929085019060010161439d565b5091979650505050505050565b602080825282518282018190526000919060409081850190868401855b8281101561442657815180516001600160a01b0316855286810151878601528501518585015260609093019290850190600101614450565b60208082528251828201819052600091906040908185019080840286018301878501865b838110156145b157603f1989840301855281516102406144cd8583516142b9565b888201516144dd8a8701826142b9565b50878201516144ee898701826142b9565b5060608083015182828801526145068388018261428d565b92505050608080830151818701525060a080830151818701525060c08083015161453282880182614307565b505060e08201516101008681019190915282015161012061455581880183614307565b8301516101608781019190915261014084015161018080890191909152908401516101a080890191909152908401516101c088015290920151915061459e6101e08601836142c6565b95880195935050908601906001016144ac565b509098975050505050505050565b602080825282518282018190526000919060409081850190868401855b8281101561442657815180516001600160a01b0390811686528782015181168887015286820151168686015260609081015190850152608090930192908501906001016145dc565b602080825282518282018190526000919060409081850190868401855b8281101561442657815180516001600160a01b0316855286810151878601528581015186860152606080820151908601526080908101519085015260a09093019290850190600101614641565b602080825282518282018190526000919060409081850190868401855b82811015614426576146be8483516142f8565b92840192908501906001016146ab565b60208082528251828201819052600091906040908185019080840286018301878501865b838110156145b157888303603f19018552815180516001600160a01b0316845287810151888501528681015160a0888601819052906147338287018261428d565b9150506060808301518683038288015261474d838261428d565b60809485015197909401969096525050948701949250908601906001016146f2565b602080825282518282018190526000919060409081850190868401855b828110156144265781518051855286810151878601528581015186860152606080820151908601526080808201519086015260a0808201519086015260c0808201519086015260e0808201519086015261010080820151908601526101209081015190850152610140909301929085019060010161478c565b600060208252613d5a602083018461428d565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000606080830161485e84876142f8565b604084810183905285519182905260809182860190602080820288018501818a01885b8481101561495e57607f198b8403018652815161014081518552858201516148ab878701826142b9565b5088820151898601528a8201516148c48c870182614287565b50898201516148d58b8701826142b9565b5060a0808301516148e8828801826142b9565b505060c0808301516148fc828801826142b9565b505060e08083015182828801526149158388018261428d565b925050506101008083015186830382880152614931838261428d565b9250505061012080830151925061494a8187018461432f565b509685019693505090830190600101614881565b50909b9a5050505050505050505050565b60006020825282516020830152602083015160408301526040830151606083015260608301516080830152608083015160a083015260a083015160c083015260c08301516101a08060e08501526149ca6101c0850183614244565b60e08601516101008681019190915286015161012080870191909152860151610140808701919091528601516101608087019190915286015161018080870191909152860151858203601f190183870152909250614a288382614208565b9695505050505050565b90815260200190565b9182526001600160a01b0316602082015260400190565b6040518181016001600160401b0381118282101715614a7057600080fd5b604052919050565b60005b83811015614a93578181015183820152602001614a7b565b83811115614aa2576000848401525b50505050565b6001600160a01b0381168114614abd57600080fd5b50565b6001600160701b0381168114614abd57600080fd5b6001600160801b0381168114614abd57600080fd5b6001600160401b0381168114614abd57600080fdfea26469706673582212209d7b8b97657d62a957d99c85efe7ef72ef93073f1dd6a5d3e50684717a41ff5564736f6c634300060c0033000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b3f868e0be5597d5db7feb59e1cadbb0fdda50a0000000000000000000000000d500b1d8e8ef31e21c99d1db9a6444d3adf12700000000000000000000000001bfd67037b42cf73acf2047067bd4f2c47d9bfd6000000000000000000000000c35dadb65012ec5796536bd9864ed8773abc74c40000000000000000000000005757371414417b8c6caad45baef941abc7d3ab3200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000319000133d3ada02600f0875d2cf03d442c3367