Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API[{"inputs":[{"components":[{"internalType":"uint256","name":"maxInboxMessagesRead","type":"uint256"},{"internalType":"contract IBridge","name":"bridge","type":"address"},{"internalType":"bytes32","name":"initialWasmModuleRoot","type":"bytes32"}],"internalType":"struct ExecutionContext","name":"execCtx","type":"tuple"},{"components":[{"internalType":"enum MachineStatus","name":"status","type":"uint8"},{"components":[{"components":[{"components":[{"internalType":"enum ValueType","name":"valueType","type":"uint8"},{"internalType":"uint256","name":"contents","type":"uint256"}],"internalType":"struct Value[]","name":"inner","type":"tuple[]"}],"internalType":"struct ValueArray","name":"proved","type":"tuple"},{"internalType":"bytes32","name":"remainingHash","type":"bytes32"}],"internalType":"struct ValueStack","name":"valueStack","type":"tuple"},{"components":[{"internalType":"bytes32","name":"inactiveStackHash","type":"bytes32"},{"internalType":"bytes32","name":"remainingHash","type":"bytes32"}],"internalType":"struct MultiStack","name":"valueMultiStack","type":"tuple"},{"components":[{"components":[{"components":[{"internalType":"enum ValueType","name":"valueType","type":"uint8"},{"internalType":"uint256","name":"contents","type":"uint256"}],"internalType":"struct Value[]","name":"inner","type":"tuple[]"}],"internalType":"struct ValueArray","name":"proved","type":"tuple"},{"internalType":"bytes32","name":"remainingHash","type":"bytes32"}],"internalType":"struct ValueStack","name":"internalStack","type":"tuple"},{"components":[{"components":[{"components":[{"internalType":"enum ValueType","name":"valueType","type":"uint8"},{"internalType":"uint256","name":"contents","type":"uint256"}],"internalType":"struct Value","name":"returnPc","type":"tuple"},{"internalType":"bytes32","name":"localsMerkleRoot","type":"bytes32"},{"internalType":"uint32","name":"callerModule","type":"uint32"},{"internalType":"uint32","name":"callerModuleInternals","type":"uint32"}],"internalType":"struct StackFrame[]","name":"proved","type":"tuple[]"},{"internalType":"bytes32","name":"remainingHash","type":"bytes32"}],"internalType":"struct StackFrameWindow","name":"frameStack","type":"tuple"},{"components":[{"internalType":"bytes32","name":"inactiveStackHash","type":"bytes32"},{"internalType":"bytes32","name":"remainingHash","type":"bytes32"}],"internalType":"struct MultiStack","name":"frameMultiStack","type":"tuple"},{"internalType":"bytes32","name":"globalStateHash","type":"bytes32"},{"internalType":"uint32","name":"moduleIdx","type":"uint32"},{"internalType":"uint32","name":"functionIdx","type":"uint32"},{"internalType":"uint32","name":"functionPc","type":"uint32"},{"internalType":"bytes32","name":"recoveryPc","type":"bytes32"},{"internalType":"bytes32","name":"modulesRoot","type":"bytes32"}],"internalType":"struct Machine","name":"startMach","type":"tuple"},{"components":[{"internalType":"bytes32","name":"globalsMerkleRoot","type":"bytes32"},{"components":[{"internalType":"uint64","name":"size","type":"uint64"},{"internalType":"uint64","name":"maxSize","type":"uint64"},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32"}],"internalType":"struct ModuleMemory","name":"moduleMemory","type":"tuple"},{"internalType":"bytes32","name":"tablesMerkleRoot","type":"bytes32"},{"internalType":"bytes32","name":"functionsMerkleRoot","type":"bytes32"},{"internalType":"bytes32","name":"extraHash","type":"bytes32"},{"internalType":"uint32","name":"internalsOffset","type":"uint32"}],"internalType":"struct Module","name":"startMod","type":"tuple"},{"components":[{"internalType":"uint16","name":"opcode","type":"uint16"},{"internalType":"uint256","name":"argumentData","type":"uint256"}],"internalType":"struct Instruction","name":"inst","type":"tuple"},{"internalType":"bytes","name":"proof","type":"bytes"}],"name":"executeOneStep","outputs":[{"components":[{"internalType":"enum MachineStatus","name":"status","type":"uint8"},{"components":[{"components":[{"components":[{"internalType":"enum ValueType","name":"valueType","type":"uint8"},{"internalType":"uint256","name":"contents","type":"uint256"}],"internalType":"struct Value[]","name":"inner","type":"tuple[]"}],"internalType":"struct ValueArray","name":"proved","type":"tuple"},{"internalType":"bytes32","name":"remainingHash","type":"bytes32"}],"internalType":"struct ValueStack","name":"valueStack","type":"tuple"},{"components":[{"internalType":"bytes32","name":"inactiveStackHash","type":"bytes32"},{"internalType":"bytes32","name":"remainingHash","type":"bytes32"}],"internalType":"struct MultiStack","name":"valueMultiStack","type":"tuple"},{"components":[{"components":[{"components":[{"internalType":"enum ValueType","name":"valueType","type":"uint8"},{"internalType":"uint256","name":"contents","type":"uint256"}],"internalType":"struct Value[]","name":"inner","type":"tuple[]"}],"internalType":"struct ValueArray","name":"proved","type":"tuple"},{"internalType":"bytes32","name":"remainingHash","type":"bytes32"}],"internalType":"struct ValueStack","name":"internalStack","type":"tuple"},{"components":[{"components":[{"components":[{"internalType":"enum ValueType","name":"valueType","type":"uint8"},{"internalType":"uint256","name":"contents","type":"uint256"}],"internalType":"struct Value","name":"returnPc","type":"tuple"},{"internalType":"bytes32","name":"localsMerkleRoot","type":"bytes32"},{"internalType":"uint32","name":"callerModule","type":"uint32"},{"internalType":"uint32","name":"callerModuleInternals","type":"uint32"}],"internalType":"struct StackFrame[]","name":"proved","type":"tuple[]"},{"internalType":"bytes32","name":"remainingHash","type":"bytes32"}],"internalType":"struct StackFrameWindow","name":"frameStack","type":"tuple"},{"components":[{"internalType":"bytes32","name":"inactiveStackHash","type":"bytes32"},{"internalType":"bytes32","name":"remainingHash","type":"bytes32"}],"internalType":"struct MultiStack","name":"frameMultiStack","type":"tuple"},{"internalType":"bytes32","name":"globalStateHash","type":"bytes32"},{"internalType":"uint32","name":"moduleIdx","type":"uint32"},{"internalType":"uint32","name":"functionIdx","type":"uint32"},{"internalType":"uint32","name":"functionPc","type":"uint32"},{"internalType":"bytes32","name":"recoveryPc","type":"bytes32"},{"internalType":"bytes32","name":"modulesRoot","type":"bytes32"}],"internalType":"struct Machine","name":"mach","type":"tuple"},{"components":[{"internalType":"bytes32","name":"globalsMerkleRoot","type":"bytes32"},{"components":[{"internalType":"uint64","name":"size","type":"uint64"},{"internalType":"uint64","name":"maxSize","type":"uint64"},{"internalType":"bytes32","name":"merkleRoot","type":"bytes32"}],"internalType":"struct ModuleMemory","name":"moduleMemory","type":"tuple"},{"internalType":"bytes32","name":"tablesMerkleRoot","type":"bytes32"},{"internalType":"bytes32","name":"functionsMerkleRoot","type":"bytes32"},{"internalType":"bytes32","name":"extraHash","type":"bytes32"},{"internalType":"uint32","name":"internalsOffset","type":"uint32"}],"internalType":"struct Module","name":"mod","type":"tuple"}],"stateMutability":"view","type":"function"}]Contract Creation Code
608060405234801561001057600080fd5b50614240806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a92cb50114610030575b600080fd5b61004361003e366004613500565b61005a565b604051610051929190613730565b60405180910390f35b610062613389565b6040805160c081018252600080825282516060808201855282825260208083018490528286018490528401919091529282018190529181018290526080810182905260a08101919091526100b587613c80565b91506100c636879003870187613dbe565b905060006100d76020870187613e60565b905061346a61801061ffff8316108015906100f8575061801361ffff831611155b1561010657506103126102f3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fe061ffff83160161013a57506104a16102f3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fdf61ffff83160161016e5750610cbe6102f3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fde61ffff8316016101a2575061103e6102f3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fdd61ffff8316016101d6575061104a6102f3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fdc61ffff83160161020a57506111a86102f3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fd061ffff83160161023e575061125a6102f3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fcf61ffff83160161027257506112a16102f3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fce61ffff8316016102a657506112f66102f3565b60405162461bcd60e51b815260206004820152601560248201527f494e56414c49445f4d454d4f52595f4f50434f4445000000000000000000000060448201526064015b60405180910390fd5b6103058a85858a8a8a8763ffffffff16565b5050965096945050505050565b60006103216020850185613e60565b905061032b613474565b6000610338858583611369565b60c08a0151919350915061034b83611445565b146103985760405162461bcd60e51b815260206004820152601060248201527f4241445f474c4f42414c5f53544154450000000000000000000000000000000060448201526064016102ea565b61ffff831661801014806103b1575061ffff8316618011145b156103d3576103ce888884896103c98987818d613e84565b6114ee565b610485565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fee61ffff841601610408576103ce8883611677565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fed61ffff84160161043d576103ce8883611726565b60405162461bcd60e51b815260206004820152601a60248201527f494e56414c49445f474c4f42414c53544154455f4f50434f444500000000000060448201526064016102ea565b61048e82611445565b60c0909801979097525050505050505050565b60006104b86104b3876020015161179d565b6117c2565b63ffffffff16905060006104d26104b3886020015161179d565b63ffffffff1690506104e5602083613ec4565b15158061050c57506020808701515167ffffffffffffffff169061050a908390613eee565b115b80610520575061051d602082613ec4565b15155b15610547578660025b9081600281111561053c5761053c613601565b815250505050610cb6565b6000610554602083613f01565b905060008061056f6040518060200160405280606081525090565b60208a015161058190858a8a8761187f565b90945090925090506060600089898681811061059f5761059f613f15565b919091013560f81c91508590506105b581613f2b565b9550508a602001356000036106f6578060ff166000036106ae573660006105de8b88818f613e84565b915091508582826040516105f3929190613f45565b6040518091039020146106485760405162461bcd60e51b815260206004820152600c60248201527f4241445f505245494d414745000000000000000000000000000000000000000060448201526064016102ea565b60006106558b6020613eee565b9050818111156106625750805b61066e818c8486613e84565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929750610c1695505050505050565b60405162461bcd60e51b815260206004820152601660248201527f554e4b4e4f574e5f505245494d4147455f50524f4f460000000000000000000060448201526064016102ea565b8a602001356001036108065760ff8116156107535760405162461bcd60e51b815260206004820152601660248201527f554e4b4e4f574e5f505245494d4147455f50524f4f460000000000000000000060448201526064016102ea565b3660006107628b88818f613e84565b915091508560028383604051610779929190613f45565b602060405180830381855afa158015610796573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906107b99190613f55565b146106485760405162461bcd60e51b815260206004820152600c60248201527f4241445f505245494d414745000000000000000000000000000000000000000060448201526064016102ea565b8a60200135600203610bce5760ff8116156108635760405162461bcd60e51b815260206004820152601660248201527f554e4b4e4f574e5f505245494d4147455f50524f4f460000000000000000000060448201526064016102ea565b3660006108728b88818f613e84565b909250905085610886602060008486613e84565b61088f91613f6e565b146108dc5760405162461bcd60e51b815260206004820152601460248201527f4b5a475f50524f4f465f57524f4e475f4841534800000000000000000000000060448201526064016102ea565b600080600080600a73ffffffffffffffffffffffffffffffffffffffff16868660405161090a929190613f45565b600060405180830381855afa9150503d8060008114610945576040519150601f19603f3d011682016040523d82523d6000602084013e61094a565b606091505b50915091508161099c5760405162461bcd60e51b815260206004820152601160248201527f494e56414c49445f4b5a475f50524f4f4600000000000000000000000000000060448201526064016102ea565b60008151116109ed5760405162461bcd60e51b815260206004820152601660248201527f4b5a475f505245434f4d50494c455f4d495353494e470000000000000000000060448201526064016102ea565b80806020019051810190610a019190613f8c565b9094509250507f73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff0000000182149050610a785760405162461bcd60e51b815260206004820152601360248201527f554e4b4e4f574e5f424c535f4d4f44554c55530000000000000000000000000060448201526064016102ea565b610a83826020613fb0565b8c1015610bc557600080610a9860208f613f01565b905060015b84811015610ac757600192831b928281169003610abb576001831792505b600191821c911b610a9d565b506000610ad985640100000000613f01565b9050610ae58382613fb0565b90506000610b147f16a2a19edfe81f20d09b681922c813b4b63683508c2280b93829971f439f0d2b8387611928565b905080610b25604060208a8c613e84565b610b2e91613f6e565b14610b7b5760405162461bcd60e51b815260206004820152601160248201527f4b5a475f50524f4f465f57524f4e475f5a00000000000000000000000000000060448201526064016102ea565b610b8960606040898b613e84565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929c50505050505050505b50505050610c16565b60405162461bcd60e51b815260206004820152601560248201527f554e4b4e4f574e5f505245494d4147455f54595045000000000000000000000060448201526064016102ea565b60005b8251811015610c5a57610c468582858481518110610c3957610c39613f15565b016020015160f81c611a76565b945080610c5281613f2b565b915050610c19565b50610c66838786611b03565b60208d81015160409081019290925283518251808401845260008082529083018190528351808501909452835263ffffffff1690820152610cad905b60208f015190611b9d565b50505050505050505b505050505050565b6000610cd06104b3876020015161179d565b63ffffffff1690506000610cea6104b3886020015161179d565b63ffffffff1690506000610d09610d04896020015161179d565b611bad565b67ffffffffffffffff1690506020860135158015610d28575088358110155b15610d50578760025b90816002811115610d4457610d44613601565b81525050505050610cb6565b6020808801515167ffffffffffffffff1690610d6d908490613eee565b1180610d825750610d7f602083613ec4565b15155b15610d8f57876002610d31565b6000610d9c602084613f01565b9050600080610db76040518060200160405280606081525090565b60208b0151610dc990858b8b8761187f565b9094509092509050888884818110610de357610de3613f15565b909101357fff0000000000000000000000000000000000000000000000000000000000000016159050610e585760405162461bcd60e51b815260206004820152601360248201527f554e4b4e4f574e5f494e424f585f50524f4f460000000000000000000000000060448201526064016102ea565b82610e6281613f2b565b935061346a9050600060208c0135610e7e57611c6f9150610ebd565b60018c6020013503610e9457611fcc9150610ebd565b8d60025b90816002811115610eab57610eab613601565b81525050505050505050505050610cb6565b610edd8f888d8d89908092610ed493929190613e84565b8663ffffffff16565b905080610eec578d6002610e98565b505082881015610f3e5760405162461bcd60e51b815260206004820152601160248201527f4241445f4d4553534147455f50524f4f4600000000000000000000000000000060448201526064016102ea565b6000610f4a848a613fc7565b905060005b60208163ffffffff16108015610f73575081610f7163ffffffff83168b613eee565b105b15610fcc57610fb88463ffffffff83168d8d82610f908f8c613eee565b610f9a9190613eee565b818110610fa957610fa9613f15565b919091013560f81c9050611a76565b935080610fc481613fda565b915050610f4f565b610fd7838786611b03565b60208e01516040015261102d61101a82604080518082019091526000808252602082015250604080518082019091526000815263ffffffff909116602082015290565b8f60200151611b9d90919063ffffffff16565b505050505050505050505050505050565b50506001909252505050565b60006040518060400160405280601381526020017f4d6f64756c65206d65726b6c6520747265653a0000000000000000000000000081525090506000866101600151905060006110a06104b3896020015161179d565b63ffffffff1690506110bf8188602001516122b490919063ffffffff16565b6110cb57876002610d31565b6000806110eb6110dc602085613f01565b60208b0151908989600061187f565b50915091506000806110ff8c848b8b6122ea565b9250509150600061111b8360016111169190613eee565b612546565b905080156111465761113b87611132856001613eee565b8760008c612566565b6101608e0152611164565b61115d611154846001613eee565b8390878b612610565b6101608e01525b610cad610ca2611175856001613eee565b604080518082019091526000808252602082015250604080518082019091526000815263ffffffff909116602082015290565b60408051808201909152601381527f4d6f64756c65206d65726b6c6520747265653a0000000000000000000000000060208201526000806111eb888287876122ea565b509150915060006111fb83612546565b9050801561123a578151805161121390600190613fc7565b8151811061122357611223613f15565b60200260200101518961016001818152505061124e565b6112478284600087612610565b6101608a01525b50505050505050505050565b61014085015160001914611287578460025b9081600281111561127f5761127f613601565b905250610cb6565b6112948560a0015161272b565b610cb6856040015161272b565b610140850151600019146112b75784600261126c565b60a0850151516001016112cc5784600261126c565b6112db8560400151838361279f565b60a0850151610cb6906112f18360408187613e84565b61279f565b60a08501515160010161130b5784600261126c565b826020013560000361133a5761014085015160010161132c5784600261126c565b600019610140860152611360565b610140850151600019146113505784600261126c565b61135e856020850135612927565b505b610cb68561299a565b611371613474565b8161137a613499565b611382613499565b60005b600260ff821610156113cd5761139c888886612a1e565b848360ff16600281106113b1576113b1613f15565b60200201919091529350806113c581613ffd565b915050611385565b5060005b600260ff82161015611428576113e8888886612a3a565b838360ff16600281106113fd576113fd613f15565b67ffffffffffffffff909316602093909302019190915293508061142081613ffd565b9150506113d1565b506040805180820190915291825260208201529590945092505050565b80518051602091820151828401518051908401516040517f476c6f62616c2073746174653a0000000000000000000000000000000000000095810195909552602d850193909352604d8401919091527fffffffffffffffff00000000000000000000000000000000000000000000000060c091821b8116606d85015291901b166075820152600090607d015b604051602081830303815290604052805190602001209050919050565b60006115006104b3886020015161179d565b63ffffffff169050600061151a6104b3896020015161179d565b9050600263ffffffff82161061153257876002610529565b602087015161154190836122b4565b61154d57876002610529565b600061155a602084613f01565b90506000806115756040518060200160405280606081525090565b60208b015161158790858a8a8761187f565b909450909250905061801061159f60208b018b613e60565b61ffff16036115e3576115d5848b600001518763ffffffff16600281106115c8576115c8613f15565b6020020151839190611b03565b60208c015160400152611669565b6180116115f360208b018b613e60565b61ffff1603611621578951829063ffffffff87166002811061161757611617613f15565b6020020152611669565b60405162461bcd60e51b815260206004820152601760248201527f4241445f474c4f42414c5f53544154455f4f50434f444500000000000000000060448201526064016102ea565b505050505050505050505050565b60006116896104b3846020015161179d565b9050600263ffffffff8216106116b8578260025b908160028111156116b0576116b0613601565b905250505050565b61172161171683602001518363ffffffff16600281106116da576116da613f15565b6020020151604080518082019091526000808252602082015250604080518082019091526001815267ffffffffffffffff909116602082015290565b602085015190611b9d565b505050565b6000611738610d04846020015161179d565b9050600061174c6104b3856020015161179d565b9050600263ffffffff821610611766575050600290915250565b8183602001518263ffffffff166002811061178357611783613f15565b67ffffffffffffffff909216602092909202015250505050565b604080518082019091526000808252602082015281516117bc90612aa2565b92915050565b602081015160009081835160068111156117de576117de613601565b1461182b5760405162461bcd60e51b815260206004820152600760248201527f4e4f545f4933320000000000000000000000000000000000000000000000000060448201526064016102ea565b64010000000081106117bc5760405162461bcd60e51b815260206004820152600760248201527f4241445f4933320000000000000000000000000000000000000000000000000060448201526064016102ea565b6000806118986040518060200160405280606081525090565b8391506118a6868684612a1e565b90935091506118b6868684612bb3565b9250905060006118c7828986611b03565b90508860400151811461191c5760405162461bcd60e51b815260206004820152600e60248201527f57524f4e475f4d454d5f524f4f5400000000000000000000000000000000000060448201526064016102ea565b50955095509592505050565b60408051602080820181905281830181905260608201526080810185905260a0810184905260c08082018490528251808303909101815260e0909101918290526000918290819060059061197d908590614040565b600060405180830381855afa9150503d80600081146119b8576040519150601f19603f3d011682016040523d82523d6000602084013e6119bd565b606091505b509150915081611a0f5760405162461bcd60e51b815260206004820152600d60248201527f4d4f444558505f4641494c45440000000000000000000000000000000000000060448201526064016102ea565b8051602014611a605760405162461bcd60e51b815260206004820152601360248201527f4d4f444558505f57524f4e475f4c454e4754480000000000000000000000000060448201526064016102ea565b611a698161405c565b93505050505b9392505050565b600060208310611ac85760405162461bcd60e51b815260206004820152601560248201527f4241445f5345545f4c4541465f425954455f494458000000000000000000000060448201526064016102ea565b600083611ad760016020613fc7565b611ae19190613fc7565b611aec906008613fb0565b60ff848116821b911b198616179150509392505050565b6040517f4d656d6f7279206c6561663a00000000000000000000000000000000000000006020820152602c81018290526000908190604c01604051602081830303815290604052805190602001209050611b948585836040518060400160405280601381526020017f4d656d6f7279206d65726b6c6520747265653a00000000000000000000000000815250612610565b95945050505050565b8151611ba99082612c8e565b5050565b6020810151600090600183516006811115611bca57611bca613601565b14611c175760405162461bcd60e51b815260206004820152600760248201527f4e4f545f4936340000000000000000000000000000000000000000000000000060448201526064016102ea565b6801000000000000000081106117bc5760405162461bcd60e51b815260206004820152600760248201527f4241445f4936340000000000000000000000000000000000000000000000000060448201526064016102ea565b60006028821015611cc25760405162461bcd60e51b815260206004820152601260248201527f4241445f534551494e424f585f50524f4f46000000000000000000000000000060448201526064016102ea565b6000611cd084846020612a3a565b508091505060008484604051611ce7929190613f45565b604051908190039020905060008067ffffffffffffffff881615611dbf57611d1560408a0160208b01614080565b73ffffffffffffffffffffffffffffffffffffffff166316bf5579611d3b60018b6140b6565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815267ffffffffffffffff9091166004820152602401602060405180830381865afa158015611d98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dbc9190613f55565b91505b67ffffffffffffffff841615611e8957611ddf60408a0160208b01614080565b73ffffffffffffffffffffffffffffffffffffffff1663d5719dc2611e056001876140b6565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815267ffffffffffffffff9091166004820152602401602060405180830381865afa158015611e62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e869190613f55565b90505b604080516020810184905290810184905260608101829052600090608001604051602081830303815290604052805190602001209050896020016020810190611ed29190614080565b6040517f16bf557900000000000000000000000000000000000000000000000000000000815267ffffffffffffffff8b16600482015273ffffffffffffffffffffffffffffffffffffffff91909116906316bf557990602401602060405180830381865afa158015611f48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f6c9190613f55565b8114611fba5760405162461bcd60e51b815260206004820152601460248201527f4241445f534551494e424f585f4d45535341474500000000000000000000000060448201526064016102ea565b6001955050505050505b949350505050565b6000607182101561201f5760405162461bcd60e51b815260206004820152601160248201527f4241445f44454c415945445f50524f4f4600000000000000000000000000000060448201526064016102ea565b600067ffffffffffffffff8516156120eb576120416040870160208801614080565b73ffffffffffffffffffffffffffffffffffffffff1663d5719dc26120676001886140b6565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815267ffffffffffffffff9091166004820152602401602060405180830381865afa1580156120c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120e89190613f55565b90505b60006120fa8460718188613e84565b604051612108929190613f45565b6040518091039020905060008585600081811061212757612127613f15565b9050013560f81c60f81b9050600061214187876001612d82565b50905060008282612156607160218b8d613e84565b8760405160200161216b9594939291906140de565b60408051601f198184030181528282528051602091820120838201899052838301819052825180850384018152606090940190925282519201919091209091506121bb60408c0160208d01614080565b6040517fd5719dc200000000000000000000000000000000000000000000000000000000815267ffffffffffffffff8c16600482015273ffffffffffffffffffffffffffffffffffffffff919091169063d5719dc290602401602060405180830381865afa158015612231573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122559190613f55565b81146122a35760405162461bcd60e51b815260206004820152601360248201527f4241445f44454c415945445f4d4553534147450000000000000000000000000060448201526064016102ea565b5060019a9950505050505050505050565b815160009067ffffffffffffffff166122ce836020613eee565b11158015611a6f57506122e2602083613ec4565b159392505050565b60006123026040518060200160405280606081525090565b60408051602081019091526060815260408051808201909152601381527f4d6f64756c65206d65726b6c6520747265653a00000000000000000000000000602082015261016088015161239e6040805160c0810182526000808252825160608101845281815260208181018390529381019190915290918201908152600060208201819052604082018190526060820181905260809091015290565b60006123ab89898c612dd7565b9a5091506123ba89898c612edd565b9a5090506123c989898c612bb3565b9a5063ffffffff80831698509096506000906123eb9088908a908690612f3816565b905083811461243c5760405162461bcd60e51b815260206004820152601360248201527f57524f4e475f524f4f545f464f525f4c4541460000000000000000000000000060448201526064016102ea565b50505060006124518660016111169190613eee565b905080156124bd57612464866001613eee565b8551516001901b146124b85760405162461bcd60e51b815260206004820152600a60248201527f57524f4e475f4c4541460000000000000000000000000000000000000000000060448201526064016102ea565b612539565b6124c888888b612bb3565b9950935060006124e66124dc886001613eee565b8690600087612610565b90508281146125375760405162461bcd60e51b815260206004820152601360248201527f57524f4e475f524f4f545f464f525f5a45524f0000000000000000000000000060448201526064016102ea565b505b5050509450945094915050565b600081158015906117bc575061255d600183613fc7565b82161592915050565b600083855b60018111156125d85783828660405160200161258993929190614147565b6040516020818303038152906040528051906020012091508385866040516020016125b693929190614147565b60408051601f198184030181529190528051602090910120945060011c61256b565b8388836040516020016125ed93929190614147565b604051602081830303815290604052805190602001209250505095945050505050565b8160005b8551518110156126dc57846001166000036126785782828760000151838151811061264157612641613f15565b602002602001015160405160200161265b93929190614147565b6040516020818303038152906040528051906020012091506126c3565b828660000151828151811061268f5761268f613f15565b6020026020010151836040516020016126aa93929190614147565b6040516020818303038152906040528051906020012091505b60019490941c93806126d481613f2b565b915050612614565b508315611fc45760405162461bcd60e51b815260206004820152600f60248201527f50524f4f465f544f4f5f53484f5254000000000000000000000000000000000060448201526064016102ea565b80516000191461279957805160208083015160405161277c9392017f636f7468726561643a000000000000000000000000000000000000000000000081526009810192909252602982015260490190565b60408051601f198184030181529190528051602091820120908201525b60009052565b600080806127ae858585612a1e565b935091506127bd858585612a1e565b935090506001820161286e5780156128175760405162461bcd60e51b815260206004820152601460248201527f57524f4e475f434f5448524541445f454d50545900000000000000000000000060448201526064016102ea565b6020860151156128695760405162461bcd60e51b815260206004820152601460248201527f57524f4e475f434f5448524541445f454d50545900000000000000000000000060448201526064016102ea565b61291a565b856020015182826040516020016128b79291907f636f7468726561643a000000000000000000000000000000000000000000000081526009810192909252602982015260490190565b604051602081830303815290604052805190602001201461291a5760405162461bcd60e51b815260206004820152601260248201527f57524f4e475f434f5448524541445f504f50000000000000000000000000000060448201526064016102ea565b6020860152909352505050565b61014082015160009060001914612940575060006117bc565b600060408460e0015163ffffffff16901b9050602084610100015163ffffffff16901b8117905060018385610120015161297a919061416e565b612984919061418b565b63ffffffff161761014084015250600192915050565b60408101515160a0820151516000198114806129b7575060001982145b156129c45782600261169d565b6129d18360800151612f83565b60a08401515260208301516129e590613027565b6040840151526080830151612a009082602082015260609052565b50602091820151808301919091526040805192830190526060825252565b60008181612a2d868684612d82565b9097909650945050505050565b600081815b6008811015612a995760088367ffffffffffffffff16901b9250858583818110612a6b57612a6b613f15565b919091013560f81c93909317925081612a8381613f2b565b9250508080612a9190613f2b565b915050612a3f565b50935093915050565b604080518082019091526000808252602082015281518051612ac690600190613fc7565b81518110612ad657612ad6613f15565b6020026020010151905060006001836000015151612af49190613fc7565b67ffffffffffffffff811115612b0c57612b0c6138c6565b604051908082528060200260200182016040528015612b5157816020015b6040805180820190915260008082526020820152815260200190600190039081612b2a5790505b50905060005b8151811015612bac578351805182908110612b7457612b74613f15565b6020026020010151828281518110612b8e57612b8e613f15565b60200260200101819052508080612ba490613f2b565b915050612b57565b5090915290565b604080516020810190915260608152816000612bd08686846130bd565b92509050600060ff821667ffffffffffffffff811115612bf257612bf26138c6565b604051908082528060200260200182016040528015612c1b578160200160208202803683370190505b50905060005b8260ff168160ff161015612c7257612c3a888886612a1e565b838360ff1681518110612c4f57612c4f613f15565b602002602001018196508281525050508080612c6a90613ffd565b915050612c21565b5060405180602001604052808281525093505050935093915050565b815151600090612c9f906001613eee565b67ffffffffffffffff811115612cb757612cb76138c6565b604051908082528060200260200182016040528015612cfc57816020015b6040805180820190915260008082526020820152815260200190600190039081612cd55790505b50905060005b835151811015612d58578351805182908110612d2057612d20613f15565b6020026020010151828281518110612d3a57612d3a613f15565b60200260200101819052508080612d5090613f2b565b915050612d02565b50818184600001515181518110612d7157612d71613f15565b602090810291909101015290915250565b600081815b6020811015612a9957600883901b9250858583818110612da957612da9613f15565b919091013560f81c93909317925081612dc181613f2b565b9250508080612dcf90613f2b565b915050612d87565b6040805160c081018252600080825282516060808201855282825260208083018490528286018490528401919091529282018190529181018290526080810182905260a081019190915260408051606081018252600080825260208201819052918101829052839190600080600080612e518b8b89612a1e565b97509550612e608b8b896130f3565b97509450612e6f8b8b89612a1e565b97509350612e7e8b8b89612a1e565b97509250612e8d8b8b89612a1e565b97509150612e9c8b8b89612edd565b6040805160c081018252988952602089019790975295870194909452506060850191909152608084015263ffffffff1660a083015290969095509350505050565b600081815b6004811015612a995760088363ffffffff16901b9250858583818110612f0a57612f0a613f15565b919091013560f81c93909317925081612f2281613f2b565b9250508080612f3090613f2b565b915050612ee2565b6000611fc48484612f488561316f565b6040518060400160405280601381526020017f4d6f64756c65206d65726b6c6520747265653a00000000000000000000000000815250612610565b602081015160005b82515181101561302157612fbb83600001518281518110612fae57612fae613f15565b6020026020010151613219565b6040517f537461636b206672616d6520737461636b3a00000000000000000000000000006020820152603281019190915260528101839052607201604051602081830303815290604052805190602001209150808061301990613f2b565b915050612f8b565b50919050565b60208101518151515160005b818110156130b65783516130509061304b90836132b2565b6132ea565b6040517f56616c756520737461636b3a00000000000000000000000000000000000000006020820152602c810191909152604c8101849052606c0160405160208183030381529060405280519060200120925080806130ae90613f2b565b915050613033565b5050919050565b6000818484828181106130d2576130d2613f15565b919091013560f81c92508190506130e881613f2b565b915050935093915050565b60408051606081018252600080825260208201819052918101919091528160008080613120888886612a3a565b9450925061312f888886612a3a565b9450915061313e888886612a1e565b6040805160608101825267ffffffffffffffff96871681529490951660208501529383015250969095509350505050565b600081600001516131838360200151613307565b6040808501516060860151608087015160a088015193516114d1969594906020017f4d6f64756c653a0000000000000000000000000000000000000000000000000081526007810196909652602786019490945260478501929092526067840152608783015260e01b7fffffffff000000000000000000000000000000000000000000000000000000001660a782015260ab0190565b600061322882600001516132ea565b602080840151604080860151606087015191517f537461636b206672616d653a000000000000000000000000000000000000000094810194909452602c840194909452604c8301919091527fffffffff0000000000000000000000000000000000000000000000000000000060e093841b8116606c840152921b90911660708201526074016114d1565b604080518082019091526000808252602082015282518051839081106132da576132da613f15565b6020026020010151905092915050565b6000816000015182602001516040516020016114d19291906141a8565b805160208083015160408085015190517f4d656d6f72793a00000000000000000000000000000000000000000000000000938101939093527fffffffffffffffff00000000000000000000000000000000000000000000000060c094851b811660278501529190931b16602f82015260378101919091526000906057016114d1565b60408051610180810190915280600081526020016133be60408051606080820183529181019182529081526000602082015290565b81526040805180820182526000808252602080830191909152830152016133fc60408051606080820183529181019182529081526000602082015290565b8152602001613421604051806040016040528060608152602001600080191681525090565b815260408051808201825260008082526020808301829052840191909152908201819052606082018190526080820181905260a0820181905260c0820181905260e09091015290565b6134726141f4565b565b6040518060400160405280613487613499565b8152602001613494613499565b905290565b60405180604001604052806002906020820280368337509192915050565b60008083601f8401126134c957600080fd5b50813567ffffffffffffffff8111156134e157600080fd5b6020830191508360208285010111156134f957600080fd5b9250929050565b6000806000806000808688036101e081121561351b57600080fd5b606081121561352957600080fd5b879650606088013567ffffffffffffffff8082111561354757600080fd5b818a0191506101c080838d03121561355e57600080fd5b8298506101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808501121561359257600080fd5b60808b01975060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe80850112156135c857600080fd5b6101808b0196508a01359250808311156135e157600080fd5b50506135ef89828a016134b7565b979a9699509497509295939492505050565b634e487b7160e01b600052602160045260246000fd5b6003811061362757613627613601565b9052565b80516007811061363d5761363d613601565b8252602090810151910152565b805160408084529051602084830181905281516060860181905260009392820191849160808801905b8084101561369a5761368682865161362b565b938201936001939093019290850190613673565b509581015196019590955250919392505050565b8051604080845281518482018190526000926060916020918201918388019190865b828110156137195784516136e585825161362b565b80830151858901528781015163ffffffff90811688870152908701511660808501529381019360a0909301926001016136d0565b509687015197909601969096525093949350505050565b60006101208083526137458184018651613617565b60208501516101c061014081818701526137636102e087018461364a565b925060408801516101606137838189018380518252602090810151910152565b60608a015191507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee080898703016101a08a01526137c0868461364a565b955060808b015192508089870301858a0152506137dd85836136ae565b60a08b015180516101e08b015260208101516102008b0152909550935060c08a015161022089015260e08a015163ffffffff81166102408a015293506101008a015163ffffffff81166102608a015293509489015163ffffffff811661028089015294918901516102a0880152508701516102c0860152509150611a6f9050602083018480518252602081015167ffffffffffffffff80825116602085015280602083015116604085015250604081015160608401525060408101516080830152606081015160a0830152608081015160c083015263ffffffff60a08201511660e08301525050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156138ff576138ff6138c6565b60405290565b6040516020810167ffffffffffffffff811182821017156138ff576138ff6138c6565b6040516080810167ffffffffffffffff811182821017156138ff576138ff6138c6565b604051610180810167ffffffffffffffff811182821017156138ff576138ff6138c6565b60405160c0810167ffffffffffffffff811182821017156138ff576138ff6138c6565b6040516060810167ffffffffffffffff811182821017156138ff576138ff6138c6565b604051601f8201601f1916810167ffffffffffffffff811182821017156139de576139de6138c6565b604052919050565b8035600381106139f557600080fd5b919050565b600067ffffffffffffffff821115613a1457613a146138c6565b5060051b60200190565b600060408284031215613a3057600080fd5b613a386138dc565b9050813560078110613a4957600080fd5b808252506020820135602082015292915050565b60006040808385031215613a7057600080fd5b613a786138dc565b9150823567ffffffffffffffff80821115613a9257600080fd5b81850191506020808388031215613aa857600080fd5b613ab0613905565b833583811115613abf57600080fd5b80850194505087601f850112613ad457600080fd5b83359250613ae9613ae4846139fa565b6139b5565b83815260069390931b84018201928281019089851115613b0857600080fd5b948301945b84861015613b2e57613b1f8a87613a1e565b82529486019490830190613b0d565b8252508552948501359484019490945250909392505050565b600060408284031215613b5957600080fd5b613b616138dc565b9050813581526020820135602082015292915050565b803563ffffffff811681146139f557600080fd5b60006040808385031215613b9e57600080fd5b613ba66138dc565b9150823567ffffffffffffffff811115613bbf57600080fd5b8301601f81018513613bd057600080fd5b80356020613be0613ae4836139fa565b82815260a09283028401820192828201919089851115613bff57600080fd5b948301945b84861015613c685780868b031215613c1c5760008081fd5b613c24613928565b613c2e8b88613a1e565b815287870135858201526060613c45818901613b77565b89830152613c5560808901613b77565b9082015283529485019491830191613c04565b50808752505080860135818601525050505092915050565b60006101c08236031215613c9357600080fd5b613c9b61394b565b613ca4836139e6565b8152602083013567ffffffffffffffff80821115613cc157600080fd5b613ccd36838701613a5d565b6020840152613cdf3660408701613b47565b60408401526080850135915080821115613cf857600080fd5b613d0436838701613a5d565b606084015260a0850135915080821115613d1d57600080fd5b50613d2a36828601613b8b565b608083015250613d3d3660c08501613b47565b60a08201526101008084013560c0830152610120613d5c818601613b77565b60e0840152610140613d6f818701613b77565b838501526101609250613d83838701613b77565b91840191909152610180850135908301526101a090930135928101929092525090565b803567ffffffffffffffff811681146139f557600080fd5b6000818303610100811215613dd257600080fd5b613dda61396f565b833581526060601f1983011215613df057600080fd5b613df8613992565b9150613e0660208501613da6565b8252613e1460408501613da6565b6020830152606084013560408301528160208201526080840135604082015260a0840135606082015260c08401356080820152613e5360e08501613b77565b60a0820152949350505050565b600060208284031215613e7257600080fd5b813561ffff81168114611a6f57600080fd5b60008085851115613e9457600080fd5b83861115613ea157600080fd5b5050820193919092039150565b634e487b7160e01b600052601260045260246000fd5b600082613ed357613ed3613eae565b500690565b634e487b7160e01b600052601160045260246000fd5b808201808211156117bc576117bc613ed8565b600082613f1057613f10613eae565b500490565b634e487b7160e01b600052603260045260246000fd5b60006000198203613f3e57613f3e613ed8565b5060010190565b8183823760009101908152919050565b600060208284031215613f6757600080fd5b5051919050565b803560208310156117bc57600019602084900360031b1b1692915050565b60008060408385031215613f9f57600080fd5b505080516020909101519092909150565b80820281158282048414176117bc576117bc613ed8565b818103818111156117bc576117bc613ed8565b600063ffffffff808316818103613ff357613ff3613ed8565b6001019392505050565b600060ff821660ff810361401357614013613ed8565b60010192915050565b60005b8381101561403757818101518382015260200161401f565b50506000910152565b6000825161405281846020870161401c565b9190910192915050565b805160208083015191908110156130215760001960209190910360031b1b16919050565b60006020828403121561409257600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114611a6f57600080fd5b67ffffffffffffffff8281168282160390808211156140d7576140d7613ed8565b5092915050565b7fff00000000000000000000000000000000000000000000000000000000000000861681527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b1660018201528284601583013760159201918201526035019392505050565b6000845161415981846020890161401c565b91909101928352506020820152604001919050565b63ffffffff8181168382160190808211156140d7576140d7613ed8565b63ffffffff8281168282160390808211156140d7576140d7613ed8565b7f56616c75653a000000000000000000000000000000000000000000000000000081526000600784106141dd576141dd613601565b5060f89290921b6006830152600782015260270190565b634e487b7160e01b600052605160045260246000fdfea2646970667358221220c60e0e85007d88baa11c68780ddac493efc089d5699a786ce9026a731df2185064736f6c63430008110033
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a92cb50114610030575b600080fd5b61004361003e366004613500565b61005a565b604051610051929190613730565b60405180910390f35b610062613389565b6040805160c081018252600080825282516060808201855282825260208083018490528286018490528401919091529282018190529181018290526080810182905260a08101919091526100b587613c80565b91506100c636879003870187613dbe565b905060006100d76020870187613e60565b905061346a61801061ffff8316108015906100f8575061801361ffff831611155b1561010657506103126102f3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fe061ffff83160161013a57506104a16102f3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fdf61ffff83160161016e5750610cbe6102f3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fde61ffff8316016101a2575061103e6102f3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fdd61ffff8316016101d6575061104a6102f3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fdc61ffff83160161020a57506111a86102f3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fd061ffff83160161023e575061125a6102f3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fcf61ffff83160161027257506112a16102f3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fce61ffff8316016102a657506112f66102f3565b60405162461bcd60e51b815260206004820152601560248201527f494e56414c49445f4d454d4f52595f4f50434f4445000000000000000000000060448201526064015b60405180910390fd5b6103058a85858a8a8a8763ffffffff16565b5050965096945050505050565b60006103216020850185613e60565b905061032b613474565b6000610338858583611369565b60c08a0151919350915061034b83611445565b146103985760405162461bcd60e51b815260206004820152601060248201527f4241445f474c4f42414c5f53544154450000000000000000000000000000000060448201526064016102ea565b61ffff831661801014806103b1575061ffff8316618011145b156103d3576103ce888884896103c98987818d613e84565b6114ee565b610485565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fee61ffff841601610408576103ce8883611677565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fed61ffff84160161043d576103ce8883611726565b60405162461bcd60e51b815260206004820152601a60248201527f494e56414c49445f474c4f42414c53544154455f4f50434f444500000000000060448201526064016102ea565b61048e82611445565b60c0909801979097525050505050505050565b60006104b86104b3876020015161179d565b6117c2565b63ffffffff16905060006104d26104b3886020015161179d565b63ffffffff1690506104e5602083613ec4565b15158061050c57506020808701515167ffffffffffffffff169061050a908390613eee565b115b80610520575061051d602082613ec4565b15155b15610547578660025b9081600281111561053c5761053c613601565b815250505050610cb6565b6000610554602083613f01565b905060008061056f6040518060200160405280606081525090565b60208a015161058190858a8a8761187f565b90945090925090506060600089898681811061059f5761059f613f15565b919091013560f81c91508590506105b581613f2b565b9550508a602001356000036106f6578060ff166000036106ae573660006105de8b88818f613e84565b915091508582826040516105f3929190613f45565b6040518091039020146106485760405162461bcd60e51b815260206004820152600c60248201527f4241445f505245494d414745000000000000000000000000000000000000000060448201526064016102ea565b60006106558b6020613eee565b9050818111156106625750805b61066e818c8486613e84565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929750610c1695505050505050565b60405162461bcd60e51b815260206004820152601660248201527f554e4b4e4f574e5f505245494d4147455f50524f4f460000000000000000000060448201526064016102ea565b8a602001356001036108065760ff8116156107535760405162461bcd60e51b815260206004820152601660248201527f554e4b4e4f574e5f505245494d4147455f50524f4f460000000000000000000060448201526064016102ea565b3660006107628b88818f613e84565b915091508560028383604051610779929190613f45565b602060405180830381855afa158015610796573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906107b99190613f55565b146106485760405162461bcd60e51b815260206004820152600c60248201527f4241445f505245494d414745000000000000000000000000000000000000000060448201526064016102ea565b8a60200135600203610bce5760ff8116156108635760405162461bcd60e51b815260206004820152601660248201527f554e4b4e4f574e5f505245494d4147455f50524f4f460000000000000000000060448201526064016102ea565b3660006108728b88818f613e84565b909250905085610886602060008486613e84565b61088f91613f6e565b146108dc5760405162461bcd60e51b815260206004820152601460248201527f4b5a475f50524f4f465f57524f4e475f4841534800000000000000000000000060448201526064016102ea565b600080600080600a73ffffffffffffffffffffffffffffffffffffffff16868660405161090a929190613f45565b600060405180830381855afa9150503d8060008114610945576040519150601f19603f3d011682016040523d82523d6000602084013e61094a565b606091505b50915091508161099c5760405162461bcd60e51b815260206004820152601160248201527f494e56414c49445f4b5a475f50524f4f4600000000000000000000000000000060448201526064016102ea565b60008151116109ed5760405162461bcd60e51b815260206004820152601660248201527f4b5a475f505245434f4d50494c455f4d495353494e470000000000000000000060448201526064016102ea565b80806020019051810190610a019190613f8c565b9094509250507f73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff0000000182149050610a785760405162461bcd60e51b815260206004820152601360248201527f554e4b4e4f574e5f424c535f4d4f44554c55530000000000000000000000000060448201526064016102ea565b610a83826020613fb0565b8c1015610bc557600080610a9860208f613f01565b905060015b84811015610ac757600192831b928281169003610abb576001831792505b600191821c911b610a9d565b506000610ad985640100000000613f01565b9050610ae58382613fb0565b90506000610b147f16a2a19edfe81f20d09b681922c813b4b63683508c2280b93829971f439f0d2b8387611928565b905080610b25604060208a8c613e84565b610b2e91613f6e565b14610b7b5760405162461bcd60e51b815260206004820152601160248201527f4b5a475f50524f4f465f57524f4e475f5a00000000000000000000000000000060448201526064016102ea565b610b8960606040898b613e84565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929c50505050505050505b50505050610c16565b60405162461bcd60e51b815260206004820152601560248201527f554e4b4e4f574e5f505245494d4147455f54595045000000000000000000000060448201526064016102ea565b60005b8251811015610c5a57610c468582858481518110610c3957610c39613f15565b016020015160f81c611a76565b945080610c5281613f2b565b915050610c19565b50610c66838786611b03565b60208d81015160409081019290925283518251808401845260008082529083018190528351808501909452835263ffffffff1690820152610cad905b60208f015190611b9d565b50505050505050505b505050505050565b6000610cd06104b3876020015161179d565b63ffffffff1690506000610cea6104b3886020015161179d565b63ffffffff1690506000610d09610d04896020015161179d565b611bad565b67ffffffffffffffff1690506020860135158015610d28575088358110155b15610d50578760025b90816002811115610d4457610d44613601565b81525050505050610cb6565b6020808801515167ffffffffffffffff1690610d6d908490613eee565b1180610d825750610d7f602083613ec4565b15155b15610d8f57876002610d31565b6000610d9c602084613f01565b9050600080610db76040518060200160405280606081525090565b60208b0151610dc990858b8b8761187f565b9094509092509050888884818110610de357610de3613f15565b909101357fff0000000000000000000000000000000000000000000000000000000000000016159050610e585760405162461bcd60e51b815260206004820152601360248201527f554e4b4e4f574e5f494e424f585f50524f4f460000000000000000000000000060448201526064016102ea565b82610e6281613f2b565b935061346a9050600060208c0135610e7e57611c6f9150610ebd565b60018c6020013503610e9457611fcc9150610ebd565b8d60025b90816002811115610eab57610eab613601565b81525050505050505050505050610cb6565b610edd8f888d8d89908092610ed493929190613e84565b8663ffffffff16565b905080610eec578d6002610e98565b505082881015610f3e5760405162461bcd60e51b815260206004820152601160248201527f4241445f4d4553534147455f50524f4f4600000000000000000000000000000060448201526064016102ea565b6000610f4a848a613fc7565b905060005b60208163ffffffff16108015610f73575081610f7163ffffffff83168b613eee565b105b15610fcc57610fb88463ffffffff83168d8d82610f908f8c613eee565b610f9a9190613eee565b818110610fa957610fa9613f15565b919091013560f81c9050611a76565b935080610fc481613fda565b915050610f4f565b610fd7838786611b03565b60208e01516040015261102d61101a82604080518082019091526000808252602082015250604080518082019091526000815263ffffffff909116602082015290565b8f60200151611b9d90919063ffffffff16565b505050505050505050505050505050565b50506001909252505050565b60006040518060400160405280601381526020017f4d6f64756c65206d65726b6c6520747265653a0000000000000000000000000081525090506000866101600151905060006110a06104b3896020015161179d565b63ffffffff1690506110bf8188602001516122b490919063ffffffff16565b6110cb57876002610d31565b6000806110eb6110dc602085613f01565b60208b0151908989600061187f565b50915091506000806110ff8c848b8b6122ea565b9250509150600061111b8360016111169190613eee565b612546565b905080156111465761113b87611132856001613eee565b8760008c612566565b6101608e0152611164565b61115d611154846001613eee565b8390878b612610565b6101608e01525b610cad610ca2611175856001613eee565b604080518082019091526000808252602082015250604080518082019091526000815263ffffffff909116602082015290565b60408051808201909152601381527f4d6f64756c65206d65726b6c6520747265653a0000000000000000000000000060208201526000806111eb888287876122ea565b509150915060006111fb83612546565b9050801561123a578151805161121390600190613fc7565b8151811061122357611223613f15565b60200260200101518961016001818152505061124e565b6112478284600087612610565b6101608a01525b50505050505050505050565b61014085015160001914611287578460025b9081600281111561127f5761127f613601565b905250610cb6565b6112948560a0015161272b565b610cb6856040015161272b565b610140850151600019146112b75784600261126c565b60a0850151516001016112cc5784600261126c565b6112db8560400151838361279f565b60a0850151610cb6906112f18360408187613e84565b61279f565b60a08501515160010161130b5784600261126c565b826020013560000361133a5761014085015160010161132c5784600261126c565b600019610140860152611360565b610140850151600019146113505784600261126c565b61135e856020850135612927565b505b610cb68561299a565b611371613474565b8161137a613499565b611382613499565b60005b600260ff821610156113cd5761139c888886612a1e565b848360ff16600281106113b1576113b1613f15565b60200201919091529350806113c581613ffd565b915050611385565b5060005b600260ff82161015611428576113e8888886612a3a565b838360ff16600281106113fd576113fd613f15565b67ffffffffffffffff909316602093909302019190915293508061142081613ffd565b9150506113d1565b506040805180820190915291825260208201529590945092505050565b80518051602091820151828401518051908401516040517f476c6f62616c2073746174653a0000000000000000000000000000000000000095810195909552602d850193909352604d8401919091527fffffffffffffffff00000000000000000000000000000000000000000000000060c091821b8116606d85015291901b166075820152600090607d015b604051602081830303815290604052805190602001209050919050565b60006115006104b3886020015161179d565b63ffffffff169050600061151a6104b3896020015161179d565b9050600263ffffffff82161061153257876002610529565b602087015161154190836122b4565b61154d57876002610529565b600061155a602084613f01565b90506000806115756040518060200160405280606081525090565b60208b015161158790858a8a8761187f565b909450909250905061801061159f60208b018b613e60565b61ffff16036115e3576115d5848b600001518763ffffffff16600281106115c8576115c8613f15565b6020020151839190611b03565b60208c015160400152611669565b6180116115f360208b018b613e60565b61ffff1603611621578951829063ffffffff87166002811061161757611617613f15565b6020020152611669565b60405162461bcd60e51b815260206004820152601760248201527f4241445f474c4f42414c5f53544154455f4f50434f444500000000000000000060448201526064016102ea565b505050505050505050505050565b60006116896104b3846020015161179d565b9050600263ffffffff8216106116b8578260025b908160028111156116b0576116b0613601565b905250505050565b61172161171683602001518363ffffffff16600281106116da576116da613f15565b6020020151604080518082019091526000808252602082015250604080518082019091526001815267ffffffffffffffff909116602082015290565b602085015190611b9d565b505050565b6000611738610d04846020015161179d565b9050600061174c6104b3856020015161179d565b9050600263ffffffff821610611766575050600290915250565b8183602001518263ffffffff166002811061178357611783613f15565b67ffffffffffffffff909216602092909202015250505050565b604080518082019091526000808252602082015281516117bc90612aa2565b92915050565b602081015160009081835160068111156117de576117de613601565b1461182b5760405162461bcd60e51b815260206004820152600760248201527f4e4f545f4933320000000000000000000000000000000000000000000000000060448201526064016102ea565b64010000000081106117bc5760405162461bcd60e51b815260206004820152600760248201527f4241445f4933320000000000000000000000000000000000000000000000000060448201526064016102ea565b6000806118986040518060200160405280606081525090565b8391506118a6868684612a1e565b90935091506118b6868684612bb3565b9250905060006118c7828986611b03565b90508860400151811461191c5760405162461bcd60e51b815260206004820152600e60248201527f57524f4e475f4d454d5f524f4f5400000000000000000000000000000000000060448201526064016102ea565b50955095509592505050565b60408051602080820181905281830181905260608201526080810185905260a0810184905260c08082018490528251808303909101815260e0909101918290526000918290819060059061197d908590614040565b600060405180830381855afa9150503d80600081146119b8576040519150601f19603f3d011682016040523d82523d6000602084013e6119bd565b606091505b509150915081611a0f5760405162461bcd60e51b815260206004820152600d60248201527f4d4f444558505f4641494c45440000000000000000000000000000000000000060448201526064016102ea565b8051602014611a605760405162461bcd60e51b815260206004820152601360248201527f4d4f444558505f57524f4e475f4c454e4754480000000000000000000000000060448201526064016102ea565b611a698161405c565b93505050505b9392505050565b600060208310611ac85760405162461bcd60e51b815260206004820152601560248201527f4241445f5345545f4c4541465f425954455f494458000000000000000000000060448201526064016102ea565b600083611ad760016020613fc7565b611ae19190613fc7565b611aec906008613fb0565b60ff848116821b911b198616179150509392505050565b6040517f4d656d6f7279206c6561663a00000000000000000000000000000000000000006020820152602c81018290526000908190604c01604051602081830303815290604052805190602001209050611b948585836040518060400160405280601381526020017f4d656d6f7279206d65726b6c6520747265653a00000000000000000000000000815250612610565b95945050505050565b8151611ba99082612c8e565b5050565b6020810151600090600183516006811115611bca57611bca613601565b14611c175760405162461bcd60e51b815260206004820152600760248201527f4e4f545f4936340000000000000000000000000000000000000000000000000060448201526064016102ea565b6801000000000000000081106117bc5760405162461bcd60e51b815260206004820152600760248201527f4241445f4936340000000000000000000000000000000000000000000000000060448201526064016102ea565b60006028821015611cc25760405162461bcd60e51b815260206004820152601260248201527f4241445f534551494e424f585f50524f4f46000000000000000000000000000060448201526064016102ea565b6000611cd084846020612a3a565b508091505060008484604051611ce7929190613f45565b604051908190039020905060008067ffffffffffffffff881615611dbf57611d1560408a0160208b01614080565b73ffffffffffffffffffffffffffffffffffffffff166316bf5579611d3b60018b6140b6565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815267ffffffffffffffff9091166004820152602401602060405180830381865afa158015611d98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dbc9190613f55565b91505b67ffffffffffffffff841615611e8957611ddf60408a0160208b01614080565b73ffffffffffffffffffffffffffffffffffffffff1663d5719dc2611e056001876140b6565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815267ffffffffffffffff9091166004820152602401602060405180830381865afa158015611e62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e869190613f55565b90505b604080516020810184905290810184905260608101829052600090608001604051602081830303815290604052805190602001209050896020016020810190611ed29190614080565b6040517f16bf557900000000000000000000000000000000000000000000000000000000815267ffffffffffffffff8b16600482015273ffffffffffffffffffffffffffffffffffffffff91909116906316bf557990602401602060405180830381865afa158015611f48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f6c9190613f55565b8114611fba5760405162461bcd60e51b815260206004820152601460248201527f4241445f534551494e424f585f4d45535341474500000000000000000000000060448201526064016102ea565b6001955050505050505b949350505050565b6000607182101561201f5760405162461bcd60e51b815260206004820152601160248201527f4241445f44454c415945445f50524f4f4600000000000000000000000000000060448201526064016102ea565b600067ffffffffffffffff8516156120eb576120416040870160208801614080565b73ffffffffffffffffffffffffffffffffffffffff1663d5719dc26120676001886140b6565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815267ffffffffffffffff9091166004820152602401602060405180830381865afa1580156120c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120e89190613f55565b90505b60006120fa8460718188613e84565b604051612108929190613f45565b6040518091039020905060008585600081811061212757612127613f15565b9050013560f81c60f81b9050600061214187876001612d82565b50905060008282612156607160218b8d613e84565b8760405160200161216b9594939291906140de565b60408051601f198184030181528282528051602091820120838201899052838301819052825180850384018152606090940190925282519201919091209091506121bb60408c0160208d01614080565b6040517fd5719dc200000000000000000000000000000000000000000000000000000000815267ffffffffffffffff8c16600482015273ffffffffffffffffffffffffffffffffffffffff919091169063d5719dc290602401602060405180830381865afa158015612231573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122559190613f55565b81146122a35760405162461bcd60e51b815260206004820152601360248201527f4241445f44454c415945445f4d4553534147450000000000000000000000000060448201526064016102ea565b5060019a9950505050505050505050565b815160009067ffffffffffffffff166122ce836020613eee565b11158015611a6f57506122e2602083613ec4565b159392505050565b60006123026040518060200160405280606081525090565b60408051602081019091526060815260408051808201909152601381527f4d6f64756c65206d65726b6c6520747265653a00000000000000000000000000602082015261016088015161239e6040805160c0810182526000808252825160608101845281815260208181018390529381019190915290918201908152600060208201819052604082018190526060820181905260809091015290565b60006123ab89898c612dd7565b9a5091506123ba89898c612edd565b9a5090506123c989898c612bb3565b9a5063ffffffff80831698509096506000906123eb9088908a908690612f3816565b905083811461243c5760405162461bcd60e51b815260206004820152601360248201527f57524f4e475f524f4f545f464f525f4c4541460000000000000000000000000060448201526064016102ea565b50505060006124518660016111169190613eee565b905080156124bd57612464866001613eee565b8551516001901b146124b85760405162461bcd60e51b815260206004820152600a60248201527f57524f4e475f4c4541460000000000000000000000000000000000000000000060448201526064016102ea565b612539565b6124c888888b612bb3565b9950935060006124e66124dc886001613eee565b8690600087612610565b90508281146125375760405162461bcd60e51b815260206004820152601360248201527f57524f4e475f524f4f545f464f525f5a45524f0000000000000000000000000060448201526064016102ea565b505b5050509450945094915050565b600081158015906117bc575061255d600183613fc7565b82161592915050565b600083855b60018111156125d85783828660405160200161258993929190614147565b6040516020818303038152906040528051906020012091508385866040516020016125b693929190614147565b60408051601f198184030181529190528051602090910120945060011c61256b565b8388836040516020016125ed93929190614147565b604051602081830303815290604052805190602001209250505095945050505050565b8160005b8551518110156126dc57846001166000036126785782828760000151838151811061264157612641613f15565b602002602001015160405160200161265b93929190614147565b6040516020818303038152906040528051906020012091506126c3565b828660000151828151811061268f5761268f613f15565b6020026020010151836040516020016126aa93929190614147565b6040516020818303038152906040528051906020012091505b60019490941c93806126d481613f2b565b915050612614565b508315611fc45760405162461bcd60e51b815260206004820152600f60248201527f50524f4f465f544f4f5f53484f5254000000000000000000000000000000000060448201526064016102ea565b80516000191461279957805160208083015160405161277c9392017f636f7468726561643a000000000000000000000000000000000000000000000081526009810192909252602982015260490190565b60408051601f198184030181529190528051602091820120908201525b60009052565b600080806127ae858585612a1e565b935091506127bd858585612a1e565b935090506001820161286e5780156128175760405162461bcd60e51b815260206004820152601460248201527f57524f4e475f434f5448524541445f454d50545900000000000000000000000060448201526064016102ea565b6020860151156128695760405162461bcd60e51b815260206004820152601460248201527f57524f4e475f434f5448524541445f454d50545900000000000000000000000060448201526064016102ea565b61291a565b856020015182826040516020016128b79291907f636f7468726561643a000000000000000000000000000000000000000000000081526009810192909252602982015260490190565b604051602081830303815290604052805190602001201461291a5760405162461bcd60e51b815260206004820152601260248201527f57524f4e475f434f5448524541445f504f50000000000000000000000000000060448201526064016102ea565b6020860152909352505050565b61014082015160009060001914612940575060006117bc565b600060408460e0015163ffffffff16901b9050602084610100015163ffffffff16901b8117905060018385610120015161297a919061416e565b612984919061418b565b63ffffffff161761014084015250600192915050565b60408101515160a0820151516000198114806129b7575060001982145b156129c45782600261169d565b6129d18360800151612f83565b60a08401515260208301516129e590613027565b6040840151526080830151612a009082602082015260609052565b50602091820151808301919091526040805192830190526060825252565b60008181612a2d868684612d82565b9097909650945050505050565b600081815b6008811015612a995760088367ffffffffffffffff16901b9250858583818110612a6b57612a6b613f15565b919091013560f81c93909317925081612a8381613f2b565b9250508080612a9190613f2b565b915050612a3f565b50935093915050565b604080518082019091526000808252602082015281518051612ac690600190613fc7565b81518110612ad657612ad6613f15565b6020026020010151905060006001836000015151612af49190613fc7565b67ffffffffffffffff811115612b0c57612b0c6138c6565b604051908082528060200260200182016040528015612b5157816020015b6040805180820190915260008082526020820152815260200190600190039081612b2a5790505b50905060005b8151811015612bac578351805182908110612b7457612b74613f15565b6020026020010151828281518110612b8e57612b8e613f15565b60200260200101819052508080612ba490613f2b565b915050612b57565b5090915290565b604080516020810190915260608152816000612bd08686846130bd565b92509050600060ff821667ffffffffffffffff811115612bf257612bf26138c6565b604051908082528060200260200182016040528015612c1b578160200160208202803683370190505b50905060005b8260ff168160ff161015612c7257612c3a888886612a1e565b838360ff1681518110612c4f57612c4f613f15565b602002602001018196508281525050508080612c6a90613ffd565b915050612c21565b5060405180602001604052808281525093505050935093915050565b815151600090612c9f906001613eee565b67ffffffffffffffff811115612cb757612cb76138c6565b604051908082528060200260200182016040528015612cfc57816020015b6040805180820190915260008082526020820152815260200190600190039081612cd55790505b50905060005b835151811015612d58578351805182908110612d2057612d20613f15565b6020026020010151828281518110612d3a57612d3a613f15565b60200260200101819052508080612d5090613f2b565b915050612d02565b50818184600001515181518110612d7157612d71613f15565b602090810291909101015290915250565b600081815b6020811015612a9957600883901b9250858583818110612da957612da9613f15565b919091013560f81c93909317925081612dc181613f2b565b9250508080612dcf90613f2b565b915050612d87565b6040805160c081018252600080825282516060808201855282825260208083018490528286018490528401919091529282018190529181018290526080810182905260a081019190915260408051606081018252600080825260208201819052918101829052839190600080600080612e518b8b89612a1e565b97509550612e608b8b896130f3565b97509450612e6f8b8b89612a1e565b97509350612e7e8b8b89612a1e565b97509250612e8d8b8b89612a1e565b97509150612e9c8b8b89612edd565b6040805160c081018252988952602089019790975295870194909452506060850191909152608084015263ffffffff1660a083015290969095509350505050565b600081815b6004811015612a995760088363ffffffff16901b9250858583818110612f0a57612f0a613f15565b919091013560f81c93909317925081612f2281613f2b565b9250508080612f3090613f2b565b915050612ee2565b6000611fc48484612f488561316f565b6040518060400160405280601381526020017f4d6f64756c65206d65726b6c6520747265653a00000000000000000000000000815250612610565b602081015160005b82515181101561302157612fbb83600001518281518110612fae57612fae613f15565b6020026020010151613219565b6040517f537461636b206672616d6520737461636b3a00000000000000000000000000006020820152603281019190915260528101839052607201604051602081830303815290604052805190602001209150808061301990613f2b565b915050612f8b565b50919050565b60208101518151515160005b818110156130b65783516130509061304b90836132b2565b6132ea565b6040517f56616c756520737461636b3a00000000000000000000000000000000000000006020820152602c810191909152604c8101849052606c0160405160208183030381529060405280519060200120925080806130ae90613f2b565b915050613033565b5050919050565b6000818484828181106130d2576130d2613f15565b919091013560f81c92508190506130e881613f2b565b915050935093915050565b60408051606081018252600080825260208201819052918101919091528160008080613120888886612a3a565b9450925061312f888886612a3a565b9450915061313e888886612a1e565b6040805160608101825267ffffffffffffffff96871681529490951660208501529383015250969095509350505050565b600081600001516131838360200151613307565b6040808501516060860151608087015160a088015193516114d1969594906020017f4d6f64756c653a0000000000000000000000000000000000000000000000000081526007810196909652602786019490945260478501929092526067840152608783015260e01b7fffffffff000000000000000000000000000000000000000000000000000000001660a782015260ab0190565b600061322882600001516132ea565b602080840151604080860151606087015191517f537461636b206672616d653a000000000000000000000000000000000000000094810194909452602c840194909452604c8301919091527fffffffff0000000000000000000000000000000000000000000000000000000060e093841b8116606c840152921b90911660708201526074016114d1565b604080518082019091526000808252602082015282518051839081106132da576132da613f15565b6020026020010151905092915050565b6000816000015182602001516040516020016114d19291906141a8565b805160208083015160408085015190517f4d656d6f72793a00000000000000000000000000000000000000000000000000938101939093527fffffffffffffffff00000000000000000000000000000000000000000000000060c094851b811660278501529190931b16602f82015260378101919091526000906057016114d1565b60408051610180810190915280600081526020016133be60408051606080820183529181019182529081526000602082015290565b81526040805180820182526000808252602080830191909152830152016133fc60408051606080820183529181019182529081526000602082015290565b8152602001613421604051806040016040528060608152602001600080191681525090565b815260408051808201825260008082526020808301829052840191909152908201819052606082018190526080820181905260a0820181905260c0820181905260e09091015290565b6134726141f4565b565b6040518060400160405280613487613499565b8152602001613494613499565b905290565b60405180604001604052806002906020820280368337509192915050565b60008083601f8401126134c957600080fd5b50813567ffffffffffffffff8111156134e157600080fd5b6020830191508360208285010111156134f957600080fd5b9250929050565b6000806000806000808688036101e081121561351b57600080fd5b606081121561352957600080fd5b879650606088013567ffffffffffffffff8082111561354757600080fd5b818a0191506101c080838d03121561355e57600080fd5b8298506101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808501121561359257600080fd5b60808b01975060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe80850112156135c857600080fd5b6101808b0196508a01359250808311156135e157600080fd5b50506135ef89828a016134b7565b979a9699509497509295939492505050565b634e487b7160e01b600052602160045260246000fd5b6003811061362757613627613601565b9052565b80516007811061363d5761363d613601565b8252602090810151910152565b805160408084529051602084830181905281516060860181905260009392820191849160808801905b8084101561369a5761368682865161362b565b938201936001939093019290850190613673565b509581015196019590955250919392505050565b8051604080845281518482018190526000926060916020918201918388019190865b828110156137195784516136e585825161362b565b80830151858901528781015163ffffffff90811688870152908701511660808501529381019360a0909301926001016136d0565b509687015197909601969096525093949350505050565b60006101208083526137458184018651613617565b60208501516101c061014081818701526137636102e087018461364a565b925060408801516101606137838189018380518252602090810151910152565b60608a015191507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee080898703016101a08a01526137c0868461364a565b955060808b015192508089870301858a0152506137dd85836136ae565b60a08b015180516101e08b015260208101516102008b0152909550935060c08a015161022089015260e08a015163ffffffff81166102408a015293506101008a015163ffffffff81166102608a015293509489015163ffffffff811661028089015294918901516102a0880152508701516102c0860152509150611a6f9050602083018480518252602081015167ffffffffffffffff80825116602085015280602083015116604085015250604081015160608401525060408101516080830152606081015160a0830152608081015160c083015263ffffffff60a08201511660e08301525050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156138ff576138ff6138c6565b60405290565b6040516020810167ffffffffffffffff811182821017156138ff576138ff6138c6565b6040516080810167ffffffffffffffff811182821017156138ff576138ff6138c6565b604051610180810167ffffffffffffffff811182821017156138ff576138ff6138c6565b60405160c0810167ffffffffffffffff811182821017156138ff576138ff6138c6565b6040516060810167ffffffffffffffff811182821017156138ff576138ff6138c6565b604051601f8201601f1916810167ffffffffffffffff811182821017156139de576139de6138c6565b604052919050565b8035600381106139f557600080fd5b919050565b600067ffffffffffffffff821115613a1457613a146138c6565b5060051b60200190565b600060408284031215613a3057600080fd5b613a386138dc565b9050813560078110613a4957600080fd5b808252506020820135602082015292915050565b60006040808385031215613a7057600080fd5b613a786138dc565b9150823567ffffffffffffffff80821115613a9257600080fd5b81850191506020808388031215613aa857600080fd5b613ab0613905565b833583811115613abf57600080fd5b80850194505087601f850112613ad457600080fd5b83359250613ae9613ae4846139fa565b6139b5565b83815260069390931b84018201928281019089851115613b0857600080fd5b948301945b84861015613b2e57613b1f8a87613a1e565b82529486019490830190613b0d565b8252508552948501359484019490945250909392505050565b600060408284031215613b5957600080fd5b613b616138dc565b9050813581526020820135602082015292915050565b803563ffffffff811681146139f557600080fd5b60006040808385031215613b9e57600080fd5b613ba66138dc565b9150823567ffffffffffffffff811115613bbf57600080fd5b8301601f81018513613bd057600080fd5b80356020613be0613ae4836139fa565b82815260a09283028401820192828201919089851115613bff57600080fd5b948301945b84861015613c685780868b031215613c1c5760008081fd5b613c24613928565b613c2e8b88613a1e565b815287870135858201526060613c45818901613b77565b89830152613c5560808901613b77565b9082015283529485019491830191613c04565b50808752505080860135818601525050505092915050565b60006101c08236031215613c9357600080fd5b613c9b61394b565b613ca4836139e6565b8152602083013567ffffffffffffffff80821115613cc157600080fd5b613ccd36838701613a5d565b6020840152613cdf3660408701613b47565b60408401526080850135915080821115613cf857600080fd5b613d0436838701613a5d565b606084015260a0850135915080821115613d1d57600080fd5b50613d2a36828601613b8b565b608083015250613d3d3660c08501613b47565b60a08201526101008084013560c0830152610120613d5c818601613b77565b60e0840152610140613d6f818701613b77565b838501526101609250613d83838701613b77565b91840191909152610180850135908301526101a090930135928101929092525090565b803567ffffffffffffffff811681146139f557600080fd5b6000818303610100811215613dd257600080fd5b613dda61396f565b833581526060601f1983011215613df057600080fd5b613df8613992565b9150613e0660208501613da6565b8252613e1460408501613da6565b6020830152606084013560408301528160208201526080840135604082015260a0840135606082015260c08401356080820152613e5360e08501613b77565b60a0820152949350505050565b600060208284031215613e7257600080fd5b813561ffff81168114611a6f57600080fd5b60008085851115613e9457600080fd5b83861115613ea157600080fd5b5050820193919092039150565b634e487b7160e01b600052601260045260246000fd5b600082613ed357613ed3613eae565b500690565b634e487b7160e01b600052601160045260246000fd5b808201808211156117bc576117bc613ed8565b600082613f1057613f10613eae565b500490565b634e487b7160e01b600052603260045260246000fd5b60006000198203613f3e57613f3e613ed8565b5060010190565b8183823760009101908152919050565b600060208284031215613f6757600080fd5b5051919050565b803560208310156117bc57600019602084900360031b1b1692915050565b60008060408385031215613f9f57600080fd5b505080516020909101519092909150565b80820281158282048414176117bc576117bc613ed8565b818103818111156117bc576117bc613ed8565b600063ffffffff808316818103613ff357613ff3613ed8565b6001019392505050565b600060ff821660ff810361401357614013613ed8565b60010192915050565b60005b8381101561403757818101518382015260200161401f565b50506000910152565b6000825161405281846020870161401c565b9190910192915050565b805160208083015191908110156130215760001960209190910360031b1b16919050565b60006020828403121561409257600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114611a6f57600080fd5b67ffffffffffffffff8281168282160390808211156140d7576140d7613ed8565b5092915050565b7fff00000000000000000000000000000000000000000000000000000000000000861681527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b1660018201528284601583013760159201918201526035019392505050565b6000845161415981846020890161401c565b91909101928352506020820152604001919050565b63ffffffff8181168382160190808211156140d7576140d7613ed8565b63ffffffff8281168282160390808211156140d7576140d7613ed8565b7f56616c75653a000000000000000000000000000000000000000000000000000081526000600784106141dd576141dd613601565b5060f89290921b6006830152600782015260270190565b634e487b7160e01b600052605160045260246000fdfea2646970667358221220c60e0e85007d88baa11c68780ddac493efc089d5699a786ce9026a731df2185064736f6c63430008110033
🤖 Code Reader Beta
Generate instant answers for your smart contract questions using Al Models. Read more.
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 32 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.


