0 txs
1 call
constructor
constructor((address orderBook, ((address interpreter, address store, bytes bytecode) evaluable, (address signer, uint256[] context, bytes signature)[] signedContext) task, bytes implementationData) config)
functions
iRouteProcessor
viewfunction iRouteProcessor() view returns (address)
iTaskHash
viewfunction iTaskHash() view returns (bytes32)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
arb3
payablefunction arb3(address orderBook, tuple takeOrders, tuple task) payable
onTakeOrders
nonpayablefunction onTakeOrders(address inputToken, address outputToken, uint256 inputAmountSent, uint256 totalOutputAmount, bytes takeOrdersData)
events
Construct
event Construct(address sender, (address orderBook, ((address interpreter, address store, bytes bytecode) evaluable, (address signer, uint256[] context, bytes signature)[] signedContext) task, bytes implementationData) config)
errors
InvalidSignature
error InvalidSignature(uint256 i)
NoOrders
error NoOrders()
WrongTask
error WrongTask()
creation bytecode
0x60c0604052600060805234801561001557600080fd5b506040516133cd3803806133cd83398101604081905261003491610396565b808060016000819055507f584f220334313e589a42a75ac60d4fa6ed5b02329a7255af822a0e4ac9cd5f1d338260405161006f92919061060f565b60405180910390a16020810151516040015151156100b65760208082015160405161009a920161066f565b60408051601f1981840301815291905280516020909101206080525b5050600081604001518060200190518101906100d29190610689565b6001600160a01b031660a052506106a69050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b038111828210171561011e5761011e6100e6565b60405290565b604080519081016001600160401b038111828210171561011e5761011e6100e6565b604051601f8201601f191681016001600160401b038111828210171561016e5761016e6100e6565b604052919050565b6001600160a01b038116811461018b57600080fd5b50565b60005b838110156101a9578181015183820152602001610191565b50506000910152565b600082601f8301126101c357600080fd5b81516001600160401b038111156101dc576101dc6100e6565b6101ef601f8201601f1916602001610146565b81815284602083860101111561020457600080fd5b61021582602083016020870161018e565b949350505050565b60006001600160401b03821115610236576102366100e6565b5060051b60200190565b600082601f83011261025157600080fd5b815160206102666102618361021d565b610146565b82815260059290921b8401810191818101908684111561028557600080fd5b8286015b8481101561038b5780516001600160401b03808211156102a857600080fd5b908801906060828b03601f190112156102c15760008081fd5b6102c96100fc565b868301516102d681610176565b8152604083810151838111156102ec5760008081fd5b8401603f81018d136102fe5760008081fd5b8881015161030e6102618261021d565b81815260059190911b82018301908a8101908f83111561032e5760008081fd5b928401925b8284101561034c5783518252928b0192908b0190610333565b858c01525050506060840151838111156103665760008081fd5b6103748d8a838801016101b2565b918301919091525085525050918301918301610289565b509695505050505050565b600060208083850312156103a957600080fd5b82516001600160401b03808211156103c057600080fd5b90840190606082870312156103d457600080fd5b6103dc6100fc565b82516103e781610176565b815282840151828111156103fa57600080fd5b83016040818903121561040c57600080fd5b610414610124565b81518481111561042357600080fd5b82016060818b03121561043557600080fd5b61043d6100fc565b815161044881610176565b81528188015161045781610176565b8189015260408201518681111561046d57600080fd5b6104798c8285016101b2565b604083015250825250818601518481111561049357600080fd5b61049f8a828501610240565b87830152508086840152505060408301519350818411156104bf57600080fd5b6104cb878585016101b2565b60408201529695505050505050565b600081518084526104f281602086016020860161018e565b601f01601f19169290920160200192915050565b6000604082516040855260018060a01b03808251166040870152602080830151606083821660608a015260408501519450606060808a015261054b60a08a01866104da565b888401518a82038b86015280518083529196508401925083860190600581901b870185016000805b838110156105fd57898303601f19018552865180518a168452888101518985018890528051888601819052908a0190849060808701905b808310156105ca5783518252928c019260019290920191908c01906105aa565b508e84015193508681038f8801526105e281856104da565b96505050505087870196508785019450600181019050610573565b50909c9b505050505050505050505050565b6001600160a01b0383811682526040602080840182905284519092169083015282015160608083015260009061064860a0840182610506565b90506040840151603f1984830301608085015261066582826104da565b9695505050505050565b6020815260006106826020830184610506565b9392505050565b60006020828403121561069b57600080fd5b815161068281610176565b60805160a051612cd96106f46000396000818160cf0152818161026c015281816102ae015281816102e901526103ab01526000818161013b015281816103ee015261043f0152612cd96000f3fe60806040526004361061005a5760003560e01c80630f8cc55c116100435780630f8cc55c146100bd5780637ea0b76a1461011657806393be095e146101295761005a565b806301ffc9a714610068578063059bebe61461009d575b34801561006657600080fd5b005b34801561007457600080fd5b50610088610083366004611ba3565b61016b565b60405190151581526020015b60405180910390f35b3480156100a957600080fd5b506100666100b8366004611c0a565b610250565b3480156100c957600080fd5b506100f17f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610094565b610066610124366004611cb4565b6103db565b34801561013557600080fd5b5061015d7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610094565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f059bebe60000000000000000000000000000000000000000000000000000000014806101fe57507fffffffff0000000000000000000000000000000000000000000000000000000082167f7ea0b76a00000000000000000000000000000000000000000000000000000000145b8061024a57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b61029273ffffffffffffffffffffffffffffffffffffffff87167f00000000000000000000000000000000000000000000000000000000000000006000610743565b6102d573ffffffffffffffffffffffffffffffffffffffff87167f0000000000000000000000000000000000000000000000000000000000000000600019610743565b60006102e382840184611e55565b905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632646478b89888a8930886040518763ffffffff1660e01b815260040161034a96959493929190611eda565b6020604051808303816000875af1158015610369573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038d9190611f33565b90506103d173ffffffffffffffffffffffffffffffffffffffff89167f00000000000000000000000000000000000000000000000000000000000000006000610743565b5050505050505050565b6103e361092a565b6103ec816120c7565b7f00000000000000000000000000000000000000000000000000000000000000001580159061046157508060405160200161042791906121c5565b604051602081830303815290604052805190602001207f000000000000000000000000000000000000000000000000000000000000000014155b15610498576040517f8812562900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6104a560608401846122b2565b90506000036104e0576040517f9c95219f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006104ef60608501856122b2565b6000818110610500576105006122fc565b9050602002810190610512919061232b565b61051c9080612369565b61052a90604081019061239d565b61053760608701876122b2565b6000818110610548576105486122fc565b905060200281019061055a919061232b565b6020013581811061056d5761056d6122fc565b61058392602060609092020190810191506123e6565b9050600061059460608601866122b2565b60008181106105a5576105a56122fc565b90506020028101906105b7919061232b565b6105c19080612369565b6105cf90606081019061239d565b6105dc60608801886122b2565b60008181106105ed576105ed6122fc565b90506020028101906105ff919061232b565b60400135818110610612576106126122fc565b61062892602060609092020190810191506123e6565b905061064c73ffffffffffffffffffffffffffffffffffffffff8316876000610743565b61066f73ffffffffffffffffffffffffffffffffffffffff831687600019610743565b6000808773ffffffffffffffffffffffffffffffffffffffff16630997c4a0886040518263ffffffff1660e01b81526004016106ab91906126b4565b60408051808303816000875af11580156106c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ed9190612918565b909250905061071473ffffffffffffffffffffffffffffffffffffffff8516896000610743565b610727610720876120c7565b858561099d565b50505050506107366001600055565b505050565b505050505050565b8015806107e357506040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff838116602483015284169063dd62ed3e90604401602060405180830381865afa1580156107bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e19190611f33565b155b610874576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527f20746f206e6f6e2d7a65726f20616c6c6f77616e63650000000000000000000060648201526084015b60405180910390fd5b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526107369084907f095ea7b300000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152610d75565b600260005403610996576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161086b565b6002600055565b604080516001808252818301909252600091816020015b60608152602001906001900390816109b4575050604080516003808252608082019092529192506000919060208201606080368337019050506040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290915060009073ffffffffffffffffffffffffffffffffffffffff8616906370a0823190602401602060405180830381865afa158015610a5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a819190611f33565b90508015610aaa57610aaa73ffffffffffffffffffffffffffffffffffffffff86163383610e84565b60008573ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610af7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1b919061293c565b60ff169050610b2c82826000610eda565b83600081518110610b3f57610b3f6122fc565b602090810291909101015250506040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff8516906370a0823190602401602060405180830381865afa158015610bb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bdd9190611f33565b90508015610c0657610c0673ffffffffffffffffffffffffffffffffffffffff85163383610e84565b60008473ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c77919061293c565b60ff169050610c8882826000610eda565b83600181518110610c9b57610c9b6122fc565b602090810291909101015250479050610cb43382610f62565b8082600281518110610cc857610cc86122fc565b602002602001018181525050508082600081518110610ce957610ce96122fc565b6020908102919091010152604080516001808252818301909252600091816020015b6040805160a08101825260009181018281526060808301939093526080820183905281526020810191909152815260200190600190039081610d0b5790505090508581600081518110610d6057610d606122fc565b602002602001018190525061073b83826110bc565b6000610dd7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166112b59092919063ffffffff16565b9050805160001480610df8575080806020019051810190610df89190612959565b610736576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161086b565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526107369084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064016108c6565b60008260121115610f0f5760128390036002831615610f0557610efd85826112cc565b915050610f5b565b610efd858261131d565b6012831115610f58577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee83016001831615610f4e57610efd8582611355565b610efd85826113a3565b50825b9392505050565b80471015610fcc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161086b565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611026576040519150601f19603f3d011682016040523d82523d6000602084013e61102b565b606091505b5050905080610736576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161086b565b336110ef6040805160a0810182526000918101828152606080830193909352608082018390528152602081019190915290565b60005b83518110156112ae5783818151811061110d5761110d6122fc565b6020026020010151915060008260000151604001515111156112a6578151805160209182015160008681523090935260408320839273ffffffffffffffffffffffffffffffffffffffff169163d6e3357a9187600001516040015160006111788d8b602001516113c6565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e089901b169091526111c49594939291906024810161297b565b600060405180830381865afa1580156111e1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112099190810190612a8a565b80519193509150156112a3578351602001516040517f946aadc600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063946aadc6906112709088908590600401612aee565b600060405180830381600087803b15801561128a57600080fd5b505af115801561129e573d6000803e3d6000fd5b505050505b50505b6001016110f2565b5050505050565b60606112c484846000856116d6565b949350505050565b6000604e82106112ee5782156112e4576000196112e7565b60005b905061024a565b50600a81900a828102908381838161130857611308612b07565b0414611316576000196112c4565b5092915050565b600a81900a61132c8184612b65565b9050604e821061024a57821561134c5761134782600a612c60565b610f5b565b60009392505050565b6000604e821061137957821561136c57600161136f565b60005b60ff16905061024a565b600a82900a80848161138d5761138d612b07565b0491508082028414611316575060010192915050565b6000604e82101561134c5781600a0a83816113c0576113c0612b07565b04610f5b565b60606000825167ffffffffffffffff8111156113e4576113e4611d39565b60405190808252806020026020018201604052801561140d578160200160208202803683370190505b509050600080845111611421576000611427565b83516001015b855160010101905060008167ffffffffffffffff81111561144a5761144a611d39565b60405190808252806020026020018201604052801561147d57816020015b60608152602001906001900390816114685790505b50905060006114a2604080516002815233602082015230818301526060810190915290565b8282815181106114b4576114b46122fc565b602002602001018190525060005b87518110156115125781806001019250508781815181106114e5576114e56122fc565b60200260200101518383815181106114ff576114ff6122fc565b60209081029190910101526001016114c2565b508551156116cc57808060010191505083828281518110611535576115356122fc565b602002602001018190525060005b86518110156116ca576115f4878281518110611561576115616122fc565b6020026020010151600001516115d161159e8a8581518110611585576115856122fc565b6020026020010151602001518051602090810291012090565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c91909152603c902090565b8984815181106115e3576115e36122fc565b6020026020010151604001516117ef565b61162d576040517f52bf98480000000000000000000000000000000000000000000000000000000081526004810182905260240161086b565b86818151811061163f5761163f6122fc565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16858281518110611673576116736122fc565b6020026020010181815250508180600101925050868181518110611699576116996122fc565b6020026020010151602001518383815181106116b7576116b76122fc565b6020908102919091010152600101611543565b505b5095945050505050565b606082471015611768576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161086b565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516117919190612c6c565b60006040518083038185875af1925050503d80600081146117ce576040519150601f19603f3d011682016040523d82523d6000602084013e6117d3565b606091505b50915091506117e48783838761186a565b979650505050505050565b60008060006117fe858561190a565b9092509050600081600481111561181757611817612c7e565b14801561184f57508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80611860575061186086868661194f565b9695505050505050565b606083156119005782516000036118f95773ffffffffffffffffffffffffffffffffffffffff85163b6118f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161086b565b50816112c4565b6112c48383611a8e565b60008082516041036119405760208301516040840151606085015160001a61193487828585611ad2565b94509450505050611948565b506000905060025b9250929050565b60008060008573ffffffffffffffffffffffffffffffffffffffff16631626ba7e60e01b8686604051602401611986929190612cad565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516119f19190612c6c565b600060405180830381855afa9150503d8060008114611a2c576040519150601f19603f3d011682016040523d82523d6000602084013e611a31565b606091505b5091509150818015611a4557506020815110155b8015611860575080517f1626ba7e0000000000000000000000000000000000000000000000000000000090611a839083016020908101908401611f33565b149695505050505050565b815115611a9e5781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086b9190612cc6565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611b095750600090506003611b9a565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611b5d573d6000803e3d6000fd5b5050604051601f19015191505073ffffffffffffffffffffffffffffffffffffffff8116611b9357600060019250925050611b9a565b9150600090505b94509492505050565b600060208284031215611bb557600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610f5b57600080fd5b73ffffffffffffffffffffffffffffffffffffffff81168114611c0757600080fd5b50565b60008060008060008060a08789031215611c2357600080fd5b8635611c2e81611be5565b95506020870135611c3e81611be5565b94506040870135935060608701359250608087013567ffffffffffffffff80821115611c6957600080fd5b818901915089601f830112611c7d57600080fd5b813581811115611c8c57600080fd5b8a6020828501011115611c9e57600080fd5b6020830194508093505050509295509295509295565b600080600060608486031215611cc957600080fd5b8335611cd481611be5565b9250602084013567ffffffffffffffff80821115611cf157600080fd5b9085019060a08288031215611d0557600080fd5b90925060408501359080821115611d1b57600080fd5b50840160408187031215611d2e57600080fd5b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715611d8b57611d8b611d39565b60405290565b6040805190810167ffffffffffffffff81118282101715611d8b57611d8b611d39565b604051601f8201601f1916810167ffffffffffffffff81118282101715611ddd57611ddd611d39565b604052919050565b600082601f830112611df657600080fd5b813567ffffffffffffffff811115611e1057611e10611d39565b611e236020601f19601f84011601611db4565b818152846020838601011115611e3857600080fd5b816020850160208301376000918101602001919091529392505050565b600060208284031215611e6757600080fd5b813567ffffffffffffffff811115611e7e57600080fd5b6112c484828501611de5565b60005b83811015611ea5578181015183820152602001611e8d565b50506000910152565b60008151808452611ec6816020860160208601611e8a565b601f01601f19169290920160200192915050565b600073ffffffffffffffffffffffffffffffffffffffff8089168352876020840152808716604084015285606084015280851660808401525060c060a0830152611f2760c0830184611eae565b98975050505050505050565b600060208284031215611f4557600080fd5b5051919050565b600067ffffffffffffffff821115611f6657611f66611d39565b5060051b60200190565b600082601f830112611f8157600080fd5b81356020611f96611f9183611f4c565b611db4565b82815260059290921b84018101918181019086841115611fb557600080fd5b8286015b848110156120bc57803567ffffffffffffffff80821115611fd957600080fd5b908801906060828b03601f19011215611ff25760008081fd5b611ffa611d68565b8683013561200781611be5565b81526040838101358381111561201d5760008081fd5b8401603f81018d1361202f5760008081fd5b8881013561203f611f9182611f4c565b81815260059190911b82018301908a8101908f83111561205f5760008081fd5b928401925b8284101561207d5783358252928b0192908b0190612064565b858c01525050506060840135838111156120975760008081fd5b6120a58d8a83880101611de5565b918301919091525085525050918301918301611fb9565b509695505050505050565b6000604082360312156120d957600080fd5b6120e1611d91565b823567ffffffffffffffff808211156120f957600080fd5b81850191506060823603121561210e57600080fd5b612116611d68565b823561212181611be5565b8152602083013561213181611be5565b602082015260408301358281111561214857600080fd5b61215436828601611de5565b6040830152508352602085013591508082111561217057600080fd5b5061217d36828601611f70565b60208301525092915050565b60008151808452602080850194506020840160005b838110156121ba5781518752958201959082019060010161219e565b509495945050505050565b60006020808352606084516040808487015273ffffffffffffffffffffffffffffffffffffffff808351166060880152808584015116608088015260408301519250606060a088015261221b60c0880184611eae565b925084880151601f19808986030160408a01528482518087528887019150888160051b880101898501945060005b828110156122a1578489830301845285518781511683528b8101518b8d8501526122758c850182612189565b918a0151848303858c015291905061228d8183611eae565b978d0197958d019593505050600101612249565b509c9b505050505050505050505050565b6000808335601e198436030181126122c957600080fd5b83018035915067ffffffffffffffff8211156122e457600080fd5b6020019150600581901b360382131561194857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8183360301811261235f57600080fd5b9190910192915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6183360301811261235f57600080fd5b6000808335601e198436030181126123b457600080fd5b83018035915067ffffffffffffffff8211156123cf57600080fd5b602001915060608102360382131561194857600080fd5b6000602082840312156123f857600080fd5b8135610f5b81611be5565b6000808335601e1984360301811261241a57600080fd5b830160208101925035905067ffffffffffffffff81111561243a57600080fd5b8060051b360382131561194857600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261248057600080fd5b90910192915050565b6000808335601e198436030181126124a057600080fd5b830160208101925035905067ffffffffffffffff8111156124c057600080fd5b80360382131561194857600080fd5b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b6000808335601e1984360301811261251157600080fd5b830160208101925035905067ffffffffffffffff81111561253157600080fd5b60608102360382131561194857600080fd5b60ff81168114611c0757600080fd5b8183526000602080850194508260005b858110156121ba57813561257581611be5565b73ffffffffffffffffffffffffffffffffffffffff1687528183013561259a81612543565b60ff16878401526040828101359088015260609687019690910190600101612562565b818352602080840193600091600585811b830182018585805b898110156126a557601f19878503018b526125f1838a61244c565b606081356125fe81611be5565b73ffffffffffffffffffffffffffffffffffffffff16865261262282890183612403565b828a8901528083890152608092507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81111561265c578586fd5b881b80828985013787019050604061267684820185612489565b94508389840301828a015261268e84840186836124cf565b9f8b019f98505050948801945050506001016125d6565b50919998505050505050505050565b6000602080835260c0830184358285015260408286013581860152606081870135818701526126e581880188612403565b60a060808901528481865260e08901905060e08260051b8a010195508260005b838110156128eb577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff208b890301835281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8186360301811261276657600080fd5b85018035368290037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101811261279b57600080fd5b60808a52810180356127ac81611be5565b73ffffffffffffffffffffffffffffffffffffffff80821660808d01526127d58d84018461244c565b915060a0808d015281356127e881611be5565b81166101208d0152818d01356127fd81611be5565b166101408c0152612810818b0182612489565b9150896101608d01526128286101808d0183836124cf565b9150506128378a8301836124fa565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80808e85030160c08f015261286d848385612552565b935061287b8c8601866124fa565b93509150808e85030160e08f015250612895838383612552565b9250505060808201356101008c01528b8301358c8c0152898301358a8c01526128c089840184612403565b935091508a8103898c01526128d68184846125bd565b9a505050928901925090880190600101612705565b505050505050506128ff6080860186612489565b9250601f198583030160a08601526118608284836124cf565b6000806040838503121561292b57600080fd5b505080516020909101519092909150565b60006020828403121561294e57600080fd5b8151610f5b81612543565b60006020828403121561296b57600080fd5b81518015158114610f5b57600080fd5b73ffffffffffffffffffffffffffffffffffffffff8716815260006020878184015260c060408401526129b160c0840188611eae565b86606085015283810360808501528086518083528383019150838160051b84010184890160005b83811015612a0657601f198684030185526129f4838351612189565b948701949250908601906001016129d8565b505086810360a0880152612a1a8189612189565b9d9c50505050505050505050505050565b600082601f830112612a3c57600080fd5b81516020612a4c611f9183611f4c565b8083825260208201915060208460051b870101935086841115612a6e57600080fd5b602086015b848110156120bc5780518352918301918301612a73565b60008060408385031215612a9d57600080fd5b825167ffffffffffffffff80821115612ab557600080fd5b612ac186838701612a2b565b93506020850151915080821115612ad757600080fd5b50612ae485828601612a2b565b9150509250929050565b8281526040602082015260006112c46040830184612189565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808202811582820484141761024a5761024a612b36565b600181815b80851115612bb7578160001904821115612b9d57612b9d612b36565b80851615612baa57918102915b93841c9390800290612b81565b509250929050565b600082612bce5750600161024a565b81612bdb5750600061024a565b8160018114612bf15760028114612bfb57612c17565b600191505061024a565b60ff841115612c0c57612c0c612b36565b50506001821b61024a565b5060208310610133831016604e8410600b8410161715612c3a575081810a61024a565b612c448383612b7c565b8060001904821115612c5857612c58612b36565b029392505050565b6000610f5b8383612bbf565b6000825161235f818460208701611e8a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8281526040602082015260006112c46040830184611eae565b602081526000610f5b6020830184611eae56000000000000000000000000000000000000000000000000000000000000002000000000000000000000000084c6e7f5a1e5dd89594cc25bef4722a1b8871ae600000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000389879e0156033202c44bf784ac18fc02edee4f