0 txs
3.5m calls
constructor
constructor(address _gelato)
functions
BLAST
viewfunction BLAST() view returns (address)
execAddresses
viewfunction execAddresses(bytes32) view returns (address)
fee
viewfunction fee() view returns (uint256)
feeToken
viewfunction feeToken() view returns (address)
gelato
viewfunction gelato() view returns (address)
getFeeDetails
viewfunction getFeeDetails() view returns (uint256, address)
getTaskId
purefunction getTaskId(address taskCreator, address execAddress, bytes4 execSelector, tuple moduleData, address feeToken) pure returns (bytes32 taskId)
getTaskIdsByUser
viewfunction getTaskIdsByUser(address _taskCreator) view returns (bytes32[])
nonce1Balance
viewfunction nonce1Balance(bytes32) view returns (uint256)
taskCreator
viewfunction taskCreator(bytes32) view returns (address)
taskModuleAddresses
viewfunction taskModuleAddresses(uint8) view returns (address)
timedTask
viewfunction timedTask(bytes32) view returns (uint128 nextExec, uint128 interval)
version
viewfunction version() view returns (string)
cancelTask
nonpayablefunction cancelTask(bytes32 _taskId)
claimAllGas
nonpayablefunction claimAllGas(address _recipient)
claimMaxGas
nonpayablefunction claimMaxGas(address _recipient)
configureClaimableGas
nonpayablefunction configureClaimableGas()
createTask
nonpayablefunction createTask(address _execAddress, bytes _execDataOrSelector, tuple _moduleData, address _feeToken) returns (bytes32 taskId)
exec
nonpayablefunction exec(address _taskCreator, address _execAddress, bytes _execData, tuple _moduleData, uint256 _txFee, address _feeToken, bool _revertOnFailure)
exec1Balance
nonpayablefunction exec1Balance(address _taskCreator, address _execAddress, bytes _execData, tuple _moduleData, tuple _oneBalanceParam, bool _revertOnFailure)
execBypassModule
nonpayablefunction execBypassModule(address _taskCreator, address _execAddress, bytes32 _taskId, bytes32 _correlationId, bytes _execData, bool _revertOnFailure, bool _singleExec)
execBypassModuleSyncFee
nonpayablefunction execBypassModuleSyncFee(address _taskCreator, address _execAddress, bytes32 _taskId, uint256 _txFee, address _feeToken, bytes _execData, bool _revertOnFailure, bool _singleExec)
setModule
nonpayablefunction setModule(uint8[] _modules, address[] _moduleAddresses)
events
LogUseGelato1Balance
event LogUseGelato1Balance(address indexed sponsor, address indexed target, address indexed feeToken, uint256 oneBalanceChainId, uint256 nativeToFeeTokenXRateNumerator, uint256 nativeToFeeTokenXRateDenominator, bytes32 correlationId)
errors
No errors.
creation bytecode
0x60a06040523480156200001157600080fd5b5060405162004eda38038062004eda8339818101604052810190620000379190620000de565b808073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050505062000110565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620000a68262000079565b9050919050565b620000b88162000099565b8114620000c457600080fd5b50565b600081519050620000d881620000ad565b92915050565b600060208284031215620000f757620000f662000074565b5b60006200010784828501620000c7565b91505092915050565b608051614d926200014860003960008181610608015281816109b001528181610a2d01528181610d2301526111dc0152614d926000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806380381407116100c3578063b81cd8661161007c578063b81cd8661461039f578063cd2002f5146103d0578063cd3d4fb9146103ec578063ddca3f431461041c578063e1d173a91461043a578063ee8ca3b5146104565761014d565b806380381407146102de578063813785e6146102fa57806397d7577614610316578063abf26d5514610334578063ac21631a14610350578063b810c636146103805761014d565b80633323b467116101155780633323b4671461021a5780634e606c471461024a57806354fd4d5014610254578063573ea57514610272578063647846a5146102905780636d2dd29f146102ae5761014d565b80630407145c14610152578063272b1323146101825780632e6e0bd01461019e57806330a9fe6a146101ce5780633140576e146101ea575b600080fd5b61016c60048036038101906101679190612e35565b610472565b6040516101799190612f2a565b60405180910390f35b61019c60048036038101906101979190612e35565b6104c8565b005b6101b860048036038101906101b39190612f78565b6105d3565b6040516101c59190612fb4565b60405180910390f35b6101e860048036038101906101e39190613183565b610606565b005b61020460048036038101906101ff919061350d565b6107f3565b60405161021191906135b3565b60405180910390f35b610234600480360381019061022f919061364d565b61080d565b60405161024191906135b3565b60405180910390f35b61025261088a565b005b61025c610975565b6040516102699190613779565b60405180910390f35b61027a6109ae565b60405161028791906137bc565b60405180910390f35b6102986109d2565b6040516102a59190612fb4565b60405180910390f35b6102c860048036038101906102c39190612f78565b6109f8565b6040516102d59190612fb4565b60405180910390f35b6102f860048036038101906102f391906137d7565b610a2b565b005b610314600480360381019061030f9190613941565b610ba2565b005b61031e610d09565b60405161032b9190613a21565b60405180910390f35b61034e60048036038101906103499190613a5b565b610d21565b005b61036a60048036038101906103659190612f78565b610ff1565b6040516103779190613b31565b60405180910390f35b610388611009565b604051610396929190613b4c565b60405180910390f35b6103b960048036038101906103b49190612f78565b61103a565b6040516103c7929190613ba0565b60405180910390f35b6103ea60048036038101906103e59190612e35565b611096565b005b61040660048036038101906104019190613bc9565b6111a1565b6040516104139190612fb4565b60405180910390f35b6104246111d4565b6040516104319190613b31565b60405180910390f35b610454600480360381019061044f9190613bf6565b6111da565b005b610470600480360381019061046b9190612f78565b611465565b005b606060006104bd600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611483565b905080915050919050565b6104d0611498565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461053d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053490613d1c565b60405180910390fd5b73430000000000000000000000000000000000000273ffffffffffffffffffffffffffffffffffffffff1663954fa5ee30836040518363ffffffff1660e01b815260040161058c929190613d3c565b6020604051808303816000875af11580156105ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cf9190613d7a565b5050565b60006020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610694576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068b90613df3565b60405180910390fd5b6106e586600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206114c190919063ffffffff16565b610724576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071b90613e5f565b60405180910390fd5b8460038190555083600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600061077e878a8a87878760026114d8565b9050600360009055600460006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690557f668a2c70c9e33b13c143eac02a389bb5ff706c9939aab9ef9edbbc11216b7b4d878787846040516107e09493929190613e8e565b60405180910390a1505050505050505050565b600061080286868686866115df565b905095945050505050565b60008061081c3388600661161b565b809850819250505061087e818888888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508761087890613ed3565b876117f1565b91505095945050505050565b610892611498565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f690613d1c565b60405180910390fd5b73430000000000000000000000000000000000000273ffffffffffffffffffffffffffffffffffffffff16634e606c476040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561095b57600080fd5b505af115801561096f573d6000803e3d6000fd5b50505050565b6040518060400160405280600181526020017f370000000000000000000000000000000000000000000000000000000000000081525081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60016020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ab9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab090613df3565b60405180910390fd5b610b0a85600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206114c190919063ffffffff16565b610b49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4090613e5f565b60405180910390fd5b6000610b5b86898987878760026114d8565b90507f6bc93adab97dd835bee818087939b726558bc8d9177650a0018dd05eb00e56c8868683604051610b9093929190613ee6565b60405180910390a15050505050505050565b610baa611498565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0e90613d1c565b60405180910390fd5b600084849050905060005b81811015610d0157838382818110610c3d57610c3c613f1d565b5b9050602002016020810190610c529190612e35565b60066000888885818110610c6957610c68613f1d565b5b9050602002016020810190610c7e9190613bc9565b6005811115610c9057610c8f613f4c565b5b6005811115610ca257610ca1613f4c565b5b815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508080610cf990613faa565b915050610c22565b505050505050565b73430000000000000000000000000000000000000281565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610daf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da690613df3565b60405180910390fd5b6000610dd08787610dbf8861196f565b87610dc990613ed3565b60006115df565b9050610e2381600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206114c190919063ffffffff16565b610e62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5990613e5f565b60405180910390fd5b6000610ec382898989898060000190610e7b9190614001565b80806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050886006611ae8565b90508673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff1660007fa458375b1282695a972870cbfbc4891a9d856b79d563d17667d171d87e0c527a898686604051610f29939291906140b9565b60405180910390a4836020016020810190610f449190612e35565b73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16856000016020810190610f849190612e35565b73ffffffffffffffffffffffffffffffffffffffff167f116bfd46451bbd23e7a5f5b7420b28e3d98d4c477f173da513aaaeac3c4baada8760400135886060013589608001358a60a00135604051610fdf94939291906140f7565b60405180910390a45050505050505050565b60076020528060005260406000206000915090505481565b600080600354600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915091509091565b60056020528060005260406000206000915090508060000160009054906101000a90046fffffffffffffffffffffffffffffffff16908060000160109054906101000a90046fffffffffffffffffffffffffffffffff16905082565b61109e611498565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461110b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110290613d1c565b60405180910390fd5b73430000000000000000000000000000000000000273ffffffffffffffffffffffffffffffffffffffff1663662aa11d30836040518363ffffffff1660e01b815260040161115a929190613d3c565b6020604051808303816000875af1158015611179573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119d9190613d7a565b5050565b60066020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611268576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125f90613df3565b60405180910390fd5b600061128888886112788961196f565b8861128290613ed3565b876115df565b90506112db81600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206114c190919063ffffffff16565b61131a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131190613e5f565b60405180910390fd5b8360038190555082600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006113c3828a8a8a8a806000019061137b9190614001565b80806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050886006611ae8565b9050600360009055600460006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690558773ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16867fa458375b1282695a972870cbfbc4891a9d856b79d563d17667d171d87e0c527a8a8686604051611452939291906140b9565b60405180910390a4505050505050505050565b600061147382336006611b90565b905061147f8183611d4d565b5050565b606061149182600001611e6c565b9050919050565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354905090565b60006114d08360000183611ec8565b905092915050565b600061153e8686896040516020016114f19291906141c0565b6040516020818303038152906040526000876040518060400160405280600f81526020017f4175746f6d6174652e657865633a200000000000000000000000000000000000815250611eeb565b508091505082156115d457611599888360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611f8590919063ffffffff16565b507f44d83729a43f9c6046446df014d073dd242e0ad672071e9b292f31b669c25b0988886040516115cb9291906141e8565b60405180910390a15b979650505050505050565b600085858585856040516020016115fa959493929190614467565b60405160208183030381529060405280519060200120905095945050505050565b6000806000600160058081111561163557611634613f4c565b5b61163f91906144c1565b905060005b818110156117e157600081600581111561166157611660613f4c565b5b905061167e81600581111561167957611678613f4c565b5b611f9c565b61168857506117ce565b60008660008360058111156116a05761169f613f4c565b5b60058111156116b2576116b1613f4c565b5b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506116ec81611fdd565b60006376474e6a60e01b8a8a604051602401611709929190613d3c565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006117aa83836040518060400160405280601881526020017f4175746f6d6174652e7072654372656174655461736b3a20000000000000000081525061204f565b915050808060200190518101906117c19190614543565b809b50819c505050505050505b80806117d990613faa565b915050611644565b5085859250925050935093915050565b600061180886866118018761196f565b86866115df565b905061185b81600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206114c190919063ffffffff16565b1561189b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611892906145f5565b60405180910390fd5b6118aa818787878760066120d9565b6118fb81600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206122aa90919063ffffffff16565b50808573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f73f079427211e7b93db86024054de0b3c4a076a36cf0f86d2c4bf0d112eb7f1d87878760405161195e93929190614615565b60405180910390a495945050505050565b600060188260038151811061198757611986613f1d565b5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916901c6010836002815181106119eb576119ea613f1d565b5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916901c600884600181518110611a4f57611a4e613f1d565b5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916901c84600081518110611ab157611ab0613f1d565b5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161717179050919050565b600080611af585846122c1565b9050611b058989898989866123fe565b8097508198505050611b7187878a604051602001611b249291906141c0565b6040516020818303038152906040526000876040518060400160405280600f81526020017f4175746f6d6174652e657865633a200000000000000000000000000000000000815250611eeb565b5080925050611b84898989898986612571565b50979650505050505050565b600080600580811115611ba657611ba5613f4c565b5b905060005b818111611d41576000816005811115611bc757611bc6613f4c565b5b9050611be4816005811115611bdf57611bde613f4c565b5b6126b7565b611bee5750611d2e565b6000856000836005811115611c0657611c05613f4c565b5b6005811115611c1857611c17613f4c565b5b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050611c5281611fdd565b60006314ae992660e01b8989604051602401611c6f9291906141e8565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090506000611d1083836040518060400160405280601881526020017f4175746f6d6174652e70726543616e63656c5461736b3a20000000000000000081525061204f565b91505080806020019051810190611d27919061465a565b9850505050505b8080611d3990613faa565b915050611bab565b50839150509392505050565b611d9e81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206114c190919063ffffffff16565b611ddd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd4906146f9565b60405180910390fd5b611e2e81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611f8590919063ffffffff16565b507f44d83729a43f9c6046446df014d073dd242e0ad672071e9b292f31b669c25b098183604051611e609291906141e8565b60405180910390a15050565b606081600001805480602002602001604051908101604052809291908181526020018280548015611ebc57602002820191906000526020600020905b815481526020019060010190808311611ea8575b50505050509050919050565b600080836001016000848152602001908152602001600020541415905092915050565b600060608673ffffffffffffffffffffffffffffffffffffffff168587604051611f159190614719565b60006040518083038185875af1925050503d8060008114611f52576040519150601f19603f3d011682016040523d82523d6000602084013e611f57565b606091505b50809250819350505081158015611f6b5750835b15611f7b57611f7a81846126f8565b5b9550959350505050565b6000611f94836000018361285f565b905092915050565b600060026005811115611fb257611fb1613f4c565b5b826005811115611fc557611fc4613f4c565b5b03611fd35760019050611fd8565b600090505b919050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361204c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612043906147a2565b60405180910390fd5b50565b600060608473ffffffffffffffffffffffffffffffffffffffff16846040516120789190614719565b600060405180830381855af49150503d80600081146120b3576040519150601f19603f3d011682016040523d82523d6000602084013e6120b8565b606091505b508092508193505050816120d1576120d081846126f8565b5b935093915050565b600082600001515190506120f08360000151612973565b60005b818110156122a05760008460000151828151811061211457612113613f1d565b5b6020026020010151905061213981600581111561213457612133613f4c565b5b612c90565b612143575061228d565b600084600083600581111561215b5761215a613f4c565b5b600581111561216d5761216c613f4c565b5b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506121a781611fdd565b600063b0ccbdf060e01b8b8b8b8b8b6020015189815181106121cc576121cb613f1d565b5b60200260200101516040516024016121e89594939291906147c2565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905061228782826040518060400160405280601781526020017f4175746f6d6174652e6f6e4372656174655461736b3a2000000000000000000081525061204f565b50505050505b808061229890613faa565b9150506120f3565b5050505050505050565b60006122b98360000183612cd1565b905092915050565b606060008351905060008167ffffffffffffffff8111156122e5576122e4613020565b5b6040519080825280602002602001820160405280156123135781602001602082028036833780820191505090505b50905060005b828110156123f25784600087838151811061233757612336613f1d565b5b6020026020010151600581111561235157612350613f4c565b5b600581111561236357612362613f4c565b5b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168282815181106123a5576123a4613f1d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505080806123ea90613faa565b915050612319565b50809250505092915050565b6000606060008451905060005b8181101561255e5761244886828151811061242957612428613f1d565b5b6020026020010151600581111561244357612442613f4c565b5b612d41565b1561254b57600063c10304f760e01b8b8b8b8b60405160240161246e9493929190614823565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006125298784815181106124e5576124e4613f1d565b5b6020026020010151836040518060400160405280601681526020017f4175746f6d6174652e7072654578656343616c6c3a200000000000000000000081525061204f565b9150508080602001905181019061254091906148df565b809a50819b50505050505b808061255690613faa565b91505061240b565b5086869250925050965096945050505050565b60008151905060005b818110156126ad576125b784828151811061259857612597613f1d565b5b602002602001015160058111156125b2576125b1613f4c565b5b612d82565b1561269a57600063b2db0b4160e01b898989896040516024016125dd9493929190614823565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905061269684838151811061265257612651613f1d565b5b6020026020010151826040518060400160405280601781526020017f4175746f6d6174652e706f73744578656343616c6c3a2000000000000000000081525061204f565b5050505b80806126a590613faa565b91505061257a565b5050505050505050565b6000600260058111156126cd576126cc613f4c565b5b8260058111156126e0576126df613f4c565b5b036126ee57600190506126f3565b600090505b919050565b600460208351612708919061496a565b03612803576000826020015190506308c379a060e01b817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916036127a757604483019250818360405160200161275c9291906149d7565b6040516020818303038152906040526040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161279e9190613779565b60405180910390fd5b816040516020016127b89190614a47565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127fa9190613779565b60405180910390fd5b806040516020016128149190614ab5565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128569190613779565b60405180910390fd5b600080836001016000848152602001908152602001600020549050600081146129675760006001826128919190614ad7565b90506000600186600001805490506128a99190614ad7565b90508181146129185760008660000182815481106128ca576128c9613f1d565b5b90600052602060002001549050808760000184815481106128ee576128ed613f1d565b5b90600052602060002001819055508387600101600083815260200190815260200160002081905550505b8560000180548061292c5761292b614b0b565b5b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061296d565b60009150505b92915050565b600081519050600060016005808111156129905761298f613f4c565b5b61299a91906144c1565b905060008167ffffffffffffffff8111156129b8576129b7613020565b5b6040519080825280602002602001820160405280156129e65781602001602082028036833780820191505090505b50905060005b83811015612b0a576000811115612aa45784600182612a0b9190614ad7565b81518110612a1c57612a1b613f1d565b5b60200260200101516005811115612a3657612a35613f4c565b5b858281518110612a4957612a48613f1d565b5b60200260200101516005811115612a6357612a62613f4c565b5b11612aa3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a9a90614b86565b60405180910390fd5b5b600182868381518110612aba57612ab9613f1d565b5b60200260200101516005811115612ad457612ad3613f4c565b5b81518110612ae557612ae4613f1d565b5b6020026020010190151590811515815250508080612b0290613faa565b9150506129ec565b508060016005811115612b2057612b1f613f4c565b5b81518110612b3157612b30613f1d565b5b602002602001015115612b79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b7090614c18565b60405180910390fd5b8060006005811115612b8e57612b8d613f4c565b5b81518110612b9f57612b9e613f1d565b5b60200260200101518015612bdd57508060046005811115612bc357612bc2613f4c565b5b81518110612bd457612bd3613f1d565b5b60200260200101515b15612c1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c1490614caa565b60405180910390fd5b8060026005811115612c3257612c31613f4c565b5b81518110612c4357612c42613f1d565b5b6020026020010151612c8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c8190614d3c565b60405180910390fd5b50505050565b600060026005811115612ca657612ca5613f4c565b5b826005811115612cb957612cb8613f4c565b5b03612cc75760019050612ccc565b600090505b919050565b6000612cdd8383611ec8565b612d36578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050612d3b565b600090505b92915050565b600060026005811115612d5757612d56613f4c565b5b826005811115612d6a57612d69613f4c565b5b03612d785760019050612d7d565b600090505b919050565b600060036005811115612d9857612d97613f4c565b5b826005811115612dab57612daa613f4c565b5b03612db95760019050612dbe565b600090505b919050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612e0282612dd7565b9050919050565b612e1281612df7565b8114612e1d57600080fd5b50565b600081359050612e2f81612e09565b92915050565b600060208284031215612e4b57612e4a612dcd565b5b6000612e5984828501612e20565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000819050919050565b612ea181612e8e565b82525050565b6000612eb38383612e98565b60208301905092915050565b6000602082019050919050565b6000612ed782612e62565b612ee18185612e6d565b9350612eec83612e7e565b8060005b83811015612f1d578151612f048882612ea7565b9750612f0f83612ebf565b925050600181019050612ef0565b5085935050505092915050565b60006020820190508181036000830152612f448184612ecc565b905092915050565b612f5581612e8e565b8114612f6057600080fd5b50565b600081359050612f7281612f4c565b92915050565b600060208284031215612f8e57612f8d612dcd565b5b6000612f9c84828501612f63565b91505092915050565b612fae81612df7565b82525050565b6000602082019050612fc96000830184612fa5565b92915050565b6000819050919050565b612fe281612fcf565b8114612fed57600080fd5b50565b600081359050612fff81612fd9565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6130588261300f565b810181811067ffffffffffffffff8211171561307757613076613020565b5b80604052505050565b600061308a612dc3565b9050613096828261304f565b919050565b600067ffffffffffffffff8211156130b6576130b5613020565b5b6130bf8261300f565b9050602081019050919050565b82818337600083830152505050565b60006130ee6130e98461309b565b613080565b90508281526020810184848401111561310a5761310961300a565b5b6131158482856130cc565b509392505050565b600082601f83011261313257613131613005565b5b81356131428482602086016130db565b91505092915050565b60008115159050919050565b6131608161314b565b811461316b57600080fd5b50565b60008135905061317d81613157565b92915050565b600080600080600080600080610100898b0312156131a4576131a3612dcd565b5b60006131b28b828c01612e20565b98505060206131c38b828c01612e20565b97505060406131d48b828c01612f63565b96505060606131e58b828c01612ff0565b95505060806131f68b828c01612e20565b94505060a089013567ffffffffffffffff81111561321757613216612dd2565b5b6132238b828c0161311d565b93505060c06132348b828c0161316e565b92505060e06132458b828c0161316e565b9150509295985092959890939650565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61328a81613255565b811461329557600080fd5b50565b6000813590506132a781613281565b92915050565b600080fd5b600080fd5b600067ffffffffffffffff8211156132d2576132d1613020565b5b602082029050602081019050919050565b600080fd5b600681106132f557600080fd5b50565b600081359050613307816132e8565b92915050565b600061332061331b846132b7565b613080565b90508083825260208201905060208402830185811115613343576133426132e3565b5b835b8181101561336c578061335888826132f8565b845260208401935050602081019050613345565b5050509392505050565b600082601f83011261338b5761338a613005565b5b813561339b84826020860161330d565b91505092915050565b600067ffffffffffffffff8211156133bf576133be613020565b5b602082029050602081019050919050565b60006133e36133de846133a4565b613080565b90508083825260208201905060208402830185811115613406576134056132e3565b5b835b8181101561344d57803567ffffffffffffffff81111561342b5761342a613005565b5b808601613438898261311d565b85526020850194505050602081019050613408565b5050509392505050565b600082601f83011261346c5761346b613005565b5b813561347c8482602086016133d0565b91505092915050565b60006040828403121561349b5761349a6132ad565b5b6134a56040613080565b9050600082013567ffffffffffffffff8111156134c5576134c46132b2565b5b6134d184828501613376565b600083015250602082013567ffffffffffffffff8111156134f5576134f46132b2565b5b61350184828501613457565b60208301525092915050565b600080600080600060a0868803121561352957613528612dcd565b5b600061353788828901612e20565b955050602061354888828901612e20565b945050604061355988828901613298565b935050606086013567ffffffffffffffff81111561357a57613579612dd2565b5b61358688828901613485565b925050608061359788828901612e20565b9150509295509295909350565b6135ad81612e8e565b82525050565b60006020820190506135c860008301846135a4565b92915050565b600080fd5b60008083601f8401126135e9576135e8613005565b5b8235905067ffffffffffffffff811115613606576136056135ce565b5b602083019150836001820283011115613622576136216132e3565b5b9250929050565b600080fd5b60006040828403121561364457613643613629565b5b81905092915050565b60008060008060006080868803121561366957613668612dcd565b5b600061367788828901612e20565b955050602086013567ffffffffffffffff81111561369857613697612dd2565b5b6136a4888289016135d3565b9450945050604086013567ffffffffffffffff8111156136c7576136c6612dd2565b5b6136d38882890161362e565b92505060606136e488828901612e20565b9150509295509295909350565b600081519050919050565b600082825260208201905092915050565b60005b8381101561372b578082015181840152602081019050613710565b8381111561373a576000848401525b50505050565b600061374b826136f1565b61375581856136fc565b935061376581856020860161370d565b61376e8161300f565b840191505092915050565b600060208201905081810360008301526137938184613740565b905092915050565b60006137a682612dd7565b9050919050565b6137b68161379b565b82525050565b60006020820190506137d160008301846137ad565b92915050565b600080600080600080600060e0888a0312156137f6576137f5612dcd565b5b60006138048a828b01612e20565b97505060206138158a828b01612e20565b96505060406138268a828b01612f63565b95505060606138378a828b01612f63565b945050608088013567ffffffffffffffff81111561385857613857612dd2565b5b6138648a828b0161311d565b93505060a06138758a828b0161316e565b92505060c06138868a828b0161316e565b91505092959891949750929550565b60008083601f8401126138ab576138aa613005565b5b8235905067ffffffffffffffff8111156138c8576138c76135ce565b5b6020830191508360208202830111156138e4576138e36132e3565b5b9250929050565b60008083601f84011261390157613900613005565b5b8235905067ffffffffffffffff81111561391e5761391d6135ce565b5b60208301915083602082028301111561393a576139396132e3565b5b9250929050565b6000806000806040858703121561395b5761395a612dcd565b5b600085013567ffffffffffffffff81111561397957613978612dd2565b5b61398587828801613895565b9450945050602085013567ffffffffffffffff8111156139a8576139a7612dd2565b5b6139b4878288016138eb565b925092505092959194509250565b6000819050919050565b60006139e76139e26139dd84612dd7565b6139c2565b612dd7565b9050919050565b60006139f9826139cc565b9050919050565b6000613a0b826139ee565b9050919050565b613a1b81613a00565b82525050565b6000602082019050613a366000830184613a12565b92915050565b600060c08284031215613a5257613a51613629565b5b81905092915050565b6000806000806000806101608789031215613a7957613a78612dcd565b5b6000613a8789828a01612e20565b9650506020613a9889828a01612e20565b955050604087013567ffffffffffffffff811115613ab957613ab8612dd2565b5b613ac589828a0161311d565b945050606087013567ffffffffffffffff811115613ae657613ae5612dd2565b5b613af289828a0161362e565b9350506080613b0389828a01613a3c565b925050610140613b1589828a0161316e565b9150509295509295509295565b613b2b81612fcf565b82525050565b6000602082019050613b466000830184613b22565b92915050565b6000604082019050613b616000830185613b22565b613b6e6020830184612fa5565b9392505050565b60006fffffffffffffffffffffffffffffffff82169050919050565b613b9a81613b75565b82525050565b6000604082019050613bb56000830185613b91565b613bc26020830184613b91565b9392505050565b600060208284031215613bdf57613bde612dcd565b5b6000613bed848285016132f8565b91505092915050565b600080600080600080600060e0888a031215613c1557613c14612dcd565b5b6000613c238a828b01612e20565b9750506020613c348a828b01612e20565b965050604088013567ffffffffffffffff811115613c5557613c54612dd2565b5b613c618a828b0161311d565b955050606088013567ffffffffffffffff811115613c8257613c81612dd2565b5b613c8e8a828b0161362e565b9450506080613c9f8a828b01612ff0565b93505060a0613cb08a828b01612e20565b92505060c0613cc18a828b0161316e565b91505092959891949750929550565b7f4e4f545f415554484f52495a4544000000000000000000000000000000000000600082015250565b6000613d06600e836136fc565b9150613d1182613cd0565b602082019050919050565b60006020820190508181036000830152613d3581613cf9565b9050919050565b6000604082019050613d516000830185612fa5565b613d5e6020830184612fa5565b9392505050565b600081519050613d7481612fd9565b92915050565b600060208284031215613d9057613d8f612dcd565b5b6000613d9e84828501613d65565b91505092915050565b7f47656c61746f666965643a204f6e6c792067656c61746f000000000000000000600082015250565b6000613ddd6017836136fc565b9150613de882613da7565b602082019050919050565b60006020820190508181036000830152613e0c81613dd0565b9050919050565b7f4175746f6d6174652e657865633a205461736b206e6f7420666f756e64000000600082015250565b6000613e49601d836136fc565b9150613e5482613e13565b602082019050919050565b60006020820190508181036000830152613e7881613e3c565b9050919050565b613e888161314b565b82525050565b6000608082019050613ea360008301876135a4565b613eb06020830186613b22565b613ebd6040830185612fa5565b613eca6060830184613e7f565b95945050505050565b6000613edf3683613485565b9050919050565b6000606082019050613efb60008301866135a4565b613f0860208301856135a4565b613f156040830184613e7f565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613fb582612fcf565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613fe757613fe6613f7b565b5b600182019050919050565b600080fd5b600080fd5b600080fd5b6000808335600160200384360303811261401e5761401d613ff2565b5b80840192508235915067ffffffffffffffff8211156140405761403f613ff7565b5b60208301925060208202360383131561405c5761405b613ffc565b5b509250929050565b600081519050919050565b600082825260208201905092915050565b600061408b82614064565b614095818561406f565b93506140a581856020860161370d565b6140ae8161300f565b840191505092915050565b600060608201905081810360008301526140d38186614080565b90506140e260208301856135a4565b6140ef6040830184613e7f565b949350505050565b600060808201905061410c6000830187613b22565b6141196020830186613b22565b6141266040830185613b22565b61413360608301846135a4565b95945050505050565b600081905092915050565b600061415282614064565b61415c818561413c565b935061416c81856020860161370d565b80840191505092915050565b60008160601b9050919050565b600061419082614178565b9050919050565b60006141a282614185565b9050919050565b6141ba6141b582612df7565b614197565b82525050565b60006141cc8285614147565b91506141d882846141a9565b6014820191508190509392505050565b60006040820190506141fd60008301856135a4565b61420a6020830184612fa5565b9392505050565b61421a81613255565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6006811061425d5761425c613f4c565b5b50565b600081905061426e8261424c565b919050565b600061427e82614260565b9050919050565b61428e81614273565b82525050565b60006142a08383614285565b60208301905092915050565b6000602082019050919050565b60006142c482614220565b6142ce818561422b565b93506142d98361423c565b8060005b8381101561430a5781516142f18882614294565b97506142fc836142ac565b9250506001810190506142dd565b5085935050505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600082825260208201905092915050565b600061435f82614064565b6143698185614343565b935061437981856020860161370d565b6143828161300f565b840191505092915050565b60006143998383614354565b905092915050565b6000602082019050919050565b60006143b982614317565b6143c38185614322565b9350836020820285016143d585614333565b8060005b8581101561441157848403895281516143f2858261438d565b94506143fd836143a1565b925060208a019950506001810190506143d9565b50829750879550505050505092915050565b6000604083016000830151848203600086015261444082826142b9565b9150506020830151848203602086015261445a82826143ae565b9150508091505092915050565b600060a08201905061447c6000830188612fa5565b6144896020830187612fa5565b6144966040830186614211565b81810360608301526144a88185614423565b90506144b76080830184612fa5565b9695505050505050565b60006144cc82612fcf565b91506144d783612fcf565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561450c5761450b613f7b565b5b828201905092915050565b6145208161379b565b811461452b57600080fd5b50565b60008151905061453d81614517565b92915050565b6000806040838503121561455a57614559612dcd565b5b60006145688582860161452e565b92505060206145798582860161452e565b9150509250929050565b7f4175746f6d6174652e6372656174655461736b3a204475706c6963617465207460008201527f61736b0000000000000000000000000000000000000000000000000000000000602082015250565b60006145df6023836136fc565b91506145ea82614583565b604082019050919050565b6000602082019050818103600083015261460e816145d2565b9050919050565b6000606082019050818103600083015261462f8186614080565b905081810360208301526146438185614423565b90506146526040830184612fa5565b949350505050565b6000602082840312156146705761466f612dcd565b5b600061467e8482850161452e565b91505092915050565b7f4175746f6d6174652e63616e63656c5461736b3a205461736b206e6f7420666f60008201527f756e640000000000000000000000000000000000000000000000000000000000602082015250565b60006146e36023836136fc565b91506146ee82614687565b604082019050919050565b60006020820190508181036000830152614712816146d6565b9050919050565b60006147258284614147565b915081905092915050565b7f4175746f6d6174652e5f6d6f64756c65496e697469616c697365643a204e6f7460008201527f20696e6974000000000000000000000000000000000000000000000000000000602082015250565b600061478c6025836136fc565b915061479782614730565b604082019050919050565b600060208201905081810360008301526147bb8161477f565b9050919050565b600060a0820190506147d760008301886135a4565b6147e46020830187612fa5565b6147f16040830186612fa5565b81810360608301526148038185614080565b905081810360808301526148178184614080565b90509695505050505050565b600060808201905061483860008301876135a4565b6148456020830186612fa5565b6148526040830185612fa5565b81810360608301526148648184614080565b905095945050505050565b600061488261487d8461309b565b613080565b90508281526020810184848401111561489e5761489d61300a565b5b6148a984828561370d565b509392505050565b600082601f8301126148c6576148c5613005565b5b81516148d684826020860161486f565b91505092915050565b600080604083850312156148f6576148f5612dcd565b5b60006149048582860161452e565b925050602083015167ffffffffffffffff81111561492557614924612dd2565b5b614931858286016148b1565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061497582612fcf565b915061498083612fcf565b9250826149905761498f61493b565b5b828206905092915050565b600081905092915050565b60006149b1826136f1565b6149bb818561499b565b93506149cb81856020860161370d565b80840191505092915050565b60006149e382856149a6565b91506149ef82846149a6565b91508190509392505050565b7f4e6f4572726f7253656c6563746f720000000000000000000000000000000000600082015250565b6000614a31600f8361499b565b9150614a3c826149fb565b600f82019050919050565b6000614a5382846149a6565b9150614a5e82614a24565b915081905092915050565b7f556e657870656374656452657475726e64617461000000000000000000000000600082015250565b6000614a9f60148361499b565b9150614aaa82614a69565b601482019050919050565b6000614ac182846149a6565b9150614acc82614a92565b915081905092915050565b6000614ae282612fcf565b9150614aed83612fcf565b925082821015614b0057614aff613f7b565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4175746f6d6174652e5f76616c69644d6f64756c65733a20417363206f6e6c79600082015250565b6000614b706020836136fc565b9150614b7b82614b3a565b602082019050919050565b60006020820190508181036000830152614b9f81614b63565b9050919050565b7f4175746f6d6174652e5f76616c69644d6f64756c65733a2054494d452069732060008201527f6465707265636174656400000000000000000000000000000000000000000000602082015250565b6000614c02602a836136fc565b9150614c0d82614ba6565b604082019050919050565b60006020820190508181036000830152614c3181614bf5565b9050919050565b7f4175746f6d6174652e5f76616c69644d6f64756c65733a204f6e6c792052455360008201527f4f4c564552206f7220574542335f46554e4354494f4e00000000000000000000602082015250565b6000614c946036836136fc565b9150614c9f82614c38565b604082019050919050565b60006020820190508181036000830152614cc381614c87565b9050919050565b7f4175746f6d6174652e5f76616c69644d6f64756c65733a2050524f585920697360008201527f2072657175697265640000000000000000000000000000000000000000000000602082015250565b6000614d266029836136fc565b9150614d3182614cca565b604082019050919050565b60006020820190508181036000830152614d5581614d19565b905091905056fea264697066735822122082e06fb6af77cae25c51085ae06eb9e997eecee90f01f6af82302d2c6bf0c46164736f6c634300080e0033000000000000000000000000fec1e33ebe899906ff63546868a26e1028700b0e