627 txs
838 calls
constructor
constructor(address _link, address _oracle, address _sportsAMM, bytes32 _jobSpecId, uint256 _paymentAmount)
functions
counterToRequestId
viewfunction counterToRequestId(uint256) view returns (bytes32)
getTradeData
viewfunction getTradeData(bytes32 requestId) view returns (tuple)
jobSpecId
viewfunction jobSpecId() view returns (bytes32)
maxAllowedExecutionDelay
viewfunction maxAllowedExecutionDelay() view returns (uint256)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
paymentAmount
viewfunction paymentAmount() view returns (uint256)
requestCounter
viewfunction requestCounter() view returns (uint256)
requestIdFulfilled
viewfunction requestIdFulfilled(bytes32) view returns (bool)
requestIdToFulfillAllowed
viewfunction requestIdToFulfillAllowed(bytes32) view returns (bool)
requestIdToRequester
viewfunction requestIdToRequester(bytes32) view returns (address)
requestIdToTradeData
viewfunction requestIdToTradeData(bytes32) view returns (string _gameId, uint16 _sportId, uint16 _typeId, int24 _line, uint8 _position, uint256 _buyInAmount, uint256 _expectedQuote, uint256 _additionalSlippage, address _referrer, address _collateral)
sportsAMM
viewfunction sportsAMM() view returns (address)
stakingThalesBettingProxy
viewfunction stakingThalesBettingProxy() view returns (address)
timestampPerRequest
viewfunction timestampPerRequest(bytes32) view returns (uint256)
fulfillLiveTrade
nonpayablefunction fulfillLiveTrade(bytes32 _requestId, bool _allow, uint256 _approvedQuote)
renounceOwnership
nonpayablefunction renounceOwnership()
requestLiveTrade
nonpayablefunction requestLiveTrade(tuple _liveTradeData) returns (bytes32 requestId)
setConfiguration
nonpayablefunction setConfiguration(address _link, address _oracle, address _sportsAMM, bytes32 _jobSpecId, uint256 _paymentAmount)
setFreeBetsHolder
nonpayablefunction setFreeBetsHolder(address _freeBetsHolder)
setMaxAllowedExecutionDelay
nonpayablefunction setMaxAllowedExecutionDelay(uint256 _maxAllowedExecutionDelay)
setPaused
nonpayablefunction setPaused(bool _setPausing)
setStakingThalesBettingProxy
nonpayablefunction setStakingThalesBettingProxy(address _stakingThalesBettingProxy)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdrawCollateral
nonpayablefunction withdrawCollateral(address collateral, address recipient)
events
ChainlinkCancelled
event ChainlinkCancelled(bytes32 indexed id)
ChainlinkFulfilled
event ChainlinkFulfilled(bytes32 indexed id)
ChainlinkRequested
event ChainlinkRequested(bytes32 indexed id)
ContextReset
event ContextReset(address _link, address _oracle, address _sportsAMM, bytes32 _jobSpecId, uint256 _paymentAmount)
LiveTradeFulfilled
event LiveTradeFulfilled(address requester, bytes32 requestId, bool _allow, bytes32 _gameId, uint16 _sportId, uint16 _typeId, int24 _line, uint8 _position, uint256 _buyInAmount, uint256 _expectedQuote, address _collateral, uint256 timestamp)
LiveTradeRequested
event LiveTradeRequested(address requester, uint256 requestCounter, bytes32 requestId, bytes32 _gameId, uint16 _sportId, uint16 _typeId, int24 _line, uint8 _position, uint256 _buyInAmount, uint256 _expectedQuote, address _collateral)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
SetFreeBetsHolder
event SetFreeBetsHolder(address _freeBetsHolder)
SetMaxAllowedExecutionDelay
event SetMaxAllowedExecutionDelay(uint256 _maxAllowedExecutionDelay)
SetStakingThalesBettingProxy
event SetStakingThalesBettingProxy(address _stakingThalesBettingProxy)
Unpaused
event Unpaused(address account)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
EnforcedPause
error EnforcedPause()
ExpectedPause
error ExpectedPause()
FailedInnerCall
error FailedInnerCall()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x60806040526001600455603c600b553480156200001b57600080fd5b5060405162002f8b38038062002f8b8339810160408190526200003e9162000153565b33806200006557604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6200007081620000e4565b506006805460ff60a01b19169055600280546001600160a01b0319166001600160a01b038716179055600380546001600160a01b0319166001600160a01b038616179055600780546001600160a01b0319166001600160a01b039490941693909317909255600955600a5550620001b09050565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b03811681146200014e57600080fd5b919050565b600080600080600060a086880312156200016c57600080fd5b620001778662000136565b9450620001876020870162000136565b9350620001976040870162000136565b6060870151608090970151959894975095949392505050565b612dcb80620001c06000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c8063805661b0116100de578063c35905c611610097578063c992528811610071578063c99252881461036b578063e27a9abc1461037e578063f1c9144f146103a7578063f2fde38b146103ba57600080fd5b8063c35905c61461032c578063c6a85f6e14610335578063c79901f31461035857600080fd5b8063805661b0146102c357806383223eb5146102d65780638da5cb5b146102df57806390421b7c146102f0578063973a814e146103105780639a9950471461031957600080fd5b8063679c4de111610130578063679c4de1146102505780636801d9fb146102635780636a487ae414610276578063715018a61461028957806371b00be8146102915780637ff39d291461029a57600080fd5b806301432bf2146101785780630fe62190146101b057806316c38b3c146101db5780632afdebb1146101f05780635c975abb14610210578063653318f814610222575b600080fd5b61019b6101863660046121f4565b600f6020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b6013546101c3906001600160a01b031681565b6040516001600160a01b0390911681526020016101a7565b6101ee6101e936600461221b565b6103cd565b005b6102036101fe3660046121f4565b6103ed565b6040516101a79190612288565b600654600160a01b900460ff1661019b565b6102426102303660046121f4565b60106020526000908152604090205481565b6040519081526020016101a7565b6101ee61025e366004612360565b61056e565b6101ee610271366004612399565b6105f9565b6102426102843660046123b6565b610656565b6101ee610b9c565b61024260095481565b6101c36102a83660046121f4565b600d602052600090815260409020546001600160a01b031681565b6101ee6102d1366004612399565b610bb0565b610242600b5481565b6006546001600160a01b03166101c3565b6102426102fe3660046121f4565b60126020526000908152604090205481565b61024260115481565b6101ee6103273660046121f4565b610c06565b610242600a5481565b61019b6103433660046121f4565b600e6020526000908152604090205460ff1681565b6101ee6103663660046123f1565b610c43565b6007546101c3906001600160a01b031681565b61039161038c3660046121f4565b610d00565b6040516101a79a9998979695949392919061244c565b6101ee6103b53660046124bf565b610df3565b6101ee6103c8366004612399565b611653565b6103d561168e565b806103e5576103e26116bb565b50565b6103e2611710565b6040805161014081018252606080825260006020830181905292820183905281018290526080810182905260a0810182905260c0810182905260e0810182905261010081018290526101208101919091526000828152600c60205260409081902081516101408101909252805482908290610467906124f7565b80601f0160208091040260200160405190810160405280929190818152602001828054610493906124f7565b80156104e05780601f106104b5576101008083540402835291602001916104e0565b820191906000526020600020905b8154815290600101906020018083116104c357829003601f168201915b5050509183525050600182015461ffff80821660208401526201000082041660408301526401000000008104600290810b6060840152600160381b90910460ff16608083015282015460a0820152600382015460c0820152600482015460e082015260058201546001600160a01b039081166101008301526006909201549091166101209091015292915050565b61057661168e565b6040516370a0823160e01b81523060048201526105f59082906001600160a01b038516906370a0823190602401602060405180830381865afa1580156105c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e4919061252b565b6001600160a01b0385169190611753565b5050565b61060161168e565b601380546001600160a01b0319166001600160a01b0383169081179091556040519081527f52dc607ac868d5b1fa7bba518a16fe90c6fc54562dcb05e35304ac1d26d32a24906020015b60405180910390a150565b60006106606117aa565b600760009054906101000a90046001600160a01b03166001600160a01b031663478426636040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d79190612544565b6001600160a01b031663ce440b936106f56040850160208601612571565b6107056060860160408701612571565b6040516001600160e01b031960e085901b16815261ffff928316600482015291166024820152604401602060405180830381865afa15801561074b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076f919061258e565b6107cc5760405162461bcd60e51b8152602060048201526024808201527f4c6976652074726164696e67206e6f7420656e61626c6564206f6e205f73706f6044820152631c9d125960e21b60648201526084015b60405180910390fd5b6107d46121b9565b6009546107e9903063f1c9144f60e01b6117d5565b60408051808201909152600681526519d85b59525960d21b60208201529091506108559061081785806125ab565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508694939250506117fc9050565b610897604051806040016040528060078152602001661cdc1bdc9d125960ca1b81525084602001602081019061088b9190612571565b83919061ffff1661181a565b60408051808201825260068152651d1e5c19525960d21b60208201526108c79161088b9060608701908701612571565b6040805180820190915260048152636c696e6560e01b6020820152610901906108f66080860160608701612607565b83919060020b611838565b6040805180820190915260088152673837b9b4ba34b7b760c11b602082015261093f9061093460a0860160808701612633565b83919060ff1661181a565b60408051808201909152600b81526a189d5e525b905b5bdd5b9d60aa1b602082015261097190829060a086013561181a565b60408051808201909152600d81526c657870656374656451756f746560981b60208201526109a590829060c086013561181a565b6040805180820190915260128152716164646974696f6e616c536c69707061676560701b60208201526109de90829060e086013561181a565b6109ea81600a54611856565b6000818152601060209081526040808320429055600c90915290209092508390610a1482826127c8565b50506000828152600d6020908152604080832080546001600160a01b0319163390811790915560118054855260129093529220849055547fdc457bcbffcdb3995df4b3bb7a325fe68d19b75af17c94b8d1d277a85691e20f919084610ab6610a7c88806125ab565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061187992505050565b610ac66040890160208a01612571565b610ad660608a0160408b01612571565b610ae660808b0160608c01612607565b610af660a08c0160808d01612633565b8b60a001358c60c001358d610120016020810190610b149190612399565b604080516001600160a01b039c8d168152602081019b909b528a0198909852606089019690965261ffff94851660808901529390921660a087015260020b60c086015260ff1660e0850152610100840152610120830152919091166101408201526101600160405180910390a160118054906000610b91836128f7565b919050555050919050565b610ba461168e565b610bae6000611898565b565b610bb861168e565b600880546001600160a01b0319166001600160a01b0383169081179091556040519081527fc238ff72ce9e31f22c0ef8bf1c701fcc6afd3ed4edc2224a63f16346b68420fb9060200161064b565b610c0e61168e565b600b8190556040518181527fa1d20d22955d911c8b338eeec58c0fa61197b85b255251efe74df475baa5c7389060200161064b565b610c4b61168e565b600280546001600160a01b0319166001600160a01b038716179055600380546001600160a01b0319166001600160a01b038616179055600780546001600160a01b0319166001600160a01b038581169182179092556009849055600a839055604080518884168152928716602084015282015260608101839052608081018290527f4bba2924c9f8b1d7003061aed0e3737c74fddf1b79cd48799498f21058f40ef89060a00160405180910390a15050505050565b600c60205260009081526040902080548190610d1b906124f7565b80601f0160208091040260200160405190810160405280929190818152602001828054610d47906124f7565b8015610d945780601f10610d6957610100808354040283529160200191610d94565b820191906000526020600020905b815481529060010190602001808311610d7757829003601f168201915b505050506001830154600280850154600386015460048701546005880154600690980154969761ffff808716986201000088049091169750640100000000870490950b95600160381b900460ff16946001600160a01b0391821691168a565b610dfb6117aa565b60008381526005602052604090205483906001600160a01b03163314610e745760405162461bcd60e51b815260206004820152602860248201527f536f75726365206d75737420626520746865206f7261636c65206f6620746865604482015267081c995c5d595cdd60c21b60648201526084016107c3565b60008181526005602052604080822080546001600160a01b03191690555182917f7cc135e0cebb02c3480ae5d74d377283180a2601f8f644edf7987b009316c63a91a26000848152600f602052604090205460ff1615610f165760405162461bcd60e51b815260206004820152601c60248201527f5265717565737420494420616c72656164792066756c66696c6c65640000000060448201526064016107c3565b600b546000858152601060205260409020544291610f3391612910565b11610f745760405162461bcd60e51b815260206004820152601160248201527014995c5d595cdd081d1a5b5959081bdd5d607a1b60448201526064016107c3565b6000848152600c602052604080822081516101408101909252805482908290610f9c906124f7565b80601f0160208091040260200160405190810160405280929190818152602001828054610fc8906124f7565b80156110155780601f10610fea57610100808354040283529160200191611015565b820191906000526020600020905b815481529060010190602001808311610ff857829003601f168201915b5050509183525050600182015461ffff8082166020808501919091526201000083049091166040808501919091526401000000008304600290810b6060860152600160381b90930460ff1660808501529184015460a0840152600384015460c0840152600484015460e08085019190915260058501546001600160a01b0390811661010086015260069095015485166101209094019390935260008a8152600d90915220549083015192935016906110d590670de0b6b3a7640000612910565b60c08301516110ec86670de0b6b3a7640000612923565b6110f69190612950565b11156111385760405162461bcd60e51b81526020600482015260116024820152700a6d8d2e0e0c2ceca40e8dede40d0d2ced607b1b60448201526064016107c3565b841561153657604080516001808252818301909252600091816020015b60408051610160810182526000808252602080830182905292820181905260608083018290526080830182905260a0830182905260c0830182905260e083018190526101008301819052610120830191909152610140820152825260001990920191018161115557505060408051601a808252610360820190925291925060609160009160208201610340803683370190505090508681866080015160ff168151811061120457611204612964565b602090810291909101015260408051601a8082526103608201909252600091816020015b60608152602001906001900390816112285790505090506040518061016001604052806112588860000151611879565b8152602001876020015161ffff168152602001876040015161ffff16815260200142603c6112869190612910565b8152602001600060ff168152602001876060015160020b8152602001600062ffffff168152602001838152602001848152602001876080015160ff16815260200182815250846000815181106112de576112de612964565b60209081029190910101526013546001600160a01b039081169086160361136b5760135460a08701516040516305225bf960e31b8152600481018d905260248101919091526001600160a01b0390911690632912dfc890604401600060405180830381600087803b15801561135257600080fd5b505af1158015611366573d6000803e3d6000fd5b505050505b6000600760009054906101000a90046001600160a01b03166001600160a01b031663e481a342868960a001518c8a8c61010001518d61012001516040518763ffffffff1660e01b81526004016113c696959493929190612a46565b6020604051808303816000875af11580156113e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114099190612544565b6008549091506001600160a01b03908116908716036114a75760085460a088015161012089015160405163a12d5b0760e01b8152600481018f90526001600160a01b0385811660248301526044820193909352908216606482015291169063a12d5b0790608401600060405180830381600087803b15801561148a57600080fd5b505af115801561149e573d6000803e3d6000fd5b50505050611530565b6013546001600160a01b03908116908716036115305760135460a088015160405163d9a7951f60e01b8152600481018e90526001600160a01b038481166024830152604482019290925291169063d9a7951f90606401600060405180830381600087803b15801561151757600080fd5b505af115801561152b573d6000803e3d6000fd5b505050505b50505050505b6000868152600e60209081526040808320805489151560ff1991821617909155600f9092529091208054909116600117905581517fe16fea440372e1dff8f7e8cb79dcc6e6af20f2af3a278835a2049243b25d03ca9082908890889061159b90611879565b86602001518760400151886060015189608001518a60a001518d8c6101200151426040516116439c9b9a999897969594939291906001600160a01b039c8d168152602081019b909b5298151560408b015260608a019790975261ffff95861660808a01529390941660a088015260029190910b60c087015260ff1660e08601526101008501919091526101208401529092166101408201526101608101919091526101800190565b60405180910390a1505050505050565b61165b61168e565b6001600160a01b03811661168557604051631e4fbdf760e01b8152600060048201526024016107c3565b6103e281611898565b6006546001600160a01b03163314610bae5760405163118cdaa760e01b81523360048201526024016107c3565b6116c36118ea565b6006805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6117186117aa565b6006805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586116f33390565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526117a5908490611914565b505050565b600654600160a01b900460ff1615610bae5760405163d93c066560e01b815260040160405180910390fd5b6117dd6121b9565b6117e56121b9565b6117f181868686611977565b9150505b9392505050565b608083015161180b90836119bd565b60808301516117a590826119bd565b608083015161182990836119bd565b60808301516117a590826119d4565b608083015161184790836119bd565b60808301516117a590826119f9565b600354600090611870906001600160a01b03168484611a58565b90505b92915050565b80516000908290820361188f5750600092915050565b50506020015190565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600654600160a01b900460ff16610bae57604051638dfc202b60e01b815260040160405180910390fd5b60006119296001600160a01b03841683611aeb565b9050805160001415801561194e57508080602001905181019061194c919061258e565b155b156117a557604051635274afe760e01b81526001600160a01b03841660048201526024016107c3565b61197f6121b9565b61198f8560800151610100611af9565b50508284526001600160a01b03821660208501526001600160e01b031981166040850152835b949350505050565b6119ca8260038351611b5e565b6117a58282611c6b565b6001600160401b038111156119ed576105f58282611c92565b6105f582600083611b5e565b67ffffffffffffffff19811215611a14576105f58282611cc9565b6001600160401b03811315611a2d576105f58282611c92565b60008112611a41576105f582600083611b5e565b6105f5826001611a5384600019612ba3565b611b5e565b600454600090611a69816001612910565b600455835160408086015160808701515191516000936320214ca360e11b93611aa19386938493923092918a91600191602401612bca565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050611ae186838684611cf7565b9695505050505050565b606061187083836000611e55565b604080518082019091526060815260006020820152611b19602083612c32565b15611b4157611b29602083612c32565b611b34906020612c46565b611b3e9083612910565b91505b506020828101829052604080518085526000815290920101905290565b6017816001600160401b031611611b8857611b828360e0600585901b168317611ee8565b50505050565b60ff816001600160401b031611611bc457611bae836018611fe0600586901b1617611ee8565b50611b82836001600160401b0383166001611f0d565b61ffff816001600160401b031611611c0157611beb836019611fe0600586901b1617611ee8565b50611b82836001600160401b0383166002611f0d565b63ffffffff816001600160401b031611611c4057611c2a83601a611fe0600586901b1617611ee8565b50611b82836001600160401b0383166004611f0d565b611c5583601b611fe0600586901b1617611ee8565b50611b82836001600160401b0383166008611f0d565b60408051808201909152606081526000602082015261187083846000015151848551611f33565b611c9d8260c2611ee8565b506105f58282604051602001611cb591815260200190565b60405160208183030381529060405261201d565b611cd48260c3611ee8565b506105f582611ce583600019612ba3565b604051602001611cb591815260200190565b6040516bffffffffffffffffffffffff193060601b1660208201526034810184905260009060540160408051808303601f1901815282825280516020918201206000818152600590925291812080546001600160a01b0319166001600160a01b038a1617905590925082917fb5e6e01e79f91267dc17b4e6314d5d4d03593d2ceee0fbb452b750bd70ea5af99190a2600254604051630200057560e51b81526001600160a01b0390911690634000aea090611dba90889087908790600401612c59565b6020604051808303816000875af1158015611dd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dfd919061258e565b6119b55760405162461bcd60e51b815260206004820152602360248201527f756e61626c6520746f207472616e73666572416e6443616c6c20746f206f7261604482015262636c6560e81b60648201526084016107c3565b606081471015611e7a5760405163cd78605960e01b81523060048201526024016107c3565b600080856001600160a01b03168486604051611e969190612c89565b60006040518083038185875af1925050503d8060008114611ed3576040519150601f19603f3d011682016040523d82523d6000602084013e611ed8565b606091505b5091509150611ae186838361202a565b6040805180820190915260608152600060208201526118708384600001515184612086565b6040805180820190915260608152600060208201526119b58485600001515185856120e1565b6040805180820190915260608152600060208201528251821115611f5657600080fd5b6020850151611f658386612910565b1115611f9857611f9885611f8887602001518786611f839190612910565b612162565b611f93906002612923565b612179565b600080865180518760208301019350808887011115611fb75787860182525b505050602084015b60208410611ff75780518252611fd6602083612910565b9150611fe3602082612910565b9050611ff0602085612c46565b9350611fbf565b51815160001960208690036101000a019081169019919091161790525083949350505050565b6119ca8260028351611b5e565b60608261203f5761203a82612190565b6117f5565b815115801561205657506001600160a01b0384163b155b1561207f57604051639996b31560e01b81526001600160a01b03851660048201526024016107c3565b50806117f5565b604080518082019091526060815260006020820152836020015183106120bb576120bb8485602001516002611f939190612923565b83518051602085830101848153508085036120d7576001810182525b5093949350505050565b60408051808201909152606081526000602082015260208501516121058584612910565b11156121195761211985611f888685612910565b6000600161212984610100612d89565b6121339190612c46565b90508551838682010185831982511617815250805184870111156121575783860181525b509495945050505050565b600081831115612173575081611873565b50919050565b81516121858383611af9565b50611b828382611c6b565b8051156121a05780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040805160a0810182526000808252602080830182905282840182905260608084018390528451808601909552845283015290608082015290565b60006020828403121561220657600080fd5b5035919050565b80151581146103e257600080fd5b60006020828403121561222d57600080fd5b81356117f58161220d565b60005b8381101561225357818101518382015260200161223b565b50506000910152565b60008151808452612274816020860160208601612238565b601f01601f19169290920160200192915050565b60208152600082516101408060208501526122a761016085018361225c565b915060208501516122be604086018261ffff169052565b50604085015161ffff811660608601525060608501516122e3608086018260020b9052565b50608085015160ff811660a08601525060a085015160c085015260c085015160e085015260e0850151610100818187015280870151915050610120612332818701836001600160a01b03169052565b909501516001600160a01b031693019290925250919050565b6001600160a01b03811681146103e257600080fd5b6000806040838503121561237357600080fd5b823561237e8161234b565b9150602083013561238e8161234b565b809150509250929050565b6000602082840312156123ab57600080fd5b81356117f58161234b565b6000602082840312156123c857600080fd5b81356001600160401b038111156123de57600080fd5b820161014081850312156117f557600080fd5b600080600080600060a0868803121561240957600080fd5b85356124148161234b565b945060208601356124248161234b565b935060408601356124348161234b565b94979396509394606081013594506080013592915050565b60006101408083526124608184018e61225c565b61ffff9c8d1660208501529a909b1660408301525060029790970b606088015260ff95909516608087015260a086019390935260c085019190915260e08401526001600160a01b03908116610100840152166101209091015292915050565b6000806000606084860312156124d457600080fd5b8335925060208401356124e68161220d565b929592945050506040919091013590565b600181811c9082168061250b57607f821691505b60208210810361217357634e487b7160e01b600052602260045260246000fd5b60006020828403121561253d57600080fd5b5051919050565b60006020828403121561255657600080fd5b81516117f58161234b565b61ffff811681146103e257600080fd5b60006020828403121561258357600080fd5b81356117f581612561565b6000602082840312156125a057600080fd5b81516117f58161220d565b6000808335601e198436030181126125c257600080fd5b8301803591506001600160401b038211156125dc57600080fd5b6020019150368190038213156125f157600080fd5b9250929050565b8060020b81146103e257600080fd5b60006020828403121561261957600080fd5b81356117f5816125f8565b60ff811681146103e257600080fd5b60006020828403121561264557600080fd5b81356117f581612624565b634e487b7160e01b600052604160045260246000fd5b601f8211156117a557600081815260208120601f850160051c8101602086101561268d5750805b601f850160051c820191505b818110156126ac57828155600101612699565b505050505050565b6001600160401b038311156126cb576126cb612650565b6126df836126d983546124f7565b83612666565b6000601f84116001811461271357600085156126fb5750838201355b600019600387901b1c1916600186901b17835561276d565b600083815260209020601f19861690835b828110156127445786850135825560209485019460019092019101612724565b50868210156127615760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6000813561187381612561565b60008135611873816125f8565b6000813561187381612624565b600081356118738161234b565b80546001600160a01b0319166001600160a01b0392909216919091179055565b6127d282836125ab565b6127dd8183856126b4565b5050600181016128056127f260208501612774565b825461ffff191661ffff91909116178255565b61282e61281460408501612774565b825463ffff0000191660109190911b63ffff000016178255565b61285f61283d60608501612781565b825460209190911b66ffffff000000001666ffffff0000000019909116178255565b61289061286e6080850161278e565b825467ff00000000000000191660389190911b67ff0000000000000016178255565b5060a0820135600282015560c0820135600382015560e082013560048201556128c86128bf610100840161279b565b600583016127a8565b6105f56128d8610120840161279b565b600683016127a8565b634e487b7160e01b600052601160045260246000fd5b600060018201612909576129096128e1565b5060010190565b80820180821115611873576118736128e1565b8082028115828204841417611873576118736128e1565b634e487b7160e01b600052601260045260246000fd5b60008261295f5761295f61293a565b500490565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b838110156121575781518752958201959082019060010161298e565b600081518084526020808501808196508360051b810191508286016000805b86811015612a38578385038a52825180518087529087019087870190845b81811015612a23578351805161ffff1684528a81015160ff168b85015260409081015160020b90840152928901926060909201916001016129e7565b50509a87019a955050918501916001016129c9565b509298975050505050505050565b600060c0808301818452808a5180835260e092508286019150828160051b8701016020808e0160005b84811015612b515789840360df190186528151805185528381015161ffff90811685870152604080830151909116908601526060808201519086015260808082015160ff169086015260a08082015160020b908601528881015162ffffff16898601528781015161016089870181905290612aec8288018261297a565b9150506101008083015187830382890152612b07838261297a565b9250505061012080830151612b208289018260ff169052565b50506101408083015192508682038188015250612b3d81836129aa565b978501979550505090820190600101612a6f565b505087018c9052604087018b90526001600160a01b038a1660608801529450612b7a9350505050565b6001600160a01b03841660808301526001600160a01b03831660a0830152979650505050505050565b8181036000831280158383131683831282161715612bc357612bc36128e1565b5092915050565b6001600160a01b0389811682526020820189905260408201889052861660608201526001600160e01b03198516608082015260a0810184905260c0810183905261010060e08201819052600090612c238382018561225c565b9b9a5050505050505050505050565b600082612c4157612c4161293a565b500690565b81810381811115611873576118736128e1565b60018060a01b0384168152826020820152606060408201526000612c80606083018461225c565b95945050505050565b60008251612c9b818460208701612238565b9190910192915050565b600181815b80851115612ce0578160001904821115612cc657612cc66128e1565b80851615612cd357918102915b93841c9390800290612caa565b509250929050565b600082612cf757506001611873565b81612d0457506000611873565b8160018114612d1a5760028114612d2457612d40565b6001915050611873565b60ff841115612d3557612d356128e1565b50506001821b611873565b5060208310610133831016604e8410600b8410161715612d63575081810a611873565b612d6d8383612ca5565b8060001904821115612d8157612d816128e1565b029392505050565b60006118708383612ce856fea2646970667358221220cb88a43dcd4043fb4e12dff8c7b79e7a9a08b1bb950d8585c7eba1b4550d045664736f6c63430008140033000000000000000000000000924236bf55274fa265dea0fcf80ca694c9fd019f0000000000000000000000008318b56352db3cf696bafef4bb0f71eed910acca000000000000000000000000fb4e4811c7a811e098a556bd79b64c20b479e43164316539393636633462386434383738386335633763333962356338383532640000000000000000000000000000000000000000000000000de0b6b3a7640000