EVM Transaction
EVM-initiated transaction processed through Canton consensus
Gateway_FinalizeBlock
Block timestamp → commit, incl. the gateway-build-block call for block #45188
Measured from on-chain timestamps only: the EVM block timestamp, which the producer chose when it planned the block (whole seconds), and the record time (commit) of the Gateway_FinalizeBlock transaction; a commit that reads slightly before the block timestamp (rounding) shows as 0. The gateway-build-block external call runs inside that transaction and is not timed on its own; the import into the execution layers follows the commit and its time is not observable here, so those steps are markers without a duration.
0x614ac4610035600b8282823980515f1a60731461002957634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100fb575f3560e01c806377ac2d271161009e578063e512098f1161006e578063e512098f146102ad578063e99a9cdc146102c0578063f6b4ade9146102d3578063f921aa89146102f2575f80fd5b806377ac2d2714610211578063803377c614610248578063920bee1b1461027a578063c64091861461029a575f80fd5b80634e1f922c116100d95780634e1f922c1461019e578063530d6154146101b357806372746eaf146101d25780637385b0af146101f1575f80fd5b806322867583146100ff578063265f16331461013457806337938cc31461017d575b5f80fd5b81801561010a575f80fd5b5061011e61011936600461382e565b610311565b60405161012b91906138e3565b60405180910390f35b81801561013f575f80fd5b5061015361014e3660046139fd565b6104e3565b604080516001600160a01b039095168552602085019390935291830152606082015260800161012b565b61019061018b366004613a6b565b61080d565b60405190815260200161012b565b6101b16101ac366004613b23565b6108fd565b005b8180156101be575f80fd5b5061011e6101cd366004613bb5565b610adc565b8180156101dd575f80fd5b506101b16101ec366004613c20565b610bed565b6102046101ff366004613c4a565b610c7d565b60405161012b9190613c6a565b81801561021c575f80fd5b5061023061022b366004613cb6565b610dbc565b6040516001600160a01b03909116815260200161012b565b818015610253575f80fd5b50610267610262366004613d4e565b611081565b60405161ffff909116815260200161012b565b61028d610288366004613da2565b61124c565b60405161012b9190613dda565b6101b16102a8366004613e7d565b6112cd565b6101b16102bb366004613ec5565b6114be565b6101b16102ce366004613ee0565b611614565b8180156102de575f80fd5b506101b16102ed366004613f3f565b6118d3565b8180156102fd575f80fd5b506101b161030c366004613f83565b6119d9565b6103196135f1565b8260a001513410156103525760a083015160405163a458261b60e01b815234600482015260248101919091526044015b60405180910390fd5b5f8360a00151118015610370575060c08301516001600160a01b0316155b1561038e57604051630cd7793b60e21b815260040160405180910390fd5b5f6103ab846040015185606001518560200151866060015161124c565b8051909150606411156103d75780516040516303dcf38d60e01b81526004810191909152602401610349565b835160208501516040808701518451608088015192516331a5a4d360e21b81526001600160a01b0386169463c696934c9461041c94919391924291859160040161404a565b6020604051808303815f875af1158015610438573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061045c91906140a5565b6001600160a01b031683526040516104739061361e565b604051809103905ff08015801561048c573d5f803e3d5ffd5b506001600160a01b03166020840152604084015182516104af9187918690611adf565b8460e001516104c4576104c485828585611c7b565b6104da855f0151866020015187604001516121b7565b50505092915050565b5f805f806104f0866114be565b85602001516001600160a01b031663b8dc491b88306040518363ffffffff1660e01b81526004016105229291906140c0565b6020604051808303815f875af115801561053e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061056291906140da565b602087015160405163b8dc491b60e01b81529193506001600160a01b03169063b8dc491b90610597908b9030906004016140c0565b6020604051808303815f875af11580156105b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105d791906140da565b60408781015188519151634055042d60e01b81526001600160a01b0392831660048201525f6024820181905260448201529293508b929183169163c5120d86918c918c91908590634055042d90606401602060405180830381865afa158015610642573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061066691906140f1565b5f6040518663ffffffff1660e01b815260040161068795949392919061410c565b6020604051808303815f875af11580156106a3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106c79190614143565b505f6106d48b8b8b6121b7565b9050816001600160a01b0316634219dc406040518163ffffffff1660e01b8152600401602060405180830381865afa158015610712573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061073691906140a5565b6001600160a01b031663791b98bc6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610771573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079591906140a5565b95506107a586828c8c878961234a565b604051637d1fd0cb60e11b81526001600160a01b0389811660048301529196509082169063fa3fa196906024015f604051808303815f87803b1580156107e9575f80fd5b505af11580156107fb573d5f803e3d5ffd5b50505050505095509550955095915050565b5f80846001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561084b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061086f919061415e565b905060128160ff16116108bc576108b46305f5e10061088f83601261418d565b61089a90600a61427e565b6108a4908661428c565b6108ae919061428c565b8561278e565b9150506108f6565b6108f26108cd6305f5e1008561428c565b6108d860128461418d565b6108e390600a61427e565b6108ed908761428c565b61278e565b9150505b9392505050565b85156109a157841561092d576040516310e4444f60e11b81526001600160a01b0385166004820152602401610349565b63ffffffff82161561095a5760405163bf3c6fe360e01b815263ffffffff83166004820152602401610349565b866080015163ffffffff168163ffffffff1611156109a1576080870151604051638b55235d60e01b815263ffffffff80841660048301529091166024820152604401610349565b865f015161ffff168361ffff1610806109c55750866020015161ffff168361ffff16115b156109e9576040516309622b3160e11b815261ffff84166004820152602401610349565b63ffffffff821615801590610a265750866040015163ffffffff168263ffffffff161080610a265750866060015163ffffffff168263ffffffff16115b15610a6657604080880151606089015191516374831ef160e01b815263ffffffff8086166004830152918216602482015291166044820152606401610349565b866040015163ffffffff168163ffffffff161080610a935750866060015163ffffffff168163ffffffff16115b15610ad357604080880151606089015191516374831ef160e01b815263ffffffff8085166004830152918216602482015291166044820152606401610349565b50505050505050565b610ae46135f1565b60608301515163ffffffff1615610b0e57604051631e0c7ccf60e01b815260040160405180910390fd5b5f856001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b4b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b6f91906140da565b90505f610b8686838660200151876060015161124c565b60408051610100810182525f6080820181905260a0820181905260c0820181905260e08201526001600160a01b038b811682528a8116602083015289169181019190915260608101849052909150610be0818a8885611c7b565b5093979650505050505050565b8015610bfd57610bfd82826127c4565b5f610c0882346142a3565b90508015610c78576040515f90339083908381818185875af1925050503d805f8114610c4f576040519150601f19603f3d011682016040523d82523d5f602084013e610c54565b606091505b5050905080610c7657604051633c31275160e21b815260040160405180910390fd5b505b505050565b81546060905f805b82811015610ce157845f878381548110610ca157610ca1614022565b5f9182526020808320909101546001600160a01b0316835282019290925260400190205460ff1615610cd957610cd6826142b6565b91505b600101610c85565b50806001600160401b03811115610cfa57610cfa613695565b604051908082528060200260200182016040528015610d23578160200160208202803683370190505b5092505f805b83811015610db2575f878281548110610d4457610d44614022565b5f9182526020808320909101546001600160a01b03168083529089905260409091205490915060ff1615610da95780868481518110610d8557610d85614022565b6001600160a01b0390921660209283029190910190910152610da6836142b6565b92505b50600101610d29565b5050505092915050565b60405163e6a4390560e01b81525f90889082906001600160a01b0383169063e6a4390590610df0908c908c906004016140c0565b602060405180830381865afa158015610e0b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e2f91906140a5565b6001600160a01b0316141580610ebb575060405163e6a4390560e01b81525f906001600160a01b0383169063e6a4390590610e70908b908d906004016140c0565b602060405180830381865afa158015610e8b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eaf91906140a5565b6001600160a01b031614155b15610edd57878760405163ed4e168160e01b81526004016103499291906140c0565b6064861015610f02576040516303dcf38d60e01b815260048101879052602401610349565b825f015161ffff168561ffff161080610f265750826020015161ffff168561ffff16115b15610f4a576040516309622b3160e11b815261ffff86166004820152602401610349565b826040015163ffffffff168463ffffffff161080610f775750826060015163ffffffff168463ffffffff16115b15610fb757604080840151606085015191516374831ef160e01b815263ffffffff8088166004830152918216602482015291166044820152606401610349565b826080015163ffffffff168463ffffffff161115610ffe576080830151604051638b55235d60e01b815263ffffffff80871660048301529091166024820152604401610349565b6040516331a5a4d360e21b81526001600160a01b0382169063c696934c90611034908b908b908b90429084905f9060040161404a565b6020604051808303815f875af1158015611050573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061107491906140a5565b9998505050505050505050565b5f806110966001600160401b038616426142a3565b90506301e133808110156110c4576301e133806110b56127108361428c565b6110bf91906142e2565b6110c8565b6127105b91508361ffff168261ffff16116110f25760405163b10205ed60e01b815260040160405180910390fd5b5f6127108361ffff161461113a5761111061ffff86166127106142a3565b61271061111d8786614301565b61ffff1661112b919061428c565b61113591906142e2565b61113e565b6127105b60405163469e080560e11b8152600481018990526001600160a01b03868116602483015291925090891690638d3c100a9060440160408051808303815f875af115801561118d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111b19190614323565b505060405163b78e703f60e01b81526004810188905261ffff821660248201525f6044820181905260648201526001600160a01b0385811660848301524260a483015289169063b78e703f9060c40160408051808303815f875af115801561121b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061123f9190614323565b5050505095945050505050565b61125461362b565b5f611267611262848661428c565b612863565b905061127486868661080d565b8252611288868661018b611262858961428c565b602083015261129886868361080d565b60408301526112af868661018b611262878661428c565b60608301526112bf86868561080d565b608083015250949350505050565b815160ff16600203611312578160a0015163ffffffff168163ffffffff161115610c785760405163bf3c6fe360e01b815263ffffffff82166004820152602401610349565b815160ff1660010361138b57826040015163ffffffff168163ffffffff16108061134b5750826060015163ffffffff168163ffffffff16115b15610c7857604080840151606085015191516374831ef160e01b815263ffffffff8085166004830152918216602482015291166044820152606401610349565b81604001516001600160a01b031682602001516001600160a01b0316146113d657602082015160405163689289b760e01b81526001600160a01b039091166004820152602401610349565b81606001511561140a5760808201516040516310e4444f60e11b81526001600160a01b039091166004820152602401610349565b826040015163ffffffff168163ffffffff1610806114375750826060015163ffffffff168163ffffffff16115b1561147757604080840151606085015191516374831ef160e01b815263ffffffff8085166004830152918216602482015291166044820152606401610349565b826080015163ffffffff168163ffffffff161115610c78576080830151604051638b55235d60e01b815263ffffffff80841660048301529091166024820152604401610349565b60608101515163ffffffff165f036114e957604051637d7d6afb60e11b815260040160405180910390fd5b5f5b600581101561161057606082015163ffffffff90826005811061151057611510614022565b602002015163ffffffff1614611608575f825f01516001600160a01b031663bb3cb9a65f8560600151856005811061154a5761154a614022565b60200201516040516001600160e01b031960e085901b168152911515600483015263ffffffff166024820152604401608060405180830381865afa158015611594573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115b89190614345565b905082602001516001600160a01b0316815f01516001600160a01b03161480156115e557505f8160400151115b156116065760405163d449d03d60e01b815260048101839052602401610349565b505b6001016114eb565b5050565b845f015161ffff168361ffff1610806116385750846020015161ffff168361ffff16115b1561165c576040516309622b3160e11b815261ffff84166004820152602401610349565b835160ff161561178857835f015160ff1660011480156116d85750846040015163ffffffff168263ffffffff1610806116a45750846040015163ffffffff168163ffffffff16105b806116be5750846060015163ffffffff168263ffffffff16115b806116d85750846060015163ffffffff168163ffffffff16115b1561173857846040015163ffffffff168263ffffffff16108061170a5750846060015163ffffffff168263ffffffff16115b6117145780611716565b815b60405163bf3c6fe360e01b815263ffffffff9091166004820152602401610349565b8360a0015163ffffffff168263ffffffff16118061176557508360a0015163ffffffff168163ffffffff16115b15611783578063ffffffff168263ffffffff16116117145780611716565b6118cc565b83604001516001600160a01b031684602001516001600160a01b0316146117d357602084015160405163689289b760e01b81526001600160a01b039091166004820152602401610349565b8360600151156118075760808401516040516310e4444f60e11b81526001600160a01b039091166004820152602401610349565b608085015163ffffffff8316158015906118455750856040015163ffffffff168363ffffffff16108061184557508063ffffffff168363ffffffff16115b1561187357604051638b55235d60e01b815263ffffffff808516600483015282166024820152604401610349565b856040015163ffffffff168263ffffffff16108061189c57508063ffffffff168263ffffffff16115b156118ca57604051638b55235d60e01b815263ffffffff808416600483015282166024820152604401610349565b505b5050505050565b6001600160a01b0382165f9081526020859052604090205460ff16611936576001600160a01b0382165f818152602086815260408220805460ff191660019081179091558654908101875586835291200180546001600160a01b03191690911790555b6001600160a01b0382165f90815260208681526040918290208351815490151560ff1991821617825591840151600180830191909155928401516002820155606084015160038201556080840151600482018054869593949293919216908380156119a3576119a3614036565b021790555060a091909101516004909101805463ffffffff9092166101000264ffffffff00199092169190911790555050505050565b5f6119e4828461439a565b90506001600160e01b0319811663872101b360e01b14801590611a1857506001600160e01b03198116630983337b60e31b14155b8015611a3557506001600160e01b03198116637c0b751160e11b14155b15611a5f576040516305c6bd7f60e41b81526001600160e01b031982166004820152602401610349565b5f80611a6c8888886121b7565b6001600160a01b03168585604051611a859291906143ca565b5f604051808303815f865af19150503d805f8114611abe576040519150601f19603f3d011682016040523d82523d5f602084013e611ac3565b606091505b509150915081611ad557805160208201fd5b5050505050505050565b8284608001511015611b1357608084015160405162c40c9360e01b8152600481019190915260248101849052604401610349565b608084015115610c7657611b35846040015133846020015187608001516129bb565b81516080850151604051639c0e0bf160e01b81526004810184905260248101919091525f60448201819052916001600160a01b031690639c0e0bf190606401602060405180830381865afa158015611b8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bb391906140da565b90505f6127106103e861ffff168760600151611bcf919061428c565b611bd991906142e2565b905080821115611c0657604051637be9a5c360e11b81526004810183905260248101829052604401610349565b611c1586602001513384612ac6565b336001600160a01b031686602001516001600160a01b03167f84d429ed8af1c9cfe8bb07b556e4120e976c9f4c9232a7f50a15d31d83e232a9886080015185604051611c6b929190918252602082015260400190565b60405180910390a3505050505050565b5f60015b6005811015611d1a575f611d036305f5e10085611c9d6001866142a3565b60058110611cad57611cad614022565b6020020151868560058110611cc457611cc4614022565b6020020151611cd391906142a3565b611cdd919061428c565b85611ce96001866142a3565b60058110611cf957611cf9614022565b602002015161278e565b905082811115611d11578092505b50600101611c7f565b508251604051634055042d60e01b81526001600160a01b039182166004820152600160248201525f604482015290851690634055042d90606401602060405180830381865afa158015611d6f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d9391906140f1565b63ffffffff1660408401819052811115611ea457836001600160a01b031663c5120d8686602001518760400151611dc985612bc8565b8751604051634055042d60e01b81526001600160a01b0391821660048201525f602482018190526044820152908a1690634055042d90606401602060405180830381865afa158015611e1d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e4191906140f1565b5f6040518663ffffffff1660e01b8152600401611e6295949392919061410c565b6020604051808303815f875af1158015611e7e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ea29190614143565b505b5f612710611f4061ffff168760600151611ebe919061428c565b611ec891906142e2565b90505f611ed58285612bfc565b9050611ee687602001518784612d64565b5f5b600581101561212c575f828260058110611f0457611f04614022565b602002015190505f886001600160a01b031663bad125d66040518060e001604052808d602001516001600160a01b031681526020018d604001516001600160a01b031681526020018a8760058110611f5e57611f5e614022565b602090810291909101518252818101879052600160408084018290526060808501929092528e8301516001600160a01b0390811660809586015281516001600160e01b031960e089901b1681528651821660048201529386015181166024850152908501516044840152908401516064830152918301511515608482015260a083015163ffffffff1660a482015260c0909201511660c482015260e4016060604051808303815f875af1158015612017573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061203b91906143d9565b60400151905063ffffffff8116156120535780612059565b63ffffffff5b8860600151846005811061206f5761206f614022565b602002019063ffffffff16908163ffffffff168152505089602001516001600160a01b03167f787b1cbf2905c3f76b36489129cad7929056ee89d3440c9641f4383e20f0d081848a6060015186600581106120cc576120cc614022565b60200201518a87600581106120e3576120e3614022565b60200201518660405161211a949392919060ff94909416845263ffffffff9290921660208401526040830152606082015260800190565b60405180910390a25050600101611ee8565b5061213c8760200151875f612d64565b602087810151908601516040516370a0823160e01b8152306004820152610ad39291906001600160a01b038316906370a0823190602401602060405180830381865afa15801561218e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121b291906140da565b612ac6565b5f80846001600160a01b0316634219dc406040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121f5573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061221991906140a5565b90506001600160a01b038116156123175760405163298d501f60e11b81526001600160a01b0382169063531aa03e9061225890879087906004016140c0565b602060405180830381865afa158015612273573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061229791906140a5565b91506001600160a01b0382166123175760405163298d501f60e11b81526001600160a01b0382169063531aa03e906122d590869088906004016140c0565b602060405180830381865afa1580156122f0573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061231491906140a5565b91505b6001600160a01b038216612342578383604051630701a05f60e51b81526004016103499291906140c0565b509392505050565b5f80856001600160a01b0316876001600160a01b0316635001f3b56040518163ffffffff1660e01b8152600401602060405180830381865afa158015612392573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123b691906140a5565b6001600160a01b03161490505f61242c88896001600160a01b031663c76cd69d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612403573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061242791906140da565b612e66565b9050612439878a87612d64565b612444868a86612d64565b5f805f61246e8b600886901c8761245b578961245d565b8a5b88612468578b612f17565b8a612f17565b6040516370a0823160e01b81523060048201529091506001600160a01b038b16906370a0823190602401602060405180830381865afa1580156124b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124d791906140da565b6040516370a0823160e01b81523060048201529093506001600160a01b038a16906370a0823190602401602060405180830381865afa15801561251c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061254091906140da565b604051632314f77f60e11b81529092506001600160a01b038d1690634629eefe9061256f9084906004016144dc565b5f604051808303815f875af115801561258a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526125b19190810190614625565b506040516370a0823160e01b81523060048201529096506001600160a01b038b16906370a0823190602401602060405180830381865afa1580156125f7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061261b91906140da565b61262590846142a3565b61262f90896142a3565b6040516370a0823160e01b81523060048201529093506001600160a01b038a16906370a0823190602401602060405180830381865afa158015612674573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061269891906140da565b6126a290836142a3565b6126ac90886142a3565b91505081156126c0576126c0898c84612d64565b80156126d1576126d1888c83612d64565b5f821180156126e957506126e98b8b8786888761316b565b156126f2575f91505b5f8111801561270b575061270b8b8b878688158661316b565b1561271357505f5b5f82118061272057505f81115b1561276a5760408051838152602081018390526001600160a01b038b16917f232cb0dfc9c1d737da28ced13a365b85b1df2b0fbbc09756d0a3dcb4610aa64d910160405180910390a25b612775898c5f612d64565b612780888c5f612d64565b505050509695505050505050565b5f815f036127a0576127a06012613248565b8160018403816127b2576127b26142ce565b046001018315155b0290505b92915050565b604080515f808252602082019092526001600160a01b0384169083906040516127ed9190614668565b5f6040518083038185875af1925050503d805f8114612827576040519150601f19603f3d011682016040523d82523d5f602084013e61282c565b606091505b5050905080610c785760405162461bcd60e51b815260206004820152600360248201526222aa2360e91b6044820152606401610349565b5f60018211612870575090565b816001600160801b82106128895760809190911c9060401b5b6801000000000000000082106128a45760409190911c9060201b5b64010000000082106128bb5760209190911c9060101b5b6201000082106128d05760109190911c9060081b5b61010082106128e45760089190911c9060041b5b601082106128f75760049190911c9060021b5b600482106129035760011b5b600302600190811c9081858161291b5761291b6142ce565b048201901c90506001818581612933576129336142ce565b048201901c9050600181858161294b5761294b6142ce565b048201901c90506001818581612963576129636142ce565b048201901c9050600181858161297b5761297b6142ce565b048201901c90506001818581612993576129936142ce565b048201901c90506129b28185816129ac576129ac6142ce565b04821190565b90039392505050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291515f92839290881691612a1e9190614668565b5f604051808303815f865af19150503d805f8114612a57576040519150601f19603f3d011682016040523d82523d5f602084013e612a5c565b606091505b509150915081612a6f57612a6f81613259565b818015612a94575080511580612a94575080806020019051810190612a949190614143565b6118ca5760405162461bcd60e51b81526020600482015260036024820152622a232360e91b6044820152606401610349565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b17905291515f92839290871691612b219190614668565b5f604051808303815f865af19150503d805f8114612b5a576040519150601f19603f3d011682016040523d82523d5f602084013e612b5f565b606091505b509150915081612b7257612b7281613259565b818015612b97575080511580612b97575080806020019051810190612b979190614143565b6118cc5760405162461bcd60e51b81526020600482015260026024820152612a2360f11b6044820152606401610349565b5f63ffffffff821115612bf8576040516306dfcc6560e41b81526020600482015260248101839052604401610349565b5090565b612c0461362b565b612c0f6005846142e2565b8082525f90612c1e90856142a3565b9050612c2861362b565b5f60015b6005811015612ca757858160058110612c4757612c47614022565b6020020151612c65906ec097ce7bc90715b34b9f10000000006142e2565b838260058110612c7757612c77614022565b6020020152828160058110612c8e57612c8e614022565b6020020151612c9d9083614694565b9150600101612c2c565b505f60015b6005612cb9826001614694565b1015612d2c57612ce085858360058110612cd557612cd5614022565b60200201518561326c565b868260058110612cf257612cf2614022565b6020020152858160058110612d0957612d09614022565b6020020151612d189083614694565b915080612d24816142b6565b915050612cac565b50612d3781856142a3565b85612d44600160056142a3565b60058110612d5457612d54614022565b6020020152509295945050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b17905291515f92839290871691612dbf9190614668565b5f604051808303815f865af19150503d805f8114612df8576040519150601f19603f3d011682016040523d82523d5f602084013e612dfd565b606091505b509150915081612e1057612e1081613259565b818015612e35575080511580612e35575080806020019051810190612e359190614143565b6118cc5760405162461bcd60e51b815260206004820152600260248201526120a360f11b6044820152606401610349565b5f805f5b83811015612f0857604051632f27a5cd60e21b815260ff821660048201525f9081906001600160a01b0388169063bc9e9734906024016040805180830381865afa158015612eba573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ede9190614323565b915091505f821180612eef57505f81115b15612efe57826001901b841793505b5050600101612e6a565b50600883901b17905092915050565b612f1f613649565b6001600160a01b0385168152836001600160401b03811115612f4357612f43613695565b604051908082528060200260200182016040528015612f6c578160200160208202803683370190505b506020820152836001600160401b03811115612f8a57612f8a613695565b604051908082528060200260200182016040528015612fb3578160200160208202803683370190505b506040820152836001600160401b03811115612fd157612fd1613695565b604051908082528060200260200182016040528015612ffa578160200160208202803683370190505b506060820152836001600160401b0381111561301857613018613695565b604051908082528060200260200182016040528015613041578160200160208202803683370190505b5060808201523060a08201524260c08201525f5b8481101561316257808260200151828151811061307457613074614022565b60ff9092166020928302919091019091015284613092826001614694565b146130a6576130a185856142e2565b6130cf565b6130b16001866142a3565b6130bb86866142e2565b6130c5919061428c565b6130cf90856142a3565b826040015182815181106130e5576130e5614022565b6020908102919091010152846130fc826001614694565b146131105761310b85846142e2565b613139565b61311b6001866142a3565b61312586856142e2565b61312f919061428c565b61313990846142a3565b8260600151828151811061314f5761314f614022565b6020908102919091010152600101613055565b50949350505050565b5f8061319087868661317d575f61317f565b855b8761318a578661331c565b5f61331c565b90508060200151515f036131a7575f91505061323e565b876001600160a01b031663fd8d652f878360200151846040015185606001518660800151426040518763ffffffff1660e01b81526004016131ed969594939291906146a7565b5f604051808303815f875af192505050801561322a57506040513d5f823e601f3d908101601f19168201604052613227919081019061470d565b60015b613237575f91505061323e565b6001925050505b9695505050505050565b634e487b715f52806020526024601cfd5b80515f036132645750565b805160208201fd5b5f805f61327986866135d5565b91509150815f0361329d57838181613293576132936142ce565b04925050506108f6565b8184116132b4576132b46003851502601118613248565b5f848688095f868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010185841190960395909502919093039390930492909217029150509392505050565b613324613649565b600884901c60ff85165f805b83811015613359576001811b831615613351578161334d816142b6565b9250505b600101613330565b506001600160a01b0388168452806001600160401b0381111561337e5761337e613695565b6040519080825280602002602001820160405280156133a7578160200160208202803683370190505b506020850152806001600160401b038111156133c5576133c5613695565b6040519080825280602002602001820160405280156133ee578160200160208202803683370190505b506040850152806001600160401b0381111561340c5761340c613695565b604051908082528060200260200182016040528015613435578160200160208202803683370190505b506060850152806001600160401b0381111561345357613453613695565b60405190808252806020026020018201604052801561347c578160200160208202803683370190505b5060808501523060a08501524260c08501525f81900361349e575050506135cd565b5f805b848110156135c7576001811b8416156135bf5780866020015183815181106134cb576134cb614022565b60ff90921660209283029190910190910152826134e9836001614694565b146134fd576134f883896142e2565b613526565b6135086001846142a3565b613512848a6142e2565b61351c919061428c565b61352690896142a3565b8660400151838151811061353c5761353c614022565b602090810291909101015282613553836001614694565b146135675761356283886142e2565b613590565b6135726001846142a3565b61357c84896142e2565b613586919061428c565b61359090886142a3565b866060015183815181106135a6576135a6614022565b6020908102919091010152816135bb816142b6565b9250505b6001016134a1565b50505050505b949350505050565b5f805f1983850993909202808410938190039390930393915050565b604080516080810182525f80825260208201819052918101919091526060810161361961362b565b905290565b6103508061473f83390190565b6040518060a001604052806005906020820280368337509192915050565b6040518060e001604052805f6001600160a01b03168152602001606081526020016060815260200160608152602001606081526020015f6001600160a01b031681526020015f81525090565b634e487b7160e01b5f52604160045260245ffd5b60405160c081016001600160401b03811182821017156136cb576136cb613695565b60405290565b60405161010081016001600160401b03811182821017156136cb576136cb613695565b604051608081016001600160401b03811182821017156136cb576136cb613695565b60405160a081016001600160401b03811182821017156136cb576136cb613695565b604051601f8201601f191681016001600160401b038111828210171561376057613760613695565b604052919050565b6001600160a01b038116811461377c575f80fd5b50565b803561378a81613768565b919050565b801515811461377c575f80fd5b803561378a8161378f565b63ffffffff8116811461377c575f80fd5b5f60c082840312156137c8575f80fd5b6137d06136a9565b905081356137dd8161378f565b80825250602082013560208201526040820135604082015260608201356060820152608082013560018110613810575f80fd5b608082015260a0820135613823816137a7565b60a082015292915050565b5f808284036101c0811215613841575f80fd5b61010080821215613850575f80fd5b6138586136d1565b9150843561386581613768565b82526138736020860161377f565b60208301526138846040860161377f565b6040830152606085013560608301526080850135608083015260a085013560a08301526138b360c0860161377f565b60c08301526138c460e0860161379c565b60e08301528193506138d8868287016137b8565b925050509250929050565b5f6101008201905060018060a01b0380845116835260208160208601511660208501526040850151915063ffffffff808316604086015260608601519250606085015f5b6005811015613946578451831682529383019390830190600101613927565b505050505092915050565b5f610100808385031215613963575f80fd5b61396b6136f4565b9150823561397881613768565b825260208381013561398981613768565b6020840152604084013561399c816137a7565b6040840152607f840185136139af575f80fd5b6139b7613716565b9184019180868411156139c8575f80fd5b606086015b848110156139ed5780356139e0816137a7565b83529183019183016139cd565b5060608501525091949350505050565b5f805f805f6101808688031215613a12575f80fd5b8535613a1d81613768565b94506020860135613a2d81613768565b93506040860135613a3d81613768565b9250613a4c8760608801613951565b9150610160860135613a5d81613768565b809150509295509295909350565b5f805f60608486031215613a7d575f80fd5b8335613a8881613768565b95602085013595506040909401359392505050565b803561ffff8116811461378a575f80fd5b5f60a08284031215613abe575f80fd5b613ac6613716565b9050613ad182613a9d565b8152613adf60208301613a9d565b60208201526040820135613af2816137a7565b60408201526060820135613b05816137a7565b60608201526080820135613b18816137a7565b608082015292915050565b5f805f805f805f610160888a031215613b3a575f80fd5b613b448989613aae565b965060a0880135613b548161378f565b955060c0880135613b648161378f565b945060e0880135613b7481613768565b9350613b836101008901613a9d565b9250610120880135613b94816137a7565b9150610140880135613ba5816137a7565b8091505092959891949750929550565b5f805f805f6102208688031215613bca575f80fd5b8535613bd581613768565b94506020860135613be581613768565b93506040860135613bf581613768565b9250613c048760608801613951565b9150613c148761016088016137b8565b90509295509295909350565b5f8060408385031215613c31575f80fd5b8235613c3c81613768565b946020939093013593505050565b5f8060408385031215613c5b575f80fd5b50508035926020909101359150565b602080825282518282018190525f9190848201906040850190845b81811015613caa5783516001600160a01b031683529284019291840191600101613c85565b50909695505050505050565b5f805f805f805f610160888a031215613ccd575f80fd5b8735613cd881613768565b96506020880135613ce881613768565b95506040880135613cf881613768565b945060608801359350613d0d60808901613a9d565b925060a0880135613d1d816137a7565b9150613d2c8960c08a01613aae565b905092959891949750929550565b6001600160401b038116811461377c575f80fd5b5f805f805f60a08688031215613d62575f80fd5b8535613d6d81613768565b9450602086013593506040860135613d8481613d3a565b9250613d9260608701613a9d565b91506080860135613a5d81613768565b5f805f8060808587031215613db5575f80fd5b8435613dc081613768565b966020860135965060408601359560600135945092505050565b60a0810181835f5b60058110156104da578151835260209283019290910190600101613de2565b60ff8116811461377c575f80fd5b5f60c08284031215613e1f575f80fd5b613e276136a9565b90508135613e3481613e01565b81526020820135613e4481613768565b60208201526040820135613e5781613768565b60408201526060820135613e6a8161378f565b6060820152608082013561381081613768565b5f805f6101808486031215613e90575f80fd5b613e9a8585613aae565b9250613ea98560a08601613e0f565b9150610160840135613eba816137a7565b809150509250925092565b5f6101008284031215613ed6575f80fd5b6108f68383613951565b5f805f805f6101c08688031215613ef5575f80fd5b613eff8787613aae565b9450613f0e8760a08801613e0f565b9350613f1d6101608701613a9d565b9250610180860135613f2e816137a7565b91506101a0860135613a5d816137a7565b5f805f805f6101408688031215613f54575f80fd5b8535945060208601359350604086013592506060860135613f7481613768565b9150613c1487608088016137b8565b5f805f805f60808688031215613f97575f80fd5b8535613fa281613768565b94506020860135613fb281613768565b93506040860135613fc281613768565b925060608601356001600160401b0380821115613fdd575f80fd5b818801915088601f830112613ff0575f80fd5b813581811115613ffe575f80fd5b89602082850101111561400f575f80fd5b9699959850939650602001949392505050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52602160045260245ffd5b6001600160a01b038781168252868116602083015260408201869052606082018590528316608082015260c081016001831061409457634e487b7160e01b5f52602160045260245ffd5b8260a0830152979650505050505050565b5f602082840312156140b5575f80fd5b81516108f681613768565b6001600160a01b0392831681529116602082015260400190565b5f602082840312156140ea575f80fd5b5051919050565b5f60208284031215614101575f80fd5b81516108f6816137a7565b6001600160a01b03958616815293909416602084015263ffffffff9182166040840152166060820152901515608082015260a00190565b5f60208284031215614153575f80fd5b81516108f68161378f565b5f6020828403121561416e575f80fd5b81516108f681613e01565b634e487b7160e01b5f52601160045260245ffd5b60ff82811682821603908111156127be576127be614179565b600181815b808511156141e057815f19048211156141c6576141c6614179565b808516156141d357918102915b93841c93908002906141ab565b509250929050565b5f826141f6575060016127be565b8161420257505f6127be565b816001811461421857600281146142225761423e565b60019150506127be565b60ff84111561423357614233614179565b50506001821b6127be565b5060208310610133831016604e8410600b8410161715614261575081810a6127be565b61426b83836141a6565b805f19048211156127ba576127ba614179565b5f6108f660ff8416836141e8565b80820281158282048414176127be576127be614179565b818103818111156127be576127be614179565b5f600182016142c7576142c7614179565b5060010190565b634e487b7160e01b5f52601260045260245ffd5b5f826142fc57634e487b7160e01b5f52601260045260245ffd5b500490565b61ffff82811682821603908082111561431c5761431c614179565b5092915050565b5f8060408385031215614334575f80fd5b505080516020909101519092909150565b5f60808284031215614355575f80fd5b61435d6136f4565b825161436881613768565b808252506020830151602082015260408301516040820152606083015161438e81613d3a565b60608201529392505050565b6001600160e01b031981358181169160048510156143c25780818660040360031b1b83161692505b505092915050565b818382375f9101908152919050565b5f606082840312156143e9575f80fd5b604051606081018181106001600160401b038211171561440b5761440b613695565b80604052508251815260208301516020820152604083015161442c816137a7565b60408201529392505050565b5f815180845260208085019450602084015f5b8381101561446a57815160ff168752958201959082019060010161444b565b509495945050505050565b5f815180845260208085019450602084015f5b8381101561446a57815187529582019590820190600101614488565b5f815180845260208085019450602084015f5b8381101561446a5781516001600160801b0316875295820195908201906001016144b7565b602080825282516001600160a01b03168282015282015160e060408301525f9061450a610100840182614438565b90506040840151601f19808584030160608601526145288383614475565b925060608601519150808584030160808601526145458383614475565b925060808601519150808584030160a08601525061456382826144a4565b91505060a084015161458060c08501826001600160a01b03169052565b5060c084015160e08401528091505092915050565b5f82601f8301126145a4575f80fd5b815160206001600160401b038211156145bf576145bf613695565b8160051b6145ce828201613738565b92835284810182019282810190878511156145e7575f80fd5b83870192505b8483101561461a5782516001600160801b038116811461460b575f80fd5b825291830191908301906145ed565b979650505050505050565b5f8060408385031215614636575f80fd5b8251915060208301516001600160401b03811115614652575f80fd5b61465e85828601614595565b9150509250929050565b5f82515f5b81811015614687576020818601810151858301520161466d565b505f920191825250919050565b808201808211156127be576127be614179565b86815260c060208201525f6146bf60c0830188614438565b82810360408401526146d18188614475565b905082810360608401526146e58187614475565b905082810360808401526146f981866144a4565b9150508260a0830152979650505050505050565b5f6020828403121561471d575f80fd5b81516001600160401b03811115614732575f80fd5b6135cd8482850161459556fe60a060405234801561000f575f80fd5b503360805260805161032561002b5f395f605e01526103255ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063b8dc491b1461002d575b5f80fd5b61004061003b366004610255565b610052565b60405190815260200160405180910390f35b5f336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461009b5760405162bf59a560e51b815260040160405180910390fd5b6040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa1580156100dd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101019190610286565b905080156101145761011483838361011a565b92915050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b17905291515f92839290871691610175919061029d565b5f604051808303815f865af19150503d805f81146101ae576040519150601f19603f3d011682016040523d82523d5f602084013e6101b3565b606091505b5091509150816101c6576101c681610227565b8180156101eb5750805115806101eb5750808060200190518101906101eb91906102c9565b6102205760405162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015260640160405180910390fd5b5050505050565b80515f036102325750565b805160208201fd5b80356001600160a01b0381168114610250575f80fd5b919050565b5f8060408385031215610266575f80fd5b61026f8361023a565b915061027d6020840161023a565b90509250929050565b5f60208284031215610296575f80fd5b5051919050565b5f82515f5b818110156102bc57602081860181015185830152016102a2565b505f920191825250919050565b5f602082840312156102d9575f80fd5b815180151581146102e8575f80fd5b939250505056fea2646970667358221220a9691070dd314b7d0aaec98b9a25b5e3106dce4e744663513e5a6f51a99b5dfa64736f6c63430008180033a26469706673582212205e90a0a8f78de3d3767fb72ddcbc96001604fa2d8f271bd878b13517012cf87764736f6c63430008180033