// This file was autogenerated by Hardhat, do not edit it.
// prettier-ignore
// tslint:disable
// eslint-disable
// biome-ignore format: see above

export interface WitOracleTrustableExperimental$Type {
  readonly _format: "hh3-artifact-1";
  readonly contractName: "WitOracleTrustableExperimental";
  readonly sourceName: "contracts/core/trustable/WitOracleTrustableExperimental.sol";
  readonly abi: [{"inputs":[{"components":[{"internalType":"uint32","name":"reportResultGasBase","type":"uint32"},{"internalType":"uint32","name":"reportResultWithCallbackGasBase","type":"uint32"},{"internalType":"uint32","name":"reportResultWithCallbackRevertGasBase","type":"uint32"},{"internalType":"uint32","name":"sstoreFromZeroGas","type":"uint32"}],"internalType":"struct WitOracleBaseQueriable.EvmImmutables","name":"_immutables","type":"tuple"},{"internalType":"contract WitOracleRadonRegistry","name":"_registry","type":"address"},{"internalType":"bytes32","name":"_versionTag","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"InvalidDataReport","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"queryId","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"BatchReportError","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Received","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address[]","name":"reporters","type":"address[]"}],"name":"ReportersSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address[]","name":"reporters","type":"address[]"}],"name":"ReportersUnset","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"baseAddr","type":"address"},{"indexed":true,"internalType":"bytes32","name":"baseCodehash","type":"bytes32"},{"indexed":false,"internalType":"string","name":"versionTag","type":"string"}],"name":"Upgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"evmRequester","type":"address"},{"indexed":false,"internalType":"uint256","name":"evmGasPrice","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"evmReward","type":"uint256"},{"indexed":false,"internalType":"Witnet.QueryId","name":"queryId","type":"uint64"},{"indexed":false,"internalType":"Witnet.RadonHash","name":"radonHash","type":"bytes32"},{"components":[{"internalType":"uint16","name":"witResultMaxSize","type":"uint16"},{"internalType":"uint16","name":"witCommitteeSize","type":"uint16"},{"internalType":"uint64","name":"witUnitaryReward","type":"uint64"}],"indexed":false,"internalType":"struct Witnet.QuerySLA","name":"radonParams","type":"tuple"}],"name":"WitOracleQuery","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"Witnet.QueryId","name":"queryId","type":"uint64"},{"indexed":false,"internalType":"uint256","name":"evmGasPrice","type":"uint256"}],"name":"WitOracleQueryReport","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"Witnet.QueryId","name":"queryId","type":"uint64"},{"indexed":false,"internalType":"address","name":"evmConsumer","type":"address"},{"indexed":false,"internalType":"uint256","name":"evmGasPrice","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"evmCallbackGas","type":"uint256"}],"name":"WitOracleQueryReportDelivery","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"Witnet.QueryId","name":"queryId","type":"uint64"},{"indexed":false,"internalType":"address","name":"evmDisputer","type":"address"}],"name":"WitOracleQueryReportDispute","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"Witnet.QueryId","name":"queryId","type":"uint64"},{"indexed":false,"internalType":"address","name":"evmSender","type":"address"},{"indexed":false,"internalType":"uint256","name":"evmGasPrice","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"evmReward","type":"uint256"}],"name":"WitOracleQueryUpgrade","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"evmOrigin","type":"address"},{"indexed":true,"internalType":"address","name":"evmConsumer","type":"address"},{"indexed":false,"internalType":"address","name":"evmReporter","type":"address"},{"indexed":false,"internalType":"Witnet.TransactionHash","name":"witDrTxHash","type":"bytes32"},{"indexed":false,"internalType":"Witnet.RadonHash","name":"queryRadHash","type":"bytes32"},{"components":[{"internalType":"uint16","name":"witResultMaxSize","type":"uint16"},{"internalType":"uint16","name":"witCommitteeSize","type":"uint16"},{"internalType":"uint64","name":"witUnitaryReward","type":"uint64"}],"indexed":false,"internalType":"struct Witnet.QuerySLA","name":"queryParams","type":"tuple"},{"indexed":false,"internalType":"Witnet.Timestamp","name":"resultTimestamp","type":"uint64"},{"indexed":false,"internalType":"bytes","name":"resultCborBytes","type":"bytes"}],"name":"WitOracleReport","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"Witnet.QueryId","name":"queryId","type":"uint64"},{"indexed":false,"internalType":"address","name":"evmConsumer","type":"address"},{"indexed":false,"internalType":"uint256","name":"evmGasPrice","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"evmCallbackActualGas","type":"uint256"},{"indexed":false,"internalType":"string","name":"evmCallbackRevertReason","type":"string"},{"indexed":false,"internalType":"bytes","name":"resultCborBytes","type":"bytes"}],"name":"WitOracleResportDeliveryFailed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"evmSubscriber","type":"address"},{"indexed":true,"internalType":"bytes32","name":"witRadHash","type":"bytes32"},{"indexed":false,"internalType":"Witnet.ServiceProvider[]","name":"witServiceCommittee","type":"bytes20[]"}],"name":"WitOracleServiceCommittee","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"evmReward","type":"uint256"},{"components":[{"internalType":"uint8","name":"numWitnesses","type":"uint8"},{"internalType":"uint64","name":"witnessReward","type":"uint64"}],"indexed":false,"internalType":"struct IWitOracleLegacy.RadonSLA","name":"witnetSLA","type":"tuple"}],"name":"WitnetQuery","type":"event"},{"stateMutability":"nonpayable","type":"fallback"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"base","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"channel","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"class","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"codehash","outputs":[{"internalType":"bytes32","name":"_codehash","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currency","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"deleteQuery","outputs":[{"internalType":"Witnet.QueryEvmReward","name":"","type":"uint72"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deployer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_evmGasPrice","type":"uint256"}],"name":"estimateBaseFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_gasPrice","type":"uint256"},{"internalType":"uint16","name":"","type":"uint16"}],"name":"estimateBaseFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"gasPrice","type":"uint256"},{"internalType":"bytes32","name":"radHash","type":"bytes32"}],"name":"estimateBaseFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_evmGasPrice","type":"uint256"},{"internalType":"uint24","name":"_evmCallbackGasLimit","type":"uint24"}],"name":"estimateBaseFeeWithCallback","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_evmGasPrice","type":"uint256"},{"internalType":"uint256","name":"_evmWitPrice","type":"uint256"},{"components":[{"internalType":"uint16","name":"witResultMaxSize","type":"uint16"},{"internalType":"uint16","name":"witCommitteeSize","type":"uint16"},{"internalType":"uint64","name":"witUnitaryReward","type":"uint64"}],"internalType":"struct Witnet.QuerySLA","name":"_querySLA","type":"tuple"}],"name":"estimateExtraFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_queryIds","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"uint256","name":"_evmGasPrice","type":"uint256"},{"internalType":"uint256","name":"_evmWitPrice","type":"uint256"}],"name":"estimateReportEarnings","outputs":[{"internalType":"uint256","name":"_revenues","type":"uint256"},{"internalType":"uint256","name":"_expenses","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"Witnet.QueryId","name":"_queryId","type":"uint64"}],"name":"extractDelegatedDataRequest","outputs":[{"components":[{"internalType":"Witnet.QueryId","name":"queryId","type":"uint64"},{"internalType":"Witnet.QueryUUID","name":"queryUUID","type":"bytes15"},{"internalType":"Witnet.QueryEvmReward","name":"queryEvmReward","type":"uint72"},{"components":[{"internalType":"uint16","name":"witResultMaxSize","type":"uint16"},{"internalType":"uint16","name":"witCommitteeSize","type":"uint16"},{"internalType":"uint64","name":"witUnitaryReward","type":"uint64"},{"internalType":"Witnet.ServiceProvider[]","name":"providers","type":"bytes20[]"}],"internalType":"struct IWitOracleQueriableExperimental.QueryParams","name":"queryParams","type":"tuple"},{"internalType":"bytes","name":"radonBytecode","type":"bytes"}],"internalType":"struct IWitOracleQueriableExperimental.DDR","name":"_dr","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"Witnet.QueryId[]","name":"_queryIds","type":"uint64[]"}],"name":"extractDelegatedDataRequestBatch","outputs":[{"components":[{"internalType":"Witnet.QueryId","name":"queryId","type":"uint64"},{"internalType":"Witnet.QueryUUID","name":"queryUUID","type":"bytes15"},{"internalType":"Witnet.QueryEvmReward","name":"queryEvmReward","type":"uint72"},{"components":[{"internalType":"uint16","name":"witResultMaxSize","type":"uint16"},{"internalType":"uint16","name":"witCommitteeSize","type":"uint16"},{"internalType":"uint64","name":"witUnitaryReward","type":"uint64"},{"internalType":"Witnet.ServiceProvider[]","name":"providers","type":"bytes20[]"}],"internalType":"struct IWitOracleQueriableExperimental.QueryParams","name":"queryParams","type":"tuple"},{"internalType":"bytes","name":"radonBytecode","type":"bytes"}],"internalType":"struct IWitOracleQueriableExperimental.DDR[]","name":"_drs","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"Witnet.QueryId[]","name":"_queryIds","type":"uint64[]"}],"name":"extractRadonBytecodes","outputs":[{"internalType":"bytes[]","name":"_bytecodes","type":"bytes[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"queryIds","type":"uint256[]"}],"name":"extractWitnetDataRequests","outputs":[{"internalType":"bytes[]","name":"","type":"bytes[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"queryId","type":"uint256"}],"name":"fetchQueryResponse","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getNextQueryId","outputs":[{"internalType":"Witnet.QueryId","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"Witnet.QueryId","name":"_queryId","type":"uint64"}],"name":"getQuery","outputs":[{"components":[{"components":[{"internalType":"address","name":"requester","type":"address"},{"internalType":"uint24","name":"callbackGas","type":"uint24"},{"internalType":"bytes","name":"radonBytecode","type":"bytes"},{"internalType":"Witnet.RadonHash","name":"radonHash","type":"bytes32"}],"internalType":"struct Witnet.QueryRequest","name":"request","type":"tuple"},{"components":[{"internalType":"address","name":"reporter","type":"address"},{"internalType":"Witnet.Timestamp","name":"resultTimestamp","type":"uint64"},{"internalType":"Witnet.TransactionHash","name":"resultDrTxHash","type":"bytes32"},{"internalType":"bytes","name":"resultCborBytes","type":"bytes"},{"internalType":"address","name":"disputer","type":"address"}],"internalType":"struct Witnet.QueryResponse","name":"response","type":"tuple"},{"components":[{"internalType":"uint16","name":"witResultMaxSize","type":"uint16"},{"internalType":"uint16","name":"witCommitteeSize","type":"uint16"},{"internalType":"uint64","name":"witUnitaryReward","type":"uint64"}],"internalType":"struct Witnet.QuerySLA","name":"slaParams","type":"tuple"},{"internalType":"Witnet.QueryUUID","name":"uuid","type":"bytes15"},{"internalType":"Witnet.QueryEvmReward","name":"reward","type":"uint72"},{"internalType":"Witnet.BlockNumber","name":"checkpoint","type":"uint64"}],"internalType":"struct Witnet.Query","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"queryId","type":"uint256"}],"name":"getQuery","outputs":[{"components":[{"components":[{"internalType":"address","name":"requester","type":"address"},{"internalType":"uint24","name":"callbackGas","type":"uint24"},{"internalType":"uint72","name":"evmReward","type":"uint72"},{"internalType":"bytes","name":"radonBytecode","type":"bytes"},{"internalType":"bytes32","name":"radonHash","type":"bytes32"},{"components":[{"internalType":"uint8","name":"numWitnesses","type":"uint8"},{"internalType":"uint64","name":"witnessReward","type":"uint64"}],"internalType":"struct IWitOracleLegacy.RadonSLA","name":"radonParams","type":"tuple"}],"internalType":"struct IWitOracleLegacy.QueryRequest","name":"request","type":"tuple"},{"components":[{"internalType":"address","name":"reporter","type":"address"},{"internalType":"uint64","name":"finality","type":"uint64"},{"internalType":"uint32","name":"timestamp","type":"uint32"},{"internalType":"bytes32","name":"trail","type":"bytes32"},{"internalType":"bytes","name":"cborBytes","type":"bytes"}],"internalType":"struct IWitOracleLegacy.QueryResponse","name":"response","type":"tuple"}],"internalType":"struct IWitOracleLegacy.Query","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"getQueryEvmReward","outputs":[{"internalType":"Witnet.QueryEvmReward","name":"","type":"uint72"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"queryId","type":"uint256"}],"name":"getQueryRequest","outputs":[{"components":[{"internalType":"address","name":"requester","type":"address"},{"internalType":"uint24","name":"callbackGas","type":"uint24"},{"internalType":"uint72","name":"evmReward","type":"uint72"},{"internalType":"bytes","name":"radonBytecode","type":"bytes"},{"internalType":"bytes32","name":"radonHash","type":"bytes32"},{"components":[{"internalType":"uint8","name":"numWitnesses","type":"uint8"},{"internalType":"uint64","name":"witnessReward","type":"uint64"}],"internalType":"struct IWitOracleLegacy.RadonSLA","name":"radonParams","type":"tuple"}],"internalType":"struct IWitOracleLegacy.QueryRequest","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"Witnet.QueryId","name":"_queryId","type":"uint64"}],"name":"getQueryRequest","outputs":[{"components":[{"internalType":"address","name":"requester","type":"address"},{"internalType":"uint24","name":"callbackGas","type":"uint24"},{"internalType":"bytes","name":"radonBytecode","type":"bytes"},{"internalType":"Witnet.RadonHash","name":"radonHash","type":"bytes32"}],"internalType":"struct Witnet.QueryRequest","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"Witnet.QueryId","name":"_queryId","type":"uint64"}],"name":"getQueryResponse","outputs":[{"components":[{"internalType":"address","name":"reporter","type":"address"},{"internalType":"Witnet.Timestamp","name":"resultTimestamp","type":"uint64"},{"internalType":"Witnet.TransactionHash","name":"resultDrTxHash","type":"bytes32"},{"internalType":"bytes","name":"resultCborBytes","type":"bytes"},{"internalType":"address","name":"disputer","type":"address"}],"internalType":"struct Witnet.QueryResponse","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"queryId","type":"uint256"}],"name":"getQueryResponse","outputs":[{"components":[{"internalType":"address","name":"reporter","type":"address"},{"internalType":"uint64","name":"finality","type":"uint64"},{"internalType":"uint32","name":"timestamp","type":"uint32"},{"internalType":"bytes32","name":"trail","type":"bytes32"},{"internalType":"bytes","name":"cborBytes","type":"bytes"}],"internalType":"struct IWitOracleLegacy.QueryResponse","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"queryId","type":"uint256"}],"name":"getQueryResponseStatus","outputs":[{"internalType":"enum IWitOracleLegacy.QueryResponseStatus","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"getQueryResult","outputs":[{"components":[{"internalType":"enum Witnet.ResultStatus","name":"status","type":"uint8"},{"internalType":"enum Witnet.RadonDataTypes","name":"dataType","type":"uint8"},{"internalType":"Witnet.TransactionHash","name":"drTxHash","type":"bytes32"},{"internalType":"uint256","name":"finality","type":"uint256"},{"internalType":"Witnet.Timestamp","name":"timestamp","type":"uint64"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"cursor","type":"uint256"}],"internalType":"struct WitnetBuffer.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct WitnetCBOR.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.DataResult","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"queryId","type":"uint256"}],"name":"getQueryResultCborBytes","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"queryId","type":"uint256"}],"name":"getQueryResultError","outputs":[{"components":[{"internalType":"uint8","name":"code","type":"uint8"},{"internalType":"string","name":"reason","type":"string"}],"internalType":"struct IWitOracleLegacy.ResultError","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"getQueryResultStatus","outputs":[{"internalType":"enum Witnet.ResultStatus","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"getQueryResultStatusDescription","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"getQueryResultTrails","outputs":[{"internalType":"bytes32","name":"queryUUID","type":"bytes32"},{"internalType":"Witnet.TransactionHash","name":"resultDrTxHash","type":"bytes32"},{"internalType":"Witnet.Timestamp","name":"resultTimestamp","type":"uint64"},{"internalType":"uint256","name":"resultFinalityBlock","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"getQueryStatus","outputs":[{"internalType":"enum Witnet.QueryStatus","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"_queryIds","type":"uint256[]"}],"name":"getQueryStatusBatch","outputs":[{"internalType":"enum Witnet.QueryStatus[]","name":"_status","type":"uint8[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"getQueryStatusString","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"_initData","type":"bytes"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_queryResponseReporter","type":"address"}],"name":"isReporter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isUpgradable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"}],"name":"isUpgradableFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"Witnet.TransactionHash","name":"witDrTxHash","type":"bytes32"},{"internalType":"Witnet.RadonHash","name":"queryRadHash","type":"bytes32"},{"components":[{"internalType":"uint16","name":"witResultMaxSize","type":"uint16"},{"internalType":"uint16","name":"witCommitteeSize","type":"uint16"},{"internalType":"uint64","name":"witUnitaryReward","type":"uint64"}],"internalType":"struct Witnet.QuerySLA","name":"queryParams","type":"tuple"},{"internalType":"Witnet.Timestamp","name":"resultTimestamp","type":"uint64"},{"internalType":"bytes","name":"resultCborBytes","type":"bytes"}],"internalType":"struct Witnet.DataPushReport","name":"_report","type":"tuple"},{"internalType":"bytes","name":"_signature","type":"bytes"}],"name":"parseDataReport","outputs":[{"components":[{"internalType":"enum Witnet.ResultStatus","name":"status","type":"uint8"},{"internalType":"enum Witnet.RadonDataTypes","name":"dataType","type":"uint8"},{"internalType":"Witnet.TransactionHash","name":"drTxHash","type":"bytes32"},{"internalType":"uint256","name":"finality","type":"uint256"},{"internalType":"Witnet.Timestamp","name":"timestamp","type":"uint64"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"cursor","type":"uint256"}],"internalType":"struct WitnetBuffer.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct WitnetCBOR.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.DataResult","name":"_result","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_queryRadHash","type":"bytes32"},{"components":[{"internalType":"uint8","name":"numWitnesses","type":"uint8"},{"internalType":"uint64","name":"witnessReward","type":"uint64"}],"internalType":"struct IWitOracleLegacy.RadonSLA","name":"_querySLA","type":"tuple"}],"name":"postRequest","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_queryRadHash","type":"bytes32"},{"components":[{"internalType":"uint8","name":"numWitnesses","type":"uint8"},{"internalType":"uint64","name":"witnessReward","type":"uint64"}],"internalType":"struct IWitOracleLegacy.RadonSLA","name":"_querySLA","type":"tuple"},{"internalType":"uint24","name":"_queryCallbackGas","type":"uint24"}],"name":"postRequestWithCallback","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"Witnet.TransactionHash","name":"witDrTxHash","type":"bytes32"},{"internalType":"Witnet.RadonHash","name":"queryRadHash","type":"bytes32"},{"components":[{"internalType":"uint16","name":"witResultMaxSize","type":"uint16"},{"internalType":"uint16","name":"witCommitteeSize","type":"uint16"},{"internalType":"uint64","name":"witUnitaryReward","type":"uint64"}],"internalType":"struct Witnet.QuerySLA","name":"queryParams","type":"tuple"},{"internalType":"Witnet.Timestamp","name":"resultTimestamp","type":"uint64"},{"internalType":"bytes","name":"resultCborBytes","type":"bytes"}],"internalType":"struct Witnet.DataPushReport","name":"_report","type":"tuple"},{"internalType":"bytes","name":"_signature","type":"bytes"}],"name":"pushDataReport","outputs":[{"components":[{"internalType":"enum Witnet.ResultStatus","name":"status","type":"uint8"},{"internalType":"enum Witnet.RadonDataTypes","name":"dataType","type":"uint8"},{"internalType":"Witnet.TransactionHash","name":"drTxHash","type":"bytes32"},{"internalType":"uint256","name":"finality","type":"uint256"},{"internalType":"Witnet.Timestamp","name":"timestamp","type":"uint64"},{"components":[{"components":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"cursor","type":"uint256"}],"internalType":"struct WitnetBuffer.Buffer","name":"buffer","type":"tuple"},{"internalType":"uint8","name":"initialByte","type":"uint8"},{"internalType":"uint8","name":"majorType","type":"uint8"},{"internalType":"uint8","name":"additionalInformation","type":"uint8"},{"internalType":"uint64","name":"len","type":"uint64"},{"internalType":"uint64","name":"tag","type":"uint64"}],"internalType":"struct WitnetCBOR.CBOR","name":"value","type":"tuple"}],"internalType":"struct Witnet.DataResult","name":"","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"Witnet.RadonHash","name":"_queryRAD","type":"bytes32"},{"components":[{"internalType":"uint16","name":"witResultMaxSize","type":"uint16"},{"internalType":"uint16","name":"witCommitteeSize","type":"uint16"},{"internalType":"uint64","name":"witUnitaryReward","type":"uint64"}],"internalType":"struct Witnet.QuerySLA","name":"_querySLA","type":"tuple"}],"name":"queryData","outputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"Witnet.RadonHash","name":"_queryRAD","type":"bytes32"},{"components":[{"internalType":"uint16","name":"witResultMaxSize","type":"uint16"},{"internalType":"uint16","name":"witCommitteeSize","type":"uint16"},{"internalType":"uint64","name":"witUnitaryReward","type":"uint64"}],"internalType":"struct Witnet.QuerySLA","name":"_querySLA","type":"tuple"},{"components":[{"internalType":"address","name":"consumer","type":"address"},{"internalType":"uint24","name":"gasLimit","type":"uint24"}],"internalType":"struct Witnet.QueryCallback","name":"_queryCallback","type":"tuple"}],"name":"queryDataWithCallback","outputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"registry","outputs":[{"internalType":"contract IWitOracleRadonRegistry","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"Witnet.QueryId","name":"_queryId","type":"uint64"},{"internalType":"Witnet.Timestamp","name":"_resultTimestamp","type":"uint64"},{"internalType":"Witnet.TransactionHash","name":"_witDrTxHash","type":"bytes32"},{"internalType":"bytes","name":"_resultCborBytes","type":"bytes"}],"name":"reportResult","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"queryId","type":"uint256"},{"internalType":"bytes32","name":"drTxHash","type":"bytes32"},{"internalType":"bytes","name":"resultCborBytes","type":"bytes"}],"name":"reportResult","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"Witnet.QueryId","name":"_queryId","type":"uint64"},{"internalType":"Witnet.TransactionHash","name":"_witDrTxHash","type":"bytes32"},{"internalType":"bytes","name":"_resultCborBytes","type":"bytes"}],"name":"reportResult","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"queryId","type":"uint256"},{"internalType":"uint32","name":"resultTimestamp","type":"uint32"},{"internalType":"bytes32","name":"drTxHash","type":"bytes32"},{"internalType":"bytes","name":"resultCborBytes","type":"bytes"}],"name":"reportResult","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"queryId","type":"uint256"},{"internalType":"uint32","name":"resultTimestamp","type":"uint32"},{"internalType":"bytes32","name":"drTxHash","type":"bytes32"},{"internalType":"bytes","name":"resultCborBytes","type":"bytes"}],"internalType":"struct IWitOracleLegacy.BatchResultLegacy[]","name":"results","type":"tuple[]"}],"name":"reportResultBatch","outputs":[{"internalType":"uint256","name":"_batchReward","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"Witnet.QueryId","name":"queryId","type":"uint64"},{"internalType":"Witnet.Timestamp","name":"resultTimestamp","type":"uint64"},{"internalType":"Witnet.TransactionHash","name":"drTxHash","type":"bytes32"},{"internalType":"bytes","name":"resultCborBytes","type":"bytes"}],"internalType":"struct IWitOracleQueriableTrustableReporter.BatchResult[]","name":"_batchResults","type":"tuple[]"}],"name":"reportResultBatch","outputs":[{"internalType":"uint256","name":"_batchReward","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_queryResponseReporters","type":"address[]"}],"name":"setReporters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_radonHash","type":"bytes32"},{"internalType":"Witnet.ServiceProvider[]","name":"_providers","type":"bytes20[]"}],"name":"settleMyOwnServiceCommittee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"specs","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_exReporters","type":"address[]"}],"name":"unsetReporters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_queryId","type":"uint256"}],"name":"upgradeQueryEvmReward","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}];
  readonly bytecode: "0x6102006040523361010052348015610015575f5ffd5b5060405161656d38038061656d83398101604081905261003491610349565b8083835f6001846040518060400160405280601981526020017f696f2e7769746e65742e70726f786961626c652e626f6172640000000000000081525082335f6001600160a01b0316816001600160a01b0316036100ac57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6100b581610232565b5030608052151560c052600160025560e0919091528051602091820120610120526001600160a01b039283166101405260408051808201909152601381527f696e6578697374656e74207265676973747279000000000000000000000000009181019190915261012b9284163b1515915061024e565b6101ec63a614fef760e01b6001600160e01b031916826001600160a01b031663adb7c3f76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561017c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101a091906103fa565b6001600160e01b031916146040518060400160405280601481526020017f756e636f6d706c69616e7420726567697374727900000000000000000000000081525061024e60201b60201c565b6001600160a01b031661016052805163ffffffff90811661018052602082015181166101a052604082015181166101c052606090910151166101e0525061049d92505050565b600180546001600160a01b031916905561024b81610260565b50565b8161025c5761025c816102af565b5050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60408051808201909152601e81527f5769744f7261636c65547275737461626c654578706572696d656e74616c00006020820152816040516020016102f592919061043f565b60408051601f198184030181529082905262461bcd60e51b82526100a391600401610468565b805163ffffffff8116811461032e575f5ffd5b919050565b80516001600160a01b038116811461032e575f5ffd5b5f5f5f83850360c081121561035c575f5ffd5b6080811215610369575f5ffd5b50604051608081016001600160401b038111828210171561039857634e487b7160e01b5f52604160045260245ffd5b6040526103a48561031b565b81526103b26020860161031b565b60208201526103c36040860161031b565b60408201526103d46060860161031b565b606082015292506103e760808501610333565b60a0949094015192959394509192915050565b5f6020828403121561040a575f5ffd5b81516001600160e01b031981168114610421575f5ffd5b9392505050565b5f81518060208401855e5f93019283525090919050565b5f61044a8285610428565b6101d160f51b815261045f6002820185610428565b95945050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e051615ffc6105715f395f8181610f200152818161173a01526130d101525f610f4c01525f8181610f8c0152610fd401525f61176601525f818161099b01528181611699015281816120f60152612aec01525f610d2d01525f61076701525f610cdd01525f61216801525f81816107b601526123e901525f50505f818161071e01528181610b7a01528181611aff01528181611b7001528181611bb70152611bd90152615ffc5ff3fe6080604052600436106103cd575f3560e01c806376d0e357116101fc578063adb7c3f711610117578063d0a92a08116100aa578063e900aa3311610079578063e900aa3314610d4f578063ec5946db14610d62578063f2fde38b14610d75578063f61921b214610d94578063fb55e9f314610dc0576103cd565b8063d0a92a0814610cad578063d5f3948814610ccc578063e30c397814610cff578063e5a6b10f14610d1c576103cd565b8063bff852fa116100e6578063bff852fa14610c22578063c258134814610c36578063c805dd0f14610c55578063ca7da98b14610c81576103cd565b8063adb7c3f714610b9f578063aeb2ffc114610bb8578063b207e73014610be4578063b783922b14610c03576103cd565b80638d3d8b381161018f578063a58f68031161015e578063a58f680314610b01578063a667533f14610b14578063a77fc1a414610b40578063a9e954b914610b6c576103cd565b80638d3d8b3814610a735780638da5cb5b14610a9257806393d5185c14610aae5780639cc56e6714610ae2576103cd565b80637bd88218116101cb5780637bd88218146109ea5780637c1fbda314610a09578063838d44e214610a285780638cfcdea214610a47576103cd565b806376d0e3571461095757806379ba5097146109765780637b1039991461098a5780637bbdb96e146109bd576103cd565b80634cddf615116102ec57806359209b391161027f5780636d0d6a7e1161024e5780636d0d6a7e146108a35780636f07abcc146108c25780636fdaab7e146108e1578063715018a614610943576103cd565b806359209b391461081a5780636280bce81461084657806369978d7e146108655780636b58960a14610884576103cd565b80635304bba2116102bb5780635304bba2146107895780635479d940146107a857806354fd4d50146107da578063581f5094146107ee576103cd565b80634cddf615146106c55780634e6c13a1146106f15780635001f3b51461071057806352d1902d14610756576103cd565b8063378f35d9116103645780633fa59576116103335780633fa595761461060d578063439fab911461065b57806345ea6c171461067a5780634c9f72e3146106a6576103cd565b8063378f35d91461059c57806339a8653e146105c85780633b3195b7146105e75780633dc2b7a2146105fa576103cd565b80630aa4112a116103a05780630aa4112a146105045780631aea970b14610530578063234fe6e31461054f57806328a78d9b1461057b576103cd565b8063044ad7be1461045857806305e742ef1461048c57806306eb2c42146104b957806308b7e85e146104d8575b3480156103d8575f5ffd5b506103e65f3560f81c610dec565b6103f660ff5f3560f01c16610dec565b61040660ff5f3560e81c16610dec565b61041660ff5f3560e01c16610dec565b6040516020016104299493929190613ee9565b60408051601f198184030181529082905262461bcd60e51b825261044f91600401613f75565b60405180910390fd5b348015610463575f5ffd5b50610477610472366004613f9b565b610ed8565b60405190151581526020015b60405180910390f35b348015610497575f5ffd5b506104ab6104a6366004613fc6565b610f19565b604051908152602001610483565b3480156104c4575f5ffd5b506104ab6104d336600461403b565b611009565b3480156104e3575f5ffd5b506104f76104f2366004614079565b611228565b6040516104839190613f75565b34801561050f575f5ffd5b5061052361051e366004614079565b611248565b6040516104839190614114565b34801561053b575f5ffd5b506104ab61054a366004614177565b61149c565b34801561055a575f5ffd5b5061056e610569366004614079565b611549565b6040516104839190614208565b348015610586575f5ffd5b5061059a61059536600461403b565b6115be565b005b3480156105a7575f5ffd5b506105bb6105b636600461421b565b61162f565b6040516104839190614328565b3480156105d3575f5ffd5b506104ab6105e2366004614079565b611734565b6104ab6105f5366004614495565b611794565b6104ab610608366004614518565b611980565b348015610618575f5ffd5b5061062c610627366004614079565b6119d8565b604051610483949392919093845260208401929092526001600160401b03166040830152606082015260800190565b348015610666575f5ffd5b5061059a6106753660046145c1565b611a29565b348015610685575f5ffd5b5061069961069436600461403b565b611c5d565b60405161048391906145f2565b3480156106b1575f5ffd5b5061059a6106c036600461403b565b611d04565b3480156106d0575f5ffd5b506106e46106df366004614079565b611d45565b604051610483919061466a565b3480156106fc575f5ffd5b506104ab61070b36600461469a565b611db9565b34801561071b575f5ffd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610483565b348015610761575f5ffd5b506104ab7f000000000000000000000000000000000000000000000000000000000000000081565b348015610794575f5ffd5b506106996107a33660046147c1565b6120c4565b3480156107b3575f5ffd5b507f0000000000000000000000000000000000000000000000000000000000000000610477565b3480156107e5575f5ffd5b506104f7612161565b3480156107f9575f5ffd5b5061080d61080836600461403b565b612191565b604051610483919061485c565b348015610825575f5ffd5b50610839610834366004614079565b61224b565b60405161048391906148a7565b348015610851575f5ffd5b506104ab610860366004614993565b6122c7565b348015610870575f5ffd5b5061059a61087f3660046149e1565b6122ea565b34801561088f575f5ffd5b5061047761089e366004613f9b565b6123e6565b3480156108ae575f5ffd5b506108396108bd366004614a28565b61243a565b3480156108cd575f5ffd5b5061056e6108dc366004614079565b612535565b3480156108ec575f5ffd5b5061092b6108fb366004614079565b5f9081525f516020615fa75f395f51905f526020526040902060090154600160781b90046001600160481b031690565b6040516001600160481b039091168152602001610483565b34801561094e575f5ffd5b5061059a61256f565b348015610962575f5ffd5b506104ab610971366004614a86565b612582565b348015610981575f5ffd5b5061059a6125e9565b348015610995575f5ffd5b5061073e7f000000000000000000000000000000000000000000000000000000000000000081565b3480156109c8575f5ffd5b506109d1612663565b6040516001600160e01b03199091168152602001610483565b3480156109f5575f5ffd5b506104ab610a04366004614ac5565b61266d565b348015610a14575f5ffd5b5061092b610a23366004614079565b612677565b348015610a33575f5ffd5b506104f7610a42366004614079565b61276c565b348015610a52575f5ffd5b50610a66610a6136600461421b565b6127ee565b6040516104839190614b91565b348015610a7e575f5ffd5b506104f7610a8d366004614079565b612900565b348015610a9d575f5ffd5b505f546001600160a01b031661073e565b348015610ab9575f5ffd5b50610acd610ac8366004614c4d565b612915565b60408051928352602083019190915201610483565b348015610aed575f5ffd5b506104ab610afc366004614cc8565b612ac8565b6104ab610b0f366004614ce8565b612b8e565b348015610b1f575f5ffd5b50610b33610b2e36600461421b565b612c4d565b6040516104839190614d0a565b348015610b4b575f5ffd5b50610b5f610b5a366004614079565b612cff565b6040516104839190614d1c565b348015610b77575f5ffd5b507f00000000000000000000000000000000000000000000000000000000000000003f6104ab565b348015610baa575f5ffd5b506304722eaf60e31b6109d1565b348015610bc3575f5ffd5b50610bd7610bd2366004614079565b612de7565b6040516104839190614d96565b348015610bef575f5ffd5b506104ab610bfe366004614de1565b612e19565b348015610c0e575f5ffd5b50610839610c1d366004614a28565b612e43565b348015610c2d575f5ffd5b506104f7612ec7565b348015610c41575f5ffd5b506104f7610c50366004614079565b612efe565b348015610c60575f5ffd5b50610c69612fcf565b6040516001600160401b039091168152602001610483565b348015610c8c575f5ffd5b50610ca0610c9b36600461421b565b612ff3565b6040516104839190614e05565b348015610cb8575f5ffd5b506104ab610cc7366004614e17565b613098565b348015610cd7575f5ffd5b5061073e7f000000000000000000000000000000000000000000000000000000000000000081565b348015610d0a575f5ffd5b506001546001600160a01b031661073e565b348015610d27575f5ffd5b5061073e7f000000000000000000000000000000000000000000000000000000000000000081565b6104ab610d5d366004614e4a565b613122565b61059a610d70366004614079565b613192565b348015610d80575f5ffd5b5061059a610d8f366004613f9b565b6132eb565b348015610d9f575f5ffd5b50610db3610dae366004614079565b61335b565b6040516104839190614e88565b348015610dcb575f5ffd5b50610ddf610dda36600461403b565b61356c565b6040516104839190614e9a565b6040805160028082528183019092526060915f91906020820181803683370190505090505f610e1c601085614f19565b610e27906030614f3a565b90505f610e35601086614f53565b610e40906030614f3a565b905060398260ff161115610e5c57610e59600783614f3a565b91505b60398160ff161115610e7657610e73600782614f3a565b90505b8160f81b835f81518110610e8c57610e8c614f74565b60200101906001600160f81b03191690815f1a9053508060f81b83600181518110610eb957610eb9614f74565b60200101906001600160f81b03191690815f1a90535091949350505050565b6001600160a01b0381165f9081527ff595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e185602052604081205460ff165b92915050565b5f80610f467f00000000000000000000000000000000000000000000000000000000000000006003614f88565b610f70907f0000000000000000000000000000000000000000000000000000000000000000614f9f565b9050808362ffffff161080610fb2575080610fb062ffffff85167f0000000000000000000000000000000000000000000000000000000000000000614f9f565b105b15610fc957610fc18185614f88565b915050610f13565b610ff862ffffff84167f0000000000000000000000000000000000000000000000000000000000000000614f9f565b610fc19085614f88565b5092915050565b5f6110685f516020615f875f395f51905f525b335f908152600291909101602090815260409182902054825180840190935260158352743ab730baba3437b934bd32b2103932b837b93a32b960591b9183019190915260ff169061361b565b5f826001600160401b038111156110815761108161433a565b6040519080825280602002602001820160405280156110d057816020015b604080516080810182525f80825260208083018290529282015260608082015282525f1990920191018161109f5790505b5090505f5b838110156112165760405180608001604052808686848181106110fa576110fa614f74565b905060200281019061110c9190614fb2565b356001600160401b0316815260200186868481811061112d5761112d614f74565b905060200281019061113f9190614fb2565b611150906040810190602001614fd0565b63ffffffff16815260200186868481811061116d5761116d614f74565b905060200281019061117f9190614fb2565b60400135815260200186868481811061119a5761119a614f74565b90506020028101906111ac9190614fb2565b6111ba906060810190614fe9565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152505050915250825183908390811061120357611203614f74565b60209081029190910101526001016110d5565b5061122081611db9565b949350505050565b606061123382612677565b505060408051602081019091525f8152919050565b61128b6040805160c0810182525f80825260208083018290528284018290526060808401526080830182905283518085019094528184528301529060a082015290565b5f8281525f516020615fa75f395f51905f526020526040902060018101805461ffff91906112b89061502b565b90501115611313576040805160c0810182525f8082526020808301829052828401829052835180820185528281526060840152600290940154608083015282518084019093528083529282019290925260a082015292915050565b60038101541561143c576040805160c08101825282546001600160a01b0381168252600160a01b810462ffffff166020830152600160b81b90046001600160481b0316918101919091526001820180546060830191906113729061502b565b80601f016020809104026020016040519081016040528092919081815260200182805461139e9061502b565b80156113e95780601f106113c0576101008083540402835291602001916113e9565b820191905f5260205f20905b8154815290600101906020018083116113cc57829003601f168201915b5050509183525050600283015460208083019190915260408051808201825260089095015462010000810460ff16865264010000000090046001600160401b031691850191909152019190915292915050565b6040805160c08101825282546001600160a01b0381168252600160a01b900462ffffff1660208201526009830154600160781b90046001600160481b0316918101919091526001820180546060830191906113729061502b565b50919050565b5f6114b35f516020615f875f395f51905f5261101c565b6114ed6001600160401b03861615156040518060400160405280600d81526020016c06261642074696d657374616d7609c1b81525061361b565b604080518082019091526016815275726573756c742063616e6e6f7420626520656d70747960501b6020820152611527908315159061361b565b61153d866001600160401b03168686868661362d565b90505b95945050505050565b60405163234fe6e360e01b8152600481018290525f9073__$713c4f4487e8756194dbc5b3b091cd4345$__9063234fe6e3906024015b602060405180830381865af415801561159a573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f139190615069565b6115c661367b565b6040516328a78d9b60e01b815273__$713c4f4487e8756194dbc5b3b091cd4345$__906328a78d9b906115ff9085908590600401615084565b5f6040518083038186803b158015611615575f5ffd5b505af4158015611627573d5f5f3e3d5ffd5b505050505050565b611637613d89565b5f61164a836001600160401b0316612535565b90506001816006811115611660576116606141e4565b148061167d5750600481600681111561167b5761167b6141e4565b145b1561149657604051630d0843c160e31b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660048201526001600160401b038416602482015273__$713c4f4487e8756194dbc5b3b091cd4345$__906368421e08906044015f60405180830381865af4158015611706573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261172d919081019061526f565b9392505050565b5f6117607f00000000000000000000000000000000000000000000000000000000000000006004614f88565b61178a907f0000000000000000000000000000000000000000000000000000000000000000614f9f565b610f139083614f88565b5f346117a43a8460200151610f19565b6117dc81831015604051806040016040528060138152602001721a5b9cdd59999a58da595b9d081c995dd85c99606a1b81525061361b565b61181a6117ea82600a614f88565b8311156040518060400160405280600f81526020016e1d1bdbc81b5d58da081c995dd85c99608a1b81525061361b565b84611850611827826136a7565b6040518060400160405280600b81526020016a696e76616c696420534c4160a81b81525061361b565b846119165f825f01516001600160a01b03163b1180156118d4575081516040516323d0872b60e11b81523060048201526001600160a01b03909116906347a10e5690602401602060405180830381865afa1580156118b0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118d4919061533c565b80156118e857505f826020015162ffffff16115b6040518060400160405280601081526020016f696e76616c69642063616c6c6261636b60801b81525061361b565b8551602087015161192a9190348b8b6136e2565b9450336001600160a01b03167ffbe74eb38ea9de3d74d481a4f701ae121d794895c5797db8260d06d317901d263a34888c8c60405161196d95949392919061535b565b60405180910390a2505050509392505050565b5f61172d836040518060600160405280602061ffff168152602001855f0160208101906119ad91906153c2565b60ff1681526020908101906119c8906040880190880161421b565b6001600160401b03169052612b8e565b5f5f5f5f5f6119e68661375e565b600981015460058201546004909201546001600160881b0319608883901b16999298506001600160401b03600160c01b9182900481169850910416945092505050565b5f546001600160a01b031680611a5f5781806020019051810190611a4d91906153dd565b92509050611a5a8161377a565b611aa7565b336001600160a01b03821614611aa75760405162461bcd60e51b815260206004820152600d60248201526c3737ba103a34329037bbb732b960991b604482015260640161044f565b611ab082613793565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe5415801590611b2157507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe547f00000000000000000000000000000000000000000000000000000000000000003f145b15611b6e5760405162461bcd60e51b815260206004820152601c60248201527f616c726561647920696e697469616c697a656420636f64656861736800000000604482015260640161044f565b7f00000000000000000000000000000000000000000000000000000000000000003f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc600201557f00000000000000000000000000000000000000000000000000000000000000003f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611c125f546001600160a01b031690565b6001600160a01b03167fe73e754121f0bad1327816970101955bfffdf53d270ac509d777c25be070d7f6611c44612161565b604051611c519190613f75565b60405180910390a45050565b60605f826001600160401b03811115611c7857611c7861433a565b604051908082528060200260200182016040528015611ca1578160200160208202803683370190505b5090505f5b8151811015611cfa57848482818110611cc157611cc1614f74565b90506020020135828281518110611cda57611cda614f74565b6001600160401b0390921660209283029190910190910152600101611ca6565b50611220816120c4565b611d0c61367b565b604051634c9f72e360e01b815273__$713c4f4487e8756194dbc5b3b091cd4345$__90634c9f72e3906115ff9085908590600401615084565b604051634cddf61560e01b8152600481018290525f9073__$713c4f4487e8756194dbc5b3b091cd4345$__90634cddf61590602401602060405180830381865af4158015611d95573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f139190615439565b5f611dd05f516020615f875f395f51905f5261101c565b5f5b82518110156120ae575f838281518110611dee57611dee614f74565b6020908102919091010151516001600160401b031690506001611e1082612535565b6006811115611e2157611e216141e4565b14611f1e577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f848381518110611e5957611e59614f74565b60200260200101515f0151611e6c612ec7565b604051638f191e5f60e01b815273__$713c4f4487e8756194dbc5b3b091cd4345$__90638f191e5f90611ea490600190600401614208565b5f60405180830381865af4158015611ebe573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611ee59190810190615452565b604051602001611ef6929190615496565b60408051601f1981840301815290829052611f1192916154b6565b60405180910390a16120a5565b426001600160401b0316848381518110611f3a57611f3a614f74565b6020026020010151602001516001600160401b03161180611f8d5750611f8d848381518110611f6b57611f6b614f74565b6020026020010151602001516001600160401b03166001600160401b03161590565b80611fb55750838281518110611fa557611fa5614f74565b602002602001015160600151515f145b15612010577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f848381518110611fed57611fed614f74565b60200260200101515f0151612000612ec7565b604051602001611ef691906154d7565b61209884838151811061202557612025614f74565b60200260200101515f01516001600160401b031685848151811061204b5761204b614f74565b60200260200101516020015186858151811061206957612069614f74565b60200260200101516040015187868151811061208757612087614f74565b60200260200101516060015161380c565b6120a29084614f9f565b92505b50600101611dd2565b5080156120bf576120bf338261394a565b919050565b604051633ab5a66d60e11b815260609073__$713c4f4487e8756194dbc5b3b091cd4345$__9063756b4cda90612120907f0000000000000000000000000000000000000000000000000000000000000000908690600401615507565b5f60405180830381865af415801561213a573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f139190810190615565565b606061218c7f000000000000000000000000000000000000000000000000000000000000000061397d565b905090565b6060816001600160401b038111156121ab576121ab61433a565b6040519080825280602002602001820160405280156121d4578160200160208202803683370190505b5090505f5b82811015611002576122028484838181106121f6576121f6614f74565b90506020020135612535565b82828151811061221457612214614f74565b6020026020010190600681111561222d5761222d6141e4565b90816006811115612240576122406141e4565b9052506001016121d9565b612253613dd5565b6040516359209b3960e01b81526004810183905273__$713c4f4487e8756194dbc5b3b091cd4345$__906359209b39906024015f60405180830381865af41580156122a0573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f139190810190615792565b5f6122de5f516020615f875f395f51905f5261101c565b61154085858585612582565b335f9081527ff595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e1866020908152604080832086845290915290819020905163faf9bbed60e01b815273__$713c4f4487e8756194dbc5b3b091cd4345$__9163faf9bbed9161235d9190869086906004016157c3565b602060405180830381865af4158015612378573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061239c919061580d565b5082336001600160a01b03167f23756db25709786dbc09e6af056afb44fb8ed4fb0201b7cbc24aecc8be0a45f684846040516123d9929190615824565b60405180910390a3505050565b5f7f00000000000000000000000000000000000000000000000000000000000000008015610f135750816001600160a01b031661242a5f546001600160a01b031690565b6001600160a01b03161492915050565b612442613dd5565b5f5f73__$713c4f4487e8756194dbc5b3b091cd4345$__631600b78b8787876040518463ffffffff1660e01b815260040161247f939291906158d9565b5f60405180830381865af4158015612499573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526124c09190810190615989565b909250905033327f7a9001dc4425127400f09e4c0b02908ad0e1f642ee9c92932a222c686674648284893560208b013560408c0161250460c08e0160a08f0161421b565b61251160c08f018f614fe9565b60405161252497969594939291906159cc565b60405180910390a395945050505050565b604051631bc1eaf360e21b8152600481018290525f9073__$713c4f4487e8756194dbc5b3b091cd4345$__90636f07abcc9060240161157f565b61257761367b565b6125805f61377a565b565b5f6125995f516020615f875f395f51905f5261101c565b604080518082019091526016815275726573756c742063616e6e6f7420626520656d70747960501b60208201526125d3908315159061361b565b611540856001600160401b03164286868661362d565b60015433906001600160a01b031681146126575760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b606482015260840161044f565b6126608161377a565b50565b5f61218c30613a1e565b5f61172d83611734565b604051637c1fbda360e01b8152600481018290525f9073__$713c4f4487e8756194dbc5b3b091cd4345$__90637c1fbda390602401602060405180830381865af49250505080156126e5575060408051601f3d908101601f191682019092526126e291810190615a27565b60015b612752576126f1615a40565b806308c379a0036127195750612705615a58565b80612710575061271b565b61149681613a5c565b505b3d808015612744576040519150601f19603f3d011682016040523d82523d5f602084013e612749565b606091505b50611496613a76565b6001600160481b038116801561100257611002338261394a565b606073__$713c4f4487e8756194dbc5b3b091cd4345$__634cbc7ff861279184612535565b6040518263ffffffff1660e01b81526004016127ad9190614208565b5f60405180830381865af41580156127c7573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f139190810190615452565b6128846040805161014081019091525f60c0820181815260e083018290526060610100840152610120830191909152819081526040805160a0810182525f808252602082810182905292820181905260608083015260808201529101908152604080516060810182525f80825260208281018290529282015291019081525f602082018190526040820181905260609091015290565b60405163467e6f5160e11b81526001600160401b038316600482015273__$713c4f4487e8756194dbc5b3b091cd4345$__90638cfcdea2906024015f60405180830381865af41580156128d9573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f139190810190615c27565b606061290b82612ff3565b6060015192915050565b5f80805b87811015612abc575f89898381811061293457612934614f74565b602002919091013591506001905061294b82612535565b600681111561295c5761295c6141e4565b03612ab3575f61296b8261375e565b8054909150600160a01b900462ffffff16156129fb57604080516060810182525f8152600883015461ffff62010000820416602083015264010000000090046001600160401b0316918101919091526129c79088908890613098565b81546129e0908990600160a01b900462ffffff16610f19565b6129ea9190614f9f565b6129f49085614f9f565b9350612a63565b60408051606081018252600883015461ffff808216835262010000820416602083015264010000000090046001600160401b031691810191909152612a439088908890613098565b612a4c88611734565b612a569190614f9f565b612a609085614f9f565b93505b6008810154612a839064010000000090046001600160401b031687614f88565b612a8d9085614f9f565b6009820154909450612aaf90600160781b90046001600160481b031686614f9f565b9450505b50600101612919565b50965096945050505050565b604051631a3b01e960e21b8152600481018290525f90612b85906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906368ec07a490602401602060405180830381865afa158015612b31573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b55919061533c565b604051806040016040528060128152602001710eadcd6dcdeeedc40e4c2c8dedc40d0c2e6d60731b81525061361b565b61172d83611734565b5f34612b993a611734565b612bd181831015604051806040016040528060138152602001721a5b9cdd59999a58da595b9d081c995dd85c99606a1b81525061361b565b612bdf6117ea82600a614f88565b83612bec611827826136a7565b612bf9335f3489896136e2565b9350336001600160a01b03167ffbe74eb38ea9de3d74d481a4f701ae121d794895c5797db8260d06d317901d263a34878a8a604051612c3c95949392919061535b565b60405180910390a250505092915050565b612c8360405180608001604052805f6001600160a01b031681526020015f62ffffff168152602001606081526020015f81525090565b60405163a667533f60e01b81526001600160401b038316600482015273__$713c4f4487e8756194dbc5b3b091cd4345$__9063a667533f906024015f60405180830381865af4158015612cd8573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f139190810190615d01565b604080518082019091525f8152606060208201525f612d1d8361224b565b90506040518060400160405280825f015160ff811115612d3f57612d3f6141e4565b60ff16815260200173__$39c1c75f9ff01712a7ae2d1d1d8c462aa1$__6371aad10d84604051602001612d7291906148a7565b6040516020818303038152906040526040518263ffffffff1660e01b8152600401612d9d9190613f75565b5f60405180830381865af4158015612db7573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612dde9190810190615452565b90529392505050565b612def613e50565b6040518060400160405280612e0384611248565b8152602001612e118461335b565b905292915050565b5f612e305f516020615f875f395f51905f5261101c565b61153d868663ffffffff1686868661149c565b612e4b613dd5565b604051631600b78b60e01b815273__$713c4f4487e8756194dbc5b3b091cd4345$__90631600b78b90612e86908790879087906004016158d9565b5f60405180830381865af4158015612ea0573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526115409190810190615989565b60408051808201909152601e81527f5769744f7261636c65547275737461626c654578706572696d656e74616c0000602082015290565b606073__$39c1c75f9ff01712a7ae2d1d1d8c462aa1$__6371aad10d73__$713c4f4487e8756194dbc5b3b091cd4345$__6359209b39856040518263ffffffff1660e01b8152600401612f5391815260200190565b5f60405180830381865af4158015612f6d573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612f949190810190615792565b604051602001612fa491906148a7565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016127ad9190613f75565b5f5f516020615f875f395f51905f525461218c906001600160401b03166001615d32565b6040805160a0810182525f80825260208201819052918101829052606080820152608081019190915260405163ca7da98b60e01b81526001600160401b038316600482015273__$713c4f4487e8756194dbc5b3b091cd4345$__9063ca7da98b906024015f60405180830381865af4158015613071573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f139190810190615d51565b5f6020825f015161ffff16116130ae575f613100565b81516020906130be908290615d82565b6130c89190615d9c565b61ffff166130f67f000000000000000000000000000000000000000000000000000000000000000086614f88565b6131009190614f88565b6040830151613118906001600160401b031685614f88565b6112209190614f9f565b5f611220846040518060600160405280602061ffff168152602001865f01602081019061314f91906153c2565b60ff16815260209081019061316a906040890190890161421b565b6001600160401b031690526040805180820190915233815262ffffff86166020820152611794565b8060018061319f83612535565b60068111156131b0576131b06141e4565b1461323b57604051638f191e5f60e01b81526132369073__$713c4f4487e8756194dbc5b3b091cd4345$__90638f191e5f906131f0908590600401614208565b5f60405180830381865af415801561320a573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526132319190810190615452565b613a5c565b505050565b5f6132458461375e565b90505f3460098301546132689190600160781b90046001600160481b0316614f9f565b6009830180546001600160481b038316600160781b0268ffffffffffffffffff60781b19909116179055604080516001600160401b03881681523360208201523a818301526060810183905290519192507f66f95ec285ca572fa1cac40e7019e14ab45a8fc619c6405222e8af55534c2f67919081900360800190a15050505050565b6132f361367b565b600180546001600160a01b0383166001600160a01b031990911681179091556133235f546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6133a16040518060a001604052805f6001600160a01b031681526020015f6001600160401b031681526020015f63ffffffff1681526020015f8152602001606081525090565b5f8281525f516020615fa75f395f51905f526020526040902060018101805461ffff91906133ce9061502b565b905011156134125750506040805160a0810182525f808252602080830182905282840182905260608301829052835191825281019092526080810191909152919050565b600381015415613507576040805160a08101825260048301546001600160a01b038116825263ffffffff600160a01b82048116602080850191909152600160c01b90920490911c1691810191909152600582015460608201526006820180546080830191906134809061502b565b80601f01602080910402602001604051908101604052809291908181526020018280546134ac9061502b565b80156134f75780601f106134ce576101008083540402835291602001916134f7565b820191905f5260205f20905b8154815290600101906020018083116134da57829003601f168201915b5050505050815250915050919050565b6040805160a08101825260048301546001600160a01b038116825260098401546001600160401b03600160c01b9182900416602084015263ffffffff91041691810191909152600582015460608201526006820180546080830191906134809061502b565b6060816001600160401b038111156135865761358661433a565b6040519080825280602002602001820160405280156135bf57816020015b6135ac613d89565b8152602001906001900390816135a45790505b5090505f5b82811015611002576135f68484838181106135e1576135e1614f74565b90506020020160208101906105b6919061421b565b82828151811061360857613608614f74565b60209081029190910101526001016135c4565b816136295761362981613a5c565b5050565b5f61366f86868686868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061380c92505050565b9050611540338261394a565b5f546001600160a01b031633146125805760405163118cdaa760e01b815233600482015260240161044f565b5f5f826020015161ffff161180156136c85750607f826020015161ffff1611155b8015610f13575050604001516001600160401b0316151590565b5f6136f08686868686613a81565b90507ffb94adf28ab7e538d2691d90927f622cbc1100eae6afec58052efdee6c98a61681346040518060400160405280866020015160ff16815260200186604001516001600160401b031681525060405161374d93929190615dbf565b60405180910390a195945050505050565b5f9081525f516020615fa75f395f51905f526020526040902090565b600180546001600160a01b031916905561266081613bec565b73__$713c4f4487e8756194dbc5b3b091cd4345$__634c9f72e3828060200190518101906137c19190615dee565b6040518263ffffffff1660e01b81526004016137dd9190615e89565b5f6040518083038186803b1580156137f3575f5ffd5b505af4158015613805573d5f5f3e3d5ffd5b5050505050565b5f6138c86001604051631bc1eaf360e21b81526004810188905273__$713c4f4487e8756194dbc5b3b091cd4345$__90636f07abcc90602401602060405180830381865af4158015613860573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138849190615069565b6006811115613895576138956141e4565b14604051806040016040528060148152602001736e6f7420696e20506f737465642073746174757360601b81525061361b565b604051637102a0df60e11b815273__$713c4f4487e8756194dbc5b3b091cd4345$__9063e20541be9061390b9033903a9043908b908b908b908b90600401615ec9565b602060405180830381865af4158015613926573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611540919061580d565b6040516001600160a01b0383169082156108fc029083905f818181858888f19350505050158015613236573d5f5f3e3d5ffd5b60605f61398983613c3b565b6001600160401b038111156139a0576139a061433a565b6040519080825280601f01601f1916602001820160405280156139ca576020820181803683370190505b5090505f5b8151811015611002578381602081106139ea576139ea614f74565b1a60f81b828281518110613a0057613a00614f74565b60200101906001600160f81b03191690815f1a9053506001016139cf565b604080516001600160a01b038316602082015246918101919091525f906060015b604051602081830303815290604052805190602001209050919050565b613a64612ec7565b81604051602001610429929190615496565b612580613231613c73565b5f5f516020615f875f395f51905f5280545f90613aa6906001600160401b0316615f19565b91906101000a8154816001600160401b0302191690836001600160401b0316021790556001600160401b031690505f613ade8261375e565b6009810180546001600160c01b0316600160c01b436001600160401b0316021790559050613b158285613b1086613cc2565b613d15565b60098201805460889290921c6001600160c01b031990921691909117600160781b6001600160481b0388160217905580546001600160a01b0319166001600160a01b0388161781556002810184905562ffffff861615613b8a57805462ffffff60a01b1916600160a01b62ffffff8816021781555b82516008909101805460208501516040909501516001600160401b0316640100000000026bffffffffffffffff000000001961ffff968716620100000263ffffffff199093169690941695909517179190911692909217909155949350505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f5b60208110156120bf57818160208110613c5857613c58614f74565b1a60f81b6001600160f81b031916156120bf57600101613c3d565b60606040518060400160405260108152806020016f2bb4ba27b930b1b632a230ba30a634b160811b815250604051602001613cae9190615f43565b604051602081830303815290604052905090565b5f815f015182602001518360400151604051602001613a3f9392919060f093841b6001600160f01b031990811682529290931b909116600283015260c01b6001600160c01b0319166004820152600c0190565b5f613d1f30613a1e565b613d2a600143615f73565b604080516001600160e01b031990931660208401529040908201526001600160401b03851660608201526080810184905260a0810183905260c0016040516020818303038152906040528051906020012090509392505050565b905290565b6040805160a0810182525f808252602080830182905282840182905283516080810185528281529081018290529283015260608281018190529091908201908152602001606081525090565b6040805160c08101909152805f81526020015f81526020015f81526020015f81526020015f6001600160401b03168152602001613d84604080516101008101909152606060c082019081525f60e0830152819081525f6020820181905260408201819052606082018190526080820181905260a09091015290565b6040518060400160405280613e9e6040805160c0810182525f80825260208083018290528284018290526060808401526080830182905283518085019094528184528301529060a082015290565b81526040805160a0810182525f80825260208281018290529282018190526060808301919091526080820152910190613d84565b5f81518060208401855e5f93019283525090919050565b7f5769746e657455706772616461626c65426173653a206e6f7420696d706c656d8152680cadce8cac8744060f60bb1b60208201525f61153d613f41613f3b613f35602986018a613ed2565b88613ed2565b86613ed2565b84613ed2565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f61172d6020830184613f47565b6001600160a01b0381168114612660575f5ffd5b5f60208284031215613fab575f5ffd5b813561172d81613f87565b62ffffff81168114612660575f5ffd5b5f5f60408385031215613fd7575f5ffd5b823591506020830135613fe981613fb6565b809150509250929050565b5f5f83601f840112614004575f5ffd5b5081356001600160401b0381111561401a575f5ffd5b6020830191508360208260051b8501011115614034575f5ffd5b9250929050565b5f5f6020838503121561404c575f5ffd5b82356001600160401b03811115614061575f5ffd5b61406d85828601613ff4565b90969095509350505050565b5f60208284031215614089575f5ffd5b5035919050565b60018060a01b03815116825262ffffff60208201511660208301526001600160481b0360408201511660408301525f606082015160e060608501526140d860e0850182613f47565b90506080830151608085015260a083015161410c60a0860182805160ff1682526020908101516001600160401b0316910152565b509392505050565b602081525f61172d6020830184614090565b6001600160401b0381168114612660575f5ffd5b5f5f83601f84011261414a575f5ffd5b5081356001600160401b03811115614160575f5ffd5b602083019150836020828501011115614034575f5ffd5b5f5f5f5f5f6080868803121561418b575f5ffd5b853561419681614126565b945060208601356141a681614126565b93506040860135925060608601356001600160401b038111156141c7575f5ffd5b6141d38882890161413a565b969995985093965092949392505050565b634e487b7160e01b5f52602160045260245ffd5b60078110612660576126606141e4565b60208101614215836141f8565b91905290565b5f6020828403121561422b575f5ffd5b813561172d81614126565b6001600160401b03815116825270ffffffffffffffffffffffffffffffffff1960208201511660208301526001600160481b0360408201511660408301525f606082015160a06060850152610120840161ffff82511660a086015261ffff60208301511660c08601526001600160401b0360408301511660e0860152606082015191506080610100860152808251808352610140870191506020840193505f92505b808310156143045783516001600160601b031916825260209384019360019390930192909101906142d8565b5060808501519250858103608087015261431e8184613f47565b9695505050505050565b602081525f61172d6020830184614236565b634e487b7160e01b5f52604160045260245ffd5b606081018181106001600160401b038211171561436d5761436d61433a565b60405250565b604081018181106001600160401b038211171561436d5761436d61433a565b608081018181106001600160401b038211171561436d5761436d61433a565b60a081018181106001600160401b038211171561436d5761436d61433a565b60c081018181106001600160401b038211171561436d5761436d61433a565b601f8201601f191681016001600160401b03811182821017156144145761441461433a565b6040525050565b60405161442960c0826143ef565b90565b61ffff81168114612660575f5ffd5b5f6060828403121561444b575f5ffd5b6040516144578161434e565b80915082356144658161442c565b815260208301356144758161442c565b6020820152604083013561448881614126565b6040919091015292915050565b5f5f5f83850360c08112156144a8575f5ffd5b843593506144b9866020870161443b565b92506040607f19820112156144cc575f5ffd5b506040516144d981614373565b60808501356144e781613f87565b815260a08501356144f781613fb6565b602082015292959194509192509050565b5f60408284031215611496575f5ffd5b5f5f60608385031215614529575f5ffd5b8235915061453a8460208501614508565b90509250929050565b5f6001600160401b0382111561455b5761455b61433a565b50601f01601f191660200190565b5f82601f830112614578575f5ffd5b813561458381614543565b60405161459082826143ef565b8281528560208487010111156145a4575f5ffd5b826020860160208301375f92810160200192909252509392505050565b5f602082840312156145d1575f5ffd5b81356001600160401b038111156145e6575f5ffd5b61122084828501614569565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561464957603f19878603018452614634858351613f47565b94506020938401939190910190600101614618565b50929695505050505050565b6101008110614666576146666141e4565b9052565b60208101610f138284614655565b5f6001600160401b038211156146905761469061433a565b5060051b60200190565b5f602082840312156146aa575f5ffd5b81356001600160401b038111156146bf575f5ffd5b8201601f810184136146cf575f5ffd5b80356146da81614678565b6040516146e782826143ef565b80915082815260208101915060208360051b85010192508683111561470a575f5ffd5b602084015b838110156147b65780356001600160401b0381111561472c575f5ffd5b85016080818a03601f19011215614741575f5ffd5b60405161474d81614392565b602082013561475b81614126565b8152604082013561476b81614126565b60208201526060820135604082015260808201356001600160401b03811115614792575f5ffd5b6147a18b602083860101614569565b6060830152508452506020928301920161470f565b509695505050505050565b5f602082840312156147d1575f5ffd5b81356001600160401b038111156147e6575f5ffd5b8201601f810184136147f6575f5ffd5b803561480181614678565b60405161480e82826143ef565b80915082815260208101915060208360051b850101925086831115614831575f5ffd5b6020840193505b8284101561431e57833561484b81614126565b825260209384019390910190614838565b602080825282518282018190525f918401906040840190835b8181101561489c578351614888816141f8565b835260209384019390920191600101614875565b509095945050505050565b602081526148b9602082018351614655565b5f6020830151601481106148cf576148cf6141e4565b8060408401525060408301516060830152606083015160808301526001600160401b0360808401511660a083015260a083015160c080840152805160c060e0850152805160406101a08601526149296101e0860182613f47565b6020928301516101c08701529183015160ff166101008601525060408201519061495961012086018360ff169052565b606083015160ff1661014086015260808301516001600160401b0380821661016088015260a0909401519384166101808701529150611540565b5f5f5f5f606085870312156149a6575f5ffd5b843593506020850135925060408501356001600160401b038111156149c9575f5ffd5b6149d58782880161413a565b95989497509550505050565b5f5f5f604084860312156149f3575f5ffd5b8335925060208401356001600160401b03811115614a0f575f5ffd5b614a1b86828701613ff4565b9497909650939450505050565b5f5f5f60408486031215614a3a575f5ffd5b83356001600160401b03811115614a4f575f5ffd5b840160e08187031215614a60575f5ffd5b925060208401356001600160401b03811115614a7a575f5ffd5b614a1b8682870161413a565b5f5f5f5f60608587031215614a99575f5ffd5b8435614aa481614126565b93506020850135925060408501356001600160401b038111156149c9575f5ffd5b5f5f60408385031215614ad6575f5ffd5b823591506020830135613fe98161442c565b60018060a01b03815116825262ffffff60208201511660208301525f604082015160806040850152614b1d6080850182613f47565b606093840151949093019390935250919050565b60018060a01b0381511682526001600160401b036020820151166020830152604081015160408301525f606082015160a06060850152614b7460a0850182613f47565b6080938401516001600160a01b0316949093019390935250919050565b602081525f82516101006020840152614bae610120840182614ae8565b90506020840151601f19848303016040850152614bcb8282614b31565b9150506040840151614c08606085018261ffff815116825261ffff60208201511660208301526001600160401b0360408201511660408301525050565b5060608401516001600160881b03191660c084015260808401516001600160481b031660e084015260a0909301516001600160401b0316610100909201919091525090565b5f5f5f5f5f5f60808789031215614c62575f5ffd5b86356001600160401b03811115614c77575f5ffd5b614c8389828a01613ff4565b90975095505060208701356001600160401b03811115614ca1575f5ffd5b614cad89828a0161413a565b979a9699509760408101359660609091013595509350505050565b5f5f60408385031215614cd9575f5ffd5b50508035926020909101359150565b5f5f60808385031215614cf9575f5ffd5b8235915061453a846020850161443b565b602081525f61172d6020830184614ae8565b6020815260ff82511660208201525f60208301516040808401526112206060840182613f47565b60018060a01b0381511682526001600160401b03602082015116602083015263ffffffff6040820151166040830152606081015160608301525f608082015160a0608085015261122060a0850182613f47565b602081525f825160406020840152614db16060840182614090565b90506020840151601f198483030160408501526115408282614d43565b803563ffffffff811681146120bf575f5ffd5b5f5f5f5f5f60808688031215614df5575f5ffd5b853594506141a660208701614dce565b602081525f61172d6020830184614b31565b5f5f5f60a08486031215614e29575f5ffd5b8335925060208401359150614e41856040860161443b565b90509250925092565b5f5f5f60808486031215614e5c575f5ffd5b83359250614e6d8560208601614508565b91506060840135614e7d81613fb6565b809150509250925092565b602081525f61172d6020830184614d43565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561464957603f19878603018452614edc858351614236565b94506020938401939190910190600101614ec0565b634e487b7160e01b5f52601260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60ff831680614f2b57614f2b614ef1565b8060ff84160491505092915050565b60ff8181168382160190811115610f1357610f13614f05565b5f60ff831680614f6557614f65614ef1565b8060ff84160691505092915050565b634e487b7160e01b5f52603260045260245ffd5b8082028115828204841417610f1357610f13614f05565b80820180821115610f1357610f13614f05565b5f8235607e19833603018112614fc6575f5ffd5b9190910192915050565b5f60208284031215614fe0575f5ffd5b61172d82614dce565b5f5f8335601e19843603018112614ffe575f5ffd5b8301803591506001600160401b03821115615017575f5ffd5b602001915036819003821315614034575f5ffd5b600181811c9082168061503f57607f821691505b60208210810361149657634e487b7160e01b5f52602260045260245ffd5b60078110612660575f5ffd5b5f60208284031215615079575f5ffd5b815161172d8161505d565b602080825281018290525f8360408301825b858110156150c65782356150a981613f87565b6001600160a01b0316825260209283019290910190600101615096565b5095945050505050565b80516120bf81614126565b80516001600160881b0319811681146120bf575f5ffd5b80516001600160481b03811681146120bf575f5ffd5b6001600160601b031981168114612660575f5ffd5b5f6080828403121561512d575f5ffd5b60405161513981614392565b80915082516151478161442c565b815260208301516151578161442c565b6020820152604083015161516a81614126565b604082015260608301516001600160401b03811115615187575f5ffd5b8301601f81018513615197575f5ffd5b80516151a281614678565b6040516151af82826143ef565b80915082815260208101915060208360051b8501019250878311156151d2575f5ffd5b6020840193505b828410156151fd5783516151ec81615108565b8252602093840193909101906151d9565b806060860152505050505092915050565b5f61521883614543565b60405161522582826143ef565b809250848152858585011115615239575f5ffd5b8484602083015e5f6020868301015250509392505050565b5f82601f830112615260575f5ffd5b61172d8383516020850161520e565b5f6020828403121561527f575f5ffd5b81516001600160401b03811115615294575f5ffd5b820160a081850312156152a5575f5ffd5b6040516152b1816143b1565b81516152bc81614126565b81526152ca602083016150db565b60208201526152db604083016150f2565b604082015260608201516001600160401b038111156152f8575f5ffd5b6153048682850161511d565b60608301525060808201516001600160401b03811115615322575f5ffd5b61532e86828501615251565b608083015250949350505050565b5f6020828403121561534c575f5ffd5b8151801515811461172d575f5ffd5b858152602081018590526001600160401b03841660408201526060810183905260e0810161431e608083018461ffff815116825261ffff60208201511660208301526001600160401b0360408201511660408301525050565b60ff81168114612660575f5ffd5b5f602082840312156153d2575f5ffd5b813561172d816153b4565b5f5f604083850312156153ee575f5ffd5b82516153f981613f87565b60208401519092506001600160401b03811115615414575f5ffd5b61542085828601615251565b9150509250929050565b805161010081106120bf575f5ffd5b5f60208284031215615449575f5ffd5b61172d8261542a565b5f60208284031215615462575f5ffd5b81516001600160401b03811115615477575f5ffd5b8201601f81018413615487575f5ffd5b6112208482516020840161520e565b5f6154a18285613ed2565b6101d160f51b81526115406002820185613ed2565b6001600160401b0383168152604060208201525f6112206040830184613f47565b5f6154e28284613ed2565b743a20696e76616c6964207265706f7274206461746160581b81526015019392505050565b6001600160a01b03831681526040602080830182905283519183018290525f91908401906060840190835b818110156155595783516001600160401b0316835260209384019390920191600101615532565b50909695505050505050565b5f60208284031215615575575f5ffd5b81516001600160401b0381111561558a575f5ffd5b8201601f8101841361559a575f5ffd5b80516155a581614678565b6040516155b282826143ef565b80915082815260208101915060208360051b8501019250868311156155d5575f5ffd5b602084015b838110156147b65780516001600160401b038111156155f7575f5ffd5b61560689602083890101615251565b845250602092830192016155da565b80516120bf816153b4565b5f60c08284031215615630575f5ffd5b60405161563c816143d0565b80915082516001600160401b03811115615654575f5ffd5b830160408186031215615665575f5ffd5b60405161567181614373565b81516001600160401b03811115615686575f5ffd5b61569287828501615251565b8252506020918201518282015282526156ac908401615615565b60208201526156bd60408401615615565b60408201526156ce60608401615615565b60608201526156df608084016150d0565b60808201526156f060a084016150d0565b60a08201525092915050565b5f60c0828403121561570c575f5ffd5b604051615718816143d0565b8091506157248361542a565b8152602083015160148110615737575f5ffd5b6020820152604083810151908201526060808401519082015261575c608084016150d0565b608082015260a08301516001600160401b03811115615779575f5ffd5b61578585828601615620565b60a0830152505092915050565b5f602082840312156157a2575f5ffd5b81516001600160401b038111156157b7575f5ffd5b611220848285016156fc565b83815260406020820181905281018290525f8360608301825b858110156147b65782356157ef81615108565b6001600160601b0319168252602092830192909101906001016157dc565b5f6020828403121561581d575f5ffd5b5051919050565b602080825281018290525f8360408301825b858110156150c657823561584981615108565b6001600160601b031916825260209283019290910190600101615836565b80356158728161442c565b61ffff16825260208101356158868161442c565b61ffff166020830152604081013561589d81614126565b6001600160401b0381166040840152505050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b6040808252843582820152602085013560608301525f906159009060808401908701615867565b60a085013561590e81614126565b6001600160401b031660e083015260c085013536869003601e19018112615933575f5ffd5b85016020810190356001600160401b0381111561594e575f5ffd5b80360382131561595c575f5ffd5b60e0610100850152615973610120850182846158b1565b915050828103602084015261431e8185876158b1565b5f5f6040838503121561599a575f5ffd5b82516159a581613f87565b60208401519092506001600160401b038111156159c0575f5ffd5b615420858286016156fc565b6001600160a01b038816815260208101879052604081018690526159f36060820186615867565b6001600160401b03841660c082015261010060e08201525f615a1a610100830184866158b1565b9998505050505050505050565b5f60208284031215615a37575f5ffd5b61172d826150f2565b5f60033d11156144295760045f5f3e505f5160e01c90565b5f60443d1015615a655790565b6040513d600319016004823e80513d60248201116001600160401b0382111715615a8e57505090565b80820180516001600160401b03811115615aa9575050505090565b3d8401600319018282016020011115615ac3575050505090565b61410c602082850101856143ef565b5f60808284031215615ae2575f5ffd5b604051615aee81614392565b8091508251615afc81613f87565b81526020830151615b0c81613fb6565b602082015260408301516001600160401b03811115615b29575f5ffd5b615b3585828601615251565b604083015250606092830151920191909152919050565b5f60a08284031215615b5c575f5ffd5b604051615b68816143b1565b8091508251615b7681613f87565b81526020830151615b8681614126565b60208201526040838101519082015260608301516001600160401b03811115615bad575f5ffd5b615bb985828601615251565b6060830152506080830151615bcd81613f87565b6080919091015292915050565b5f60608284031215615bea575f5ffd5b604051615bf68161434e565b8091508251615c048161442c565b81526020830151615c148161442c565b6020820152604083015161448881614126565b5f60208284031215615c37575f5ffd5b81516001600160401b03811115615c4c575f5ffd5b82016101008185031215615c5e575f5ffd5b615c6661441b565b81516001600160401b03811115615c7b575f5ffd5b615c8786828501615ad2565b82525060208201516001600160401b03811115615ca2575f5ffd5b615cae86828501615b4c565b602083015250615cc18560408401615bda565b6040820152615cd260a083016150db565b6060820152615ce360c083016150f2565b6080820152615cf460e083016150d0565b60a0820152949350505050565b5f60208284031215615d11575f5ffd5b81516001600160401b03811115615d26575f5ffd5b61122084828501615ad2565b6001600160401b038181168382160190811115610f1357610f13614f05565b5f60208284031215615d61575f5ffd5b81516001600160401b03811115615d76575f5ffd5b61122084828501615b4c565b61ffff8281168282160390811115610f1357610f13614f05565b5f61ffff831680615daf57615daf614ef1565b8061ffff84160491505092915050565b8381526020808201849052825160ff1660408301528201516001600160401b0316606082015260808101611220565b5f60208284031215615dfe575f5ffd5b81516001600160401b03811115615e13575f5ffd5b8201601f81018413615e23575f5ffd5b8051615e2e81614678565b604051615e3b82826143ef565b80915082815260208101915060208360051b850101925086831115615e5e575f5ffd5b6020840193505b8284101561431e578351615e7881613f87565b825260209384019390910190615e65565b602080825282518282018190525f918401906040840190835b8181101561489c5783516001600160a01b0316835260209384019390920191600101615ea2565b60018060a01b03881681528660208201526001600160401b03861660408201528460608201526001600160401b03841660808201528260a082015260e060c08201525f615a1a60e0830184613f47565b5f6001600160401b0382166001600160401b038103615f3a57615f3a614f05565b60010192915050565b5f615f4e8284613ed2565b741d103ab73430b7323632b21030b9b9b2b93a34b7b760591b81526015019392505050565b81810381811115610f1357610f13614f0556fef595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e183f595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e184a2646970667358221220a3b8e42c00a0c50076ca41aeefbb2aa59ec9cf3399c1fb0e5b8e51ae624283f164736f6c634300081e0033";
  readonly deployedBytecode: "0x6080604052600436106103cd575f3560e01c806376d0e357116101fc578063adb7c3f711610117578063d0a92a08116100aa578063e900aa3311610079578063e900aa3314610d4f578063ec5946db14610d62578063f2fde38b14610d75578063f61921b214610d94578063fb55e9f314610dc0576103cd565b8063d0a92a0814610cad578063d5f3948814610ccc578063e30c397814610cff578063e5a6b10f14610d1c576103cd565b8063bff852fa116100e6578063bff852fa14610c22578063c258134814610c36578063c805dd0f14610c55578063ca7da98b14610c81576103cd565b8063adb7c3f714610b9f578063aeb2ffc114610bb8578063b207e73014610be4578063b783922b14610c03576103cd565b80638d3d8b381161018f578063a58f68031161015e578063a58f680314610b01578063a667533f14610b14578063a77fc1a414610b40578063a9e954b914610b6c576103cd565b80638d3d8b3814610a735780638da5cb5b14610a9257806393d5185c14610aae5780639cc56e6714610ae2576103cd565b80637bd88218116101cb5780637bd88218146109ea5780637c1fbda314610a09578063838d44e214610a285780638cfcdea214610a47576103cd565b806376d0e3571461095757806379ba5097146109765780637b1039991461098a5780637bbdb96e146109bd576103cd565b80634cddf615116102ec57806359209b391161027f5780636d0d6a7e1161024e5780636d0d6a7e146108a35780636f07abcc146108c25780636fdaab7e146108e1578063715018a614610943576103cd565b806359209b391461081a5780636280bce81461084657806369978d7e146108655780636b58960a14610884576103cd565b80635304bba2116102bb5780635304bba2146107895780635479d940146107a857806354fd4d50146107da578063581f5094146107ee576103cd565b80634cddf615146106c55780634e6c13a1146106f15780635001f3b51461071057806352d1902d14610756576103cd565b8063378f35d9116103645780633fa59576116103335780633fa595761461060d578063439fab911461065b57806345ea6c171461067a5780634c9f72e3146106a6576103cd565b8063378f35d91461059c57806339a8653e146105c85780633b3195b7146105e75780633dc2b7a2146105fa576103cd565b80630aa4112a116103a05780630aa4112a146105045780631aea970b14610530578063234fe6e31461054f57806328a78d9b1461057b576103cd565b8063044ad7be1461045857806305e742ef1461048c57806306eb2c42146104b957806308b7e85e146104d8575b3480156103d8575f5ffd5b506103e65f3560f81c610dec565b6103f660ff5f3560f01c16610dec565b61040660ff5f3560e81c16610dec565b61041660ff5f3560e01c16610dec565b6040516020016104299493929190613ee9565b60408051601f198184030181529082905262461bcd60e51b825261044f91600401613f75565b60405180910390fd5b348015610463575f5ffd5b50610477610472366004613f9b565b610ed8565b60405190151581526020015b60405180910390f35b348015610497575f5ffd5b506104ab6104a6366004613fc6565b610f19565b604051908152602001610483565b3480156104c4575f5ffd5b506104ab6104d336600461403b565b611009565b3480156104e3575f5ffd5b506104f76104f2366004614079565b611228565b6040516104839190613f75565b34801561050f575f5ffd5b5061052361051e366004614079565b611248565b6040516104839190614114565b34801561053b575f5ffd5b506104ab61054a366004614177565b61149c565b34801561055a575f5ffd5b5061056e610569366004614079565b611549565b6040516104839190614208565b348015610586575f5ffd5b5061059a61059536600461403b565b6115be565b005b3480156105a7575f5ffd5b506105bb6105b636600461421b565b61162f565b6040516104839190614328565b3480156105d3575f5ffd5b506104ab6105e2366004614079565b611734565b6104ab6105f5366004614495565b611794565b6104ab610608366004614518565b611980565b348015610618575f5ffd5b5061062c610627366004614079565b6119d8565b604051610483949392919093845260208401929092526001600160401b03166040830152606082015260800190565b348015610666575f5ffd5b5061059a6106753660046145c1565b611a29565b348015610685575f5ffd5b5061069961069436600461403b565b611c5d565b60405161048391906145f2565b3480156106b1575f5ffd5b5061059a6106c036600461403b565b611d04565b3480156106d0575f5ffd5b506106e46106df366004614079565b611d45565b604051610483919061466a565b3480156106fc575f5ffd5b506104ab61070b36600461469a565b611db9565b34801561071b575f5ffd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610483565b348015610761575f5ffd5b506104ab7f000000000000000000000000000000000000000000000000000000000000000081565b348015610794575f5ffd5b506106996107a33660046147c1565b6120c4565b3480156107b3575f5ffd5b507f0000000000000000000000000000000000000000000000000000000000000000610477565b3480156107e5575f5ffd5b506104f7612161565b3480156107f9575f5ffd5b5061080d61080836600461403b565b612191565b604051610483919061485c565b348015610825575f5ffd5b50610839610834366004614079565b61224b565b60405161048391906148a7565b348015610851575f5ffd5b506104ab610860366004614993565b6122c7565b348015610870575f5ffd5b5061059a61087f3660046149e1565b6122ea565b34801561088f575f5ffd5b5061047761089e366004613f9b565b6123e6565b3480156108ae575f5ffd5b506108396108bd366004614a28565b61243a565b3480156108cd575f5ffd5b5061056e6108dc366004614079565b612535565b3480156108ec575f5ffd5b5061092b6108fb366004614079565b5f9081525f516020615fa75f395f51905f526020526040902060090154600160781b90046001600160481b031690565b6040516001600160481b039091168152602001610483565b34801561094e575f5ffd5b5061059a61256f565b348015610962575f5ffd5b506104ab610971366004614a86565b612582565b348015610981575f5ffd5b5061059a6125e9565b348015610995575f5ffd5b5061073e7f000000000000000000000000000000000000000000000000000000000000000081565b3480156109c8575f5ffd5b506109d1612663565b6040516001600160e01b03199091168152602001610483565b3480156109f5575f5ffd5b506104ab610a04366004614ac5565b61266d565b348015610a14575f5ffd5b5061092b610a23366004614079565b612677565b348015610a33575f5ffd5b506104f7610a42366004614079565b61276c565b348015610a52575f5ffd5b50610a66610a6136600461421b565b6127ee565b6040516104839190614b91565b348015610a7e575f5ffd5b506104f7610a8d366004614079565b612900565b348015610a9d575f5ffd5b505f546001600160a01b031661073e565b348015610ab9575f5ffd5b50610acd610ac8366004614c4d565b612915565b60408051928352602083019190915201610483565b348015610aed575f5ffd5b506104ab610afc366004614cc8565b612ac8565b6104ab610b0f366004614ce8565b612b8e565b348015610b1f575f5ffd5b50610b33610b2e36600461421b565b612c4d565b6040516104839190614d0a565b348015610b4b575f5ffd5b50610b5f610b5a366004614079565b612cff565b6040516104839190614d1c565b348015610b77575f5ffd5b507f00000000000000000000000000000000000000000000000000000000000000003f6104ab565b348015610baa575f5ffd5b506304722eaf60e31b6109d1565b348015610bc3575f5ffd5b50610bd7610bd2366004614079565b612de7565b6040516104839190614d96565b348015610bef575f5ffd5b506104ab610bfe366004614de1565b612e19565b348015610c0e575f5ffd5b50610839610c1d366004614a28565b612e43565b348015610c2d575f5ffd5b506104f7612ec7565b348015610c41575f5ffd5b506104f7610c50366004614079565b612efe565b348015610c60575f5ffd5b50610c69612fcf565b6040516001600160401b039091168152602001610483565b348015610c8c575f5ffd5b50610ca0610c9b36600461421b565b612ff3565b6040516104839190614e05565b348015610cb8575f5ffd5b506104ab610cc7366004614e17565b613098565b348015610cd7575f5ffd5b5061073e7f000000000000000000000000000000000000000000000000000000000000000081565b348015610d0a575f5ffd5b506001546001600160a01b031661073e565b348015610d27575f5ffd5b5061073e7f000000000000000000000000000000000000000000000000000000000000000081565b6104ab610d5d366004614e4a565b613122565b61059a610d70366004614079565b613192565b348015610d80575f5ffd5b5061059a610d8f366004613f9b565b6132eb565b348015610d9f575f5ffd5b50610db3610dae366004614079565b61335b565b6040516104839190614e88565b348015610dcb575f5ffd5b50610ddf610dda36600461403b565b61356c565b6040516104839190614e9a565b6040805160028082528183019092526060915f91906020820181803683370190505090505f610e1c601085614f19565b610e27906030614f3a565b90505f610e35601086614f53565b610e40906030614f3a565b905060398260ff161115610e5c57610e59600783614f3a565b91505b60398160ff161115610e7657610e73600782614f3a565b90505b8160f81b835f81518110610e8c57610e8c614f74565b60200101906001600160f81b03191690815f1a9053508060f81b83600181518110610eb957610eb9614f74565b60200101906001600160f81b03191690815f1a90535091949350505050565b6001600160a01b0381165f9081527ff595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e185602052604081205460ff165b92915050565b5f80610f467f00000000000000000000000000000000000000000000000000000000000000006003614f88565b610f70907f0000000000000000000000000000000000000000000000000000000000000000614f9f565b9050808362ffffff161080610fb2575080610fb062ffffff85167f0000000000000000000000000000000000000000000000000000000000000000614f9f565b105b15610fc957610fc18185614f88565b915050610f13565b610ff862ffffff84167f0000000000000000000000000000000000000000000000000000000000000000614f9f565b610fc19085614f88565b5092915050565b5f6110685f516020615f875f395f51905f525b335f908152600291909101602090815260409182902054825180840190935260158352743ab730baba3437b934bd32b2103932b837b93a32b960591b9183019190915260ff169061361b565b5f826001600160401b038111156110815761108161433a565b6040519080825280602002602001820160405280156110d057816020015b604080516080810182525f80825260208083018290529282015260608082015282525f1990920191018161109f5790505b5090505f5b838110156112165760405180608001604052808686848181106110fa576110fa614f74565b905060200281019061110c9190614fb2565b356001600160401b0316815260200186868481811061112d5761112d614f74565b905060200281019061113f9190614fb2565b611150906040810190602001614fd0565b63ffffffff16815260200186868481811061116d5761116d614f74565b905060200281019061117f9190614fb2565b60400135815260200186868481811061119a5761119a614f74565b90506020028101906111ac9190614fb2565b6111ba906060810190614fe9565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152505050915250825183908390811061120357611203614f74565b60209081029190910101526001016110d5565b5061122081611db9565b949350505050565b606061123382612677565b505060408051602081019091525f8152919050565b61128b6040805160c0810182525f80825260208083018290528284018290526060808401526080830182905283518085019094528184528301529060a082015290565b5f8281525f516020615fa75f395f51905f526020526040902060018101805461ffff91906112b89061502b565b90501115611313576040805160c0810182525f8082526020808301829052828401829052835180820185528281526060840152600290940154608083015282518084019093528083529282019290925260a082015292915050565b60038101541561143c576040805160c08101825282546001600160a01b0381168252600160a01b810462ffffff166020830152600160b81b90046001600160481b0316918101919091526001820180546060830191906113729061502b565b80601f016020809104026020016040519081016040528092919081815260200182805461139e9061502b565b80156113e95780601f106113c0576101008083540402835291602001916113e9565b820191905f5260205f20905b8154815290600101906020018083116113cc57829003601f168201915b5050509183525050600283015460208083019190915260408051808201825260089095015462010000810460ff16865264010000000090046001600160401b031691850191909152019190915292915050565b6040805160c08101825282546001600160a01b0381168252600160a01b900462ffffff1660208201526009830154600160781b90046001600160481b0316918101919091526001820180546060830191906113729061502b565b50919050565b5f6114b35f516020615f875f395f51905f5261101c565b6114ed6001600160401b03861615156040518060400160405280600d81526020016c06261642074696d657374616d7609c1b81525061361b565b604080518082019091526016815275726573756c742063616e6e6f7420626520656d70747960501b6020820152611527908315159061361b565b61153d866001600160401b03168686868661362d565b90505b95945050505050565b60405163234fe6e360e01b8152600481018290525f9073__$713c4f4487e8756194dbc5b3b091cd4345$__9063234fe6e3906024015b602060405180830381865af415801561159a573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f139190615069565b6115c661367b565b6040516328a78d9b60e01b815273__$713c4f4487e8756194dbc5b3b091cd4345$__906328a78d9b906115ff9085908590600401615084565b5f6040518083038186803b158015611615575f5ffd5b505af4158015611627573d5f5f3e3d5ffd5b505050505050565b611637613d89565b5f61164a836001600160401b0316612535565b90506001816006811115611660576116606141e4565b148061167d5750600481600681111561167b5761167b6141e4565b145b1561149657604051630d0843c160e31b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660048201526001600160401b038416602482015273__$713c4f4487e8756194dbc5b3b091cd4345$__906368421e08906044015f60405180830381865af4158015611706573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261172d919081019061526f565b9392505050565b5f6117607f00000000000000000000000000000000000000000000000000000000000000006004614f88565b61178a907f0000000000000000000000000000000000000000000000000000000000000000614f9f565b610f139083614f88565b5f346117a43a8460200151610f19565b6117dc81831015604051806040016040528060138152602001721a5b9cdd59999a58da595b9d081c995dd85c99606a1b81525061361b565b61181a6117ea82600a614f88565b8311156040518060400160405280600f81526020016e1d1bdbc81b5d58da081c995dd85c99608a1b81525061361b565b84611850611827826136a7565b6040518060400160405280600b81526020016a696e76616c696420534c4160a81b81525061361b565b846119165f825f01516001600160a01b03163b1180156118d4575081516040516323d0872b60e11b81523060048201526001600160a01b03909116906347a10e5690602401602060405180830381865afa1580156118b0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118d4919061533c565b80156118e857505f826020015162ffffff16115b6040518060400160405280601081526020016f696e76616c69642063616c6c6261636b60801b81525061361b565b8551602087015161192a9190348b8b6136e2565b9450336001600160a01b03167ffbe74eb38ea9de3d74d481a4f701ae121d794895c5797db8260d06d317901d263a34888c8c60405161196d95949392919061535b565b60405180910390a2505050509392505050565b5f61172d836040518060600160405280602061ffff168152602001855f0160208101906119ad91906153c2565b60ff1681526020908101906119c8906040880190880161421b565b6001600160401b03169052612b8e565b5f5f5f5f5f6119e68661375e565b600981015460058201546004909201546001600160881b0319608883901b16999298506001600160401b03600160c01b9182900481169850910416945092505050565b5f546001600160a01b031680611a5f5781806020019051810190611a4d91906153dd565b92509050611a5a8161377a565b611aa7565b336001600160a01b03821614611aa75760405162461bcd60e51b815260206004820152600d60248201526c3737ba103a34329037bbb732b960991b604482015260640161044f565b611ab082613793565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe5415801590611b2157507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbe547f00000000000000000000000000000000000000000000000000000000000000003f145b15611b6e5760405162461bcd60e51b815260206004820152601c60248201527f616c726561647920696e697469616c697a656420636f64656861736800000000604482015260640161044f565b7f00000000000000000000000000000000000000000000000000000000000000003f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc600201557f00000000000000000000000000000000000000000000000000000000000000003f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611c125f546001600160a01b031690565b6001600160a01b03167fe73e754121f0bad1327816970101955bfffdf53d270ac509d777c25be070d7f6611c44612161565b604051611c519190613f75565b60405180910390a45050565b60605f826001600160401b03811115611c7857611c7861433a565b604051908082528060200260200182016040528015611ca1578160200160208202803683370190505b5090505f5b8151811015611cfa57848482818110611cc157611cc1614f74565b90506020020135828281518110611cda57611cda614f74565b6001600160401b0390921660209283029190910190910152600101611ca6565b50611220816120c4565b611d0c61367b565b604051634c9f72e360e01b815273__$713c4f4487e8756194dbc5b3b091cd4345$__90634c9f72e3906115ff9085908590600401615084565b604051634cddf61560e01b8152600481018290525f9073__$713c4f4487e8756194dbc5b3b091cd4345$__90634cddf61590602401602060405180830381865af4158015611d95573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f139190615439565b5f611dd05f516020615f875f395f51905f5261101c565b5f5b82518110156120ae575f838281518110611dee57611dee614f74565b6020908102919091010151516001600160401b031690506001611e1082612535565b6006811115611e2157611e216141e4565b14611f1e577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f848381518110611e5957611e59614f74565b60200260200101515f0151611e6c612ec7565b604051638f191e5f60e01b815273__$713c4f4487e8756194dbc5b3b091cd4345$__90638f191e5f90611ea490600190600401614208565b5f60405180830381865af4158015611ebe573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611ee59190810190615452565b604051602001611ef6929190615496565b60408051601f1981840301815290829052611f1192916154b6565b60405180910390a16120a5565b426001600160401b0316848381518110611f3a57611f3a614f74565b6020026020010151602001516001600160401b03161180611f8d5750611f8d848381518110611f6b57611f6b614f74565b6020026020010151602001516001600160401b03166001600160401b03161590565b80611fb55750838281518110611fa557611fa5614f74565b602002602001015160600151515f145b15612010577f4df64445edc775fba59db44b8001852fb1b777eea88fd54f04572dd114e3ff7f848381518110611fed57611fed614f74565b60200260200101515f0151612000612ec7565b604051602001611ef691906154d7565b61209884838151811061202557612025614f74565b60200260200101515f01516001600160401b031685848151811061204b5761204b614f74565b60200260200101516020015186858151811061206957612069614f74565b60200260200101516040015187868151811061208757612087614f74565b60200260200101516060015161380c565b6120a29084614f9f565b92505b50600101611dd2565b5080156120bf576120bf338261394a565b919050565b604051633ab5a66d60e11b815260609073__$713c4f4487e8756194dbc5b3b091cd4345$__9063756b4cda90612120907f0000000000000000000000000000000000000000000000000000000000000000908690600401615507565b5f60405180830381865af415801561213a573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f139190810190615565565b606061218c7f000000000000000000000000000000000000000000000000000000000000000061397d565b905090565b6060816001600160401b038111156121ab576121ab61433a565b6040519080825280602002602001820160405280156121d4578160200160208202803683370190505b5090505f5b82811015611002576122028484838181106121f6576121f6614f74565b90506020020135612535565b82828151811061221457612214614f74565b6020026020010190600681111561222d5761222d6141e4565b90816006811115612240576122406141e4565b9052506001016121d9565b612253613dd5565b6040516359209b3960e01b81526004810183905273__$713c4f4487e8756194dbc5b3b091cd4345$__906359209b39906024015f60405180830381865af41580156122a0573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f139190810190615792565b5f6122de5f516020615f875f395f51905f5261101c565b61154085858585612582565b335f9081527ff595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e1866020908152604080832086845290915290819020905163faf9bbed60e01b815273__$713c4f4487e8756194dbc5b3b091cd4345$__9163faf9bbed9161235d9190869086906004016157c3565b602060405180830381865af4158015612378573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061239c919061580d565b5082336001600160a01b03167f23756db25709786dbc09e6af056afb44fb8ed4fb0201b7cbc24aecc8be0a45f684846040516123d9929190615824565b60405180910390a3505050565b5f7f00000000000000000000000000000000000000000000000000000000000000008015610f135750816001600160a01b031661242a5f546001600160a01b031690565b6001600160a01b03161492915050565b612442613dd5565b5f5f73__$713c4f4487e8756194dbc5b3b091cd4345$__631600b78b8787876040518463ffffffff1660e01b815260040161247f939291906158d9565b5f60405180830381865af4158015612499573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526124c09190810190615989565b909250905033327f7a9001dc4425127400f09e4c0b02908ad0e1f642ee9c92932a222c686674648284893560208b013560408c0161250460c08e0160a08f0161421b565b61251160c08f018f614fe9565b60405161252497969594939291906159cc565b60405180910390a395945050505050565b604051631bc1eaf360e21b8152600481018290525f9073__$713c4f4487e8756194dbc5b3b091cd4345$__90636f07abcc9060240161157f565b61257761367b565b6125805f61377a565b565b5f6125995f516020615f875f395f51905f5261101c565b604080518082019091526016815275726573756c742063616e6e6f7420626520656d70747960501b60208201526125d3908315159061361b565b611540856001600160401b03164286868661362d565b60015433906001600160a01b031681146126575760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b606482015260840161044f565b6126608161377a565b50565b5f61218c30613a1e565b5f61172d83611734565b604051637c1fbda360e01b8152600481018290525f9073__$713c4f4487e8756194dbc5b3b091cd4345$__90637c1fbda390602401602060405180830381865af49250505080156126e5575060408051601f3d908101601f191682019092526126e291810190615a27565b60015b612752576126f1615a40565b806308c379a0036127195750612705615a58565b80612710575061271b565b61149681613a5c565b505b3d808015612744576040519150601f19603f3d011682016040523d82523d5f602084013e612749565b606091505b50611496613a76565b6001600160481b038116801561100257611002338261394a565b606073__$713c4f4487e8756194dbc5b3b091cd4345$__634cbc7ff861279184612535565b6040518263ffffffff1660e01b81526004016127ad9190614208565b5f60405180830381865af41580156127c7573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f139190810190615452565b6128846040805161014081019091525f60c0820181815260e083018290526060610100840152610120830191909152819081526040805160a0810182525f808252602082810182905292820181905260608083015260808201529101908152604080516060810182525f80825260208281018290529282015291019081525f602082018190526040820181905260609091015290565b60405163467e6f5160e11b81526001600160401b038316600482015273__$713c4f4487e8756194dbc5b3b091cd4345$__90638cfcdea2906024015f60405180830381865af41580156128d9573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f139190810190615c27565b606061290b82612ff3565b6060015192915050565b5f80805b87811015612abc575f89898381811061293457612934614f74565b602002919091013591506001905061294b82612535565b600681111561295c5761295c6141e4565b03612ab3575f61296b8261375e565b8054909150600160a01b900462ffffff16156129fb57604080516060810182525f8152600883015461ffff62010000820416602083015264010000000090046001600160401b0316918101919091526129c79088908890613098565b81546129e0908990600160a01b900462ffffff16610f19565b6129ea9190614f9f565b6129f49085614f9f565b9350612a63565b60408051606081018252600883015461ffff808216835262010000820416602083015264010000000090046001600160401b031691810191909152612a439088908890613098565b612a4c88611734565b612a569190614f9f565b612a609085614f9f565b93505b6008810154612a839064010000000090046001600160401b031687614f88565b612a8d9085614f9f565b6009820154909450612aaf90600160781b90046001600160481b031686614f9f565b9450505b50600101612919565b50965096945050505050565b604051631a3b01e960e21b8152600481018290525f90612b85906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906368ec07a490602401602060405180830381865afa158015612b31573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b55919061533c565b604051806040016040528060128152602001710eadcd6dcdeeedc40e4c2c8dedc40d0c2e6d60731b81525061361b565b61172d83611734565b5f34612b993a611734565b612bd181831015604051806040016040528060138152602001721a5b9cdd59999a58da595b9d081c995dd85c99606a1b81525061361b565b612bdf6117ea82600a614f88565b83612bec611827826136a7565b612bf9335f3489896136e2565b9350336001600160a01b03167ffbe74eb38ea9de3d74d481a4f701ae121d794895c5797db8260d06d317901d263a34878a8a604051612c3c95949392919061535b565b60405180910390a250505092915050565b612c8360405180608001604052805f6001600160a01b031681526020015f62ffffff168152602001606081526020015f81525090565b60405163a667533f60e01b81526001600160401b038316600482015273__$713c4f4487e8756194dbc5b3b091cd4345$__9063a667533f906024015f60405180830381865af4158015612cd8573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f139190810190615d01565b604080518082019091525f8152606060208201525f612d1d8361224b565b90506040518060400160405280825f015160ff811115612d3f57612d3f6141e4565b60ff16815260200173__$39c1c75f9ff01712a7ae2d1d1d8c462aa1$__6371aad10d84604051602001612d7291906148a7565b6040516020818303038152906040526040518263ffffffff1660e01b8152600401612d9d9190613f75565b5f60405180830381865af4158015612db7573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612dde9190810190615452565b90529392505050565b612def613e50565b6040518060400160405280612e0384611248565b8152602001612e118461335b565b905292915050565b5f612e305f516020615f875f395f51905f5261101c565b61153d868663ffffffff1686868661149c565b612e4b613dd5565b604051631600b78b60e01b815273__$713c4f4487e8756194dbc5b3b091cd4345$__90631600b78b90612e86908790879087906004016158d9565b5f60405180830381865af4158015612ea0573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526115409190810190615989565b60408051808201909152601e81527f5769744f7261636c65547275737461626c654578706572696d656e74616c0000602082015290565b606073__$39c1c75f9ff01712a7ae2d1d1d8c462aa1$__6371aad10d73__$713c4f4487e8756194dbc5b3b091cd4345$__6359209b39856040518263ffffffff1660e01b8152600401612f5391815260200190565b5f60405180830381865af4158015612f6d573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052612f949190810190615792565b604051602001612fa491906148a7565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016127ad9190613f75565b5f5f516020615f875f395f51905f525461218c906001600160401b03166001615d32565b6040805160a0810182525f80825260208201819052918101829052606080820152608081019190915260405163ca7da98b60e01b81526001600160401b038316600482015273__$713c4f4487e8756194dbc5b3b091cd4345$__9063ca7da98b906024015f60405180830381865af4158015613071573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f139190810190615d51565b5f6020825f015161ffff16116130ae575f613100565b81516020906130be908290615d82565b6130c89190615d9c565b61ffff166130f67f000000000000000000000000000000000000000000000000000000000000000086614f88565b6131009190614f88565b6040830151613118906001600160401b031685614f88565b6112209190614f9f565b5f611220846040518060600160405280602061ffff168152602001865f01602081019061314f91906153c2565b60ff16815260209081019061316a906040890190890161421b565b6001600160401b031690526040805180820190915233815262ffffff86166020820152611794565b8060018061319f83612535565b60068111156131b0576131b06141e4565b1461323b57604051638f191e5f60e01b81526132369073__$713c4f4487e8756194dbc5b3b091cd4345$__90638f191e5f906131f0908590600401614208565b5f60405180830381865af415801561320a573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526132319190810190615452565b613a5c565b505050565b5f6132458461375e565b90505f3460098301546132689190600160781b90046001600160481b0316614f9f565b6009830180546001600160481b038316600160781b0268ffffffffffffffffff60781b19909116179055604080516001600160401b03881681523360208201523a818301526060810183905290519192507f66f95ec285ca572fa1cac40e7019e14ab45a8fc619c6405222e8af55534c2f67919081900360800190a15050505050565b6132f361367b565b600180546001600160a01b0383166001600160a01b031990911681179091556133235f546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6133a16040518060a001604052805f6001600160a01b031681526020015f6001600160401b031681526020015f63ffffffff1681526020015f8152602001606081525090565b5f8281525f516020615fa75f395f51905f526020526040902060018101805461ffff91906133ce9061502b565b905011156134125750506040805160a0810182525f808252602080830182905282840182905260608301829052835191825281019092526080810191909152919050565b600381015415613507576040805160a08101825260048301546001600160a01b038116825263ffffffff600160a01b82048116602080850191909152600160c01b90920490911c1691810191909152600582015460608201526006820180546080830191906134809061502b565b80601f01602080910402602001604051908101604052809291908181526020018280546134ac9061502b565b80156134f75780601f106134ce576101008083540402835291602001916134f7565b820191905f5260205f20905b8154815290600101906020018083116134da57829003601f168201915b5050505050815250915050919050565b6040805160a08101825260048301546001600160a01b038116825260098401546001600160401b03600160c01b9182900416602084015263ffffffff91041691810191909152600582015460608201526006820180546080830191906134809061502b565b6060816001600160401b038111156135865761358661433a565b6040519080825280602002602001820160405280156135bf57816020015b6135ac613d89565b8152602001906001900390816135a45790505b5090505f5b82811015611002576135f68484838181106135e1576135e1614f74565b90506020020160208101906105b6919061421b565b82828151811061360857613608614f74565b60209081029190910101526001016135c4565b816136295761362981613a5c565b5050565b5f61366f86868686868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061380c92505050565b9050611540338261394a565b5f546001600160a01b031633146125805760405163118cdaa760e01b815233600482015260240161044f565b5f5f826020015161ffff161180156136c85750607f826020015161ffff1611155b8015610f13575050604001516001600160401b0316151590565b5f6136f08686868686613a81565b90507ffb94adf28ab7e538d2691d90927f622cbc1100eae6afec58052efdee6c98a61681346040518060400160405280866020015160ff16815260200186604001516001600160401b031681525060405161374d93929190615dbf565b60405180910390a195945050505050565b5f9081525f516020615fa75f395f51905f526020526040902090565b600180546001600160a01b031916905561266081613bec565b73__$713c4f4487e8756194dbc5b3b091cd4345$__634c9f72e3828060200190518101906137c19190615dee565b6040518263ffffffff1660e01b81526004016137dd9190615e89565b5f6040518083038186803b1580156137f3575f5ffd5b505af4158015613805573d5f5f3e3d5ffd5b5050505050565b5f6138c86001604051631bc1eaf360e21b81526004810188905273__$713c4f4487e8756194dbc5b3b091cd4345$__90636f07abcc90602401602060405180830381865af4158015613860573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138849190615069565b6006811115613895576138956141e4565b14604051806040016040528060148152602001736e6f7420696e20506f737465642073746174757360601b81525061361b565b604051637102a0df60e11b815273__$713c4f4487e8756194dbc5b3b091cd4345$__9063e20541be9061390b9033903a9043908b908b908b908b90600401615ec9565b602060405180830381865af4158015613926573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611540919061580d565b6040516001600160a01b0383169082156108fc029083905f818181858888f19350505050158015613236573d5f5f3e3d5ffd5b60605f61398983613c3b565b6001600160401b038111156139a0576139a061433a565b6040519080825280601f01601f1916602001820160405280156139ca576020820181803683370190505b5090505f5b8151811015611002578381602081106139ea576139ea614f74565b1a60f81b828281518110613a0057613a00614f74565b60200101906001600160f81b03191690815f1a9053506001016139cf565b604080516001600160a01b038316602082015246918101919091525f906060015b604051602081830303815290604052805190602001209050919050565b613a64612ec7565b81604051602001610429929190615496565b612580613231613c73565b5f5f516020615f875f395f51905f5280545f90613aa6906001600160401b0316615f19565b91906101000a8154816001600160401b0302191690836001600160401b0316021790556001600160401b031690505f613ade8261375e565b6009810180546001600160c01b0316600160c01b436001600160401b0316021790559050613b158285613b1086613cc2565b613d15565b60098201805460889290921c6001600160c01b031990921691909117600160781b6001600160481b0388160217905580546001600160a01b0319166001600160a01b0388161781556002810184905562ffffff861615613b8a57805462ffffff60a01b1916600160a01b62ffffff8816021781555b82516008909101805460208501516040909501516001600160401b0316640100000000026bffffffffffffffff000000001961ffff968716620100000263ffffffff199093169690941695909517179190911692909217909155949350505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f5b60208110156120bf57818160208110613c5857613c58614f74565b1a60f81b6001600160f81b031916156120bf57600101613c3d565b60606040518060400160405260108152806020016f2bb4ba27b930b1b632a230ba30a634b160811b815250604051602001613cae9190615f43565b604051602081830303815290604052905090565b5f815f015182602001518360400151604051602001613a3f9392919060f093841b6001600160f01b031990811682529290931b909116600283015260c01b6001600160c01b0319166004820152600c0190565b5f613d1f30613a1e565b613d2a600143615f73565b604080516001600160e01b031990931660208401529040908201526001600160401b03851660608201526080810184905260a0810183905260c0016040516020818303038152906040528051906020012090509392505050565b905290565b6040805160a0810182525f808252602080830182905282840182905283516080810185528281529081018290529283015260608281018190529091908201908152602001606081525090565b6040805160c08101909152805f81526020015f81526020015f81526020015f81526020015f6001600160401b03168152602001613d84604080516101008101909152606060c082019081525f60e0830152819081525f6020820181905260408201819052606082018190526080820181905260a09091015290565b6040518060400160405280613e9e6040805160c0810182525f80825260208083018290528284018290526060808401526080830182905283518085019094528184528301529060a082015290565b81526040805160a0810182525f80825260208281018290529282018190526060808301919091526080820152910190613d84565b5f81518060208401855e5f93019283525090919050565b7f5769746e657455706772616461626c65426173653a206e6f7420696d706c656d8152680cadce8cac8744060f60bb1b60208201525f61153d613f41613f3b613f35602986018a613ed2565b88613ed2565b86613ed2565b84613ed2565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f61172d6020830184613f47565b6001600160a01b0381168114612660575f5ffd5b5f60208284031215613fab575f5ffd5b813561172d81613f87565b62ffffff81168114612660575f5ffd5b5f5f60408385031215613fd7575f5ffd5b823591506020830135613fe981613fb6565b809150509250929050565b5f5f83601f840112614004575f5ffd5b5081356001600160401b0381111561401a575f5ffd5b6020830191508360208260051b8501011115614034575f5ffd5b9250929050565b5f5f6020838503121561404c575f5ffd5b82356001600160401b03811115614061575f5ffd5b61406d85828601613ff4565b90969095509350505050565b5f60208284031215614089575f5ffd5b5035919050565b60018060a01b03815116825262ffffff60208201511660208301526001600160481b0360408201511660408301525f606082015160e060608501526140d860e0850182613f47565b90506080830151608085015260a083015161410c60a0860182805160ff1682526020908101516001600160401b0316910152565b509392505050565b602081525f61172d6020830184614090565b6001600160401b0381168114612660575f5ffd5b5f5f83601f84011261414a575f5ffd5b5081356001600160401b03811115614160575f5ffd5b602083019150836020828501011115614034575f5ffd5b5f5f5f5f5f6080868803121561418b575f5ffd5b853561419681614126565b945060208601356141a681614126565b93506040860135925060608601356001600160401b038111156141c7575f5ffd5b6141d38882890161413a565b969995985093965092949392505050565b634e487b7160e01b5f52602160045260245ffd5b60078110612660576126606141e4565b60208101614215836141f8565b91905290565b5f6020828403121561422b575f5ffd5b813561172d81614126565b6001600160401b03815116825270ffffffffffffffffffffffffffffffffff1960208201511660208301526001600160481b0360408201511660408301525f606082015160a06060850152610120840161ffff82511660a086015261ffff60208301511660c08601526001600160401b0360408301511660e0860152606082015191506080610100860152808251808352610140870191506020840193505f92505b808310156143045783516001600160601b031916825260209384019360019390930192909101906142d8565b5060808501519250858103608087015261431e8184613f47565b9695505050505050565b602081525f61172d6020830184614236565b634e487b7160e01b5f52604160045260245ffd5b606081018181106001600160401b038211171561436d5761436d61433a565b60405250565b604081018181106001600160401b038211171561436d5761436d61433a565b608081018181106001600160401b038211171561436d5761436d61433a565b60a081018181106001600160401b038211171561436d5761436d61433a565b60c081018181106001600160401b038211171561436d5761436d61433a565b601f8201601f191681016001600160401b03811182821017156144145761441461433a565b6040525050565b60405161442960c0826143ef565b90565b61ffff81168114612660575f5ffd5b5f6060828403121561444b575f5ffd5b6040516144578161434e565b80915082356144658161442c565b815260208301356144758161442c565b6020820152604083013561448881614126565b6040919091015292915050565b5f5f5f83850360c08112156144a8575f5ffd5b843593506144b9866020870161443b565b92506040607f19820112156144cc575f5ffd5b506040516144d981614373565b60808501356144e781613f87565b815260a08501356144f781613fb6565b602082015292959194509192509050565b5f60408284031215611496575f5ffd5b5f5f60608385031215614529575f5ffd5b8235915061453a8460208501614508565b90509250929050565b5f6001600160401b0382111561455b5761455b61433a565b50601f01601f191660200190565b5f82601f830112614578575f5ffd5b813561458381614543565b60405161459082826143ef565b8281528560208487010111156145a4575f5ffd5b826020860160208301375f92810160200192909252509392505050565b5f602082840312156145d1575f5ffd5b81356001600160401b038111156145e6575f5ffd5b61122084828501614569565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561464957603f19878603018452614634858351613f47565b94506020938401939190910190600101614618565b50929695505050505050565b6101008110614666576146666141e4565b9052565b60208101610f138284614655565b5f6001600160401b038211156146905761469061433a565b5060051b60200190565b5f602082840312156146aa575f5ffd5b81356001600160401b038111156146bf575f5ffd5b8201601f810184136146cf575f5ffd5b80356146da81614678565b6040516146e782826143ef565b80915082815260208101915060208360051b85010192508683111561470a575f5ffd5b602084015b838110156147b65780356001600160401b0381111561472c575f5ffd5b85016080818a03601f19011215614741575f5ffd5b60405161474d81614392565b602082013561475b81614126565b8152604082013561476b81614126565b60208201526060820135604082015260808201356001600160401b03811115614792575f5ffd5b6147a18b602083860101614569565b6060830152508452506020928301920161470f565b509695505050505050565b5f602082840312156147d1575f5ffd5b81356001600160401b038111156147e6575f5ffd5b8201601f810184136147f6575f5ffd5b803561480181614678565b60405161480e82826143ef565b80915082815260208101915060208360051b850101925086831115614831575f5ffd5b6020840193505b8284101561431e57833561484b81614126565b825260209384019390910190614838565b602080825282518282018190525f918401906040840190835b8181101561489c578351614888816141f8565b835260209384019390920191600101614875565b509095945050505050565b602081526148b9602082018351614655565b5f6020830151601481106148cf576148cf6141e4565b8060408401525060408301516060830152606083015160808301526001600160401b0360808401511660a083015260a083015160c080840152805160c060e0850152805160406101a08601526149296101e0860182613f47565b6020928301516101c08701529183015160ff166101008601525060408201519061495961012086018360ff169052565b606083015160ff1661014086015260808301516001600160401b0380821661016088015260a0909401519384166101808701529150611540565b5f5f5f5f606085870312156149a6575f5ffd5b843593506020850135925060408501356001600160401b038111156149c9575f5ffd5b6149d58782880161413a565b95989497509550505050565b5f5f5f604084860312156149f3575f5ffd5b8335925060208401356001600160401b03811115614a0f575f5ffd5b614a1b86828701613ff4565b9497909650939450505050565b5f5f5f60408486031215614a3a575f5ffd5b83356001600160401b03811115614a4f575f5ffd5b840160e08187031215614a60575f5ffd5b925060208401356001600160401b03811115614a7a575f5ffd5b614a1b8682870161413a565b5f5f5f5f60608587031215614a99575f5ffd5b8435614aa481614126565b93506020850135925060408501356001600160401b038111156149c9575f5ffd5b5f5f60408385031215614ad6575f5ffd5b823591506020830135613fe98161442c565b60018060a01b03815116825262ffffff60208201511660208301525f604082015160806040850152614b1d6080850182613f47565b606093840151949093019390935250919050565b60018060a01b0381511682526001600160401b036020820151166020830152604081015160408301525f606082015160a06060850152614b7460a0850182613f47565b6080938401516001600160a01b0316949093019390935250919050565b602081525f82516101006020840152614bae610120840182614ae8565b90506020840151601f19848303016040850152614bcb8282614b31565b9150506040840151614c08606085018261ffff815116825261ffff60208201511660208301526001600160401b0360408201511660408301525050565b5060608401516001600160881b03191660c084015260808401516001600160481b031660e084015260a0909301516001600160401b0316610100909201919091525090565b5f5f5f5f5f5f60808789031215614c62575f5ffd5b86356001600160401b03811115614c77575f5ffd5b614c8389828a01613ff4565b90975095505060208701356001600160401b03811115614ca1575f5ffd5b614cad89828a0161413a565b979a9699509760408101359660609091013595509350505050565b5f5f60408385031215614cd9575f5ffd5b50508035926020909101359150565b5f5f60808385031215614cf9575f5ffd5b8235915061453a846020850161443b565b602081525f61172d6020830184614ae8565b6020815260ff82511660208201525f60208301516040808401526112206060840182613f47565b60018060a01b0381511682526001600160401b03602082015116602083015263ffffffff6040820151166040830152606081015160608301525f608082015160a0608085015261122060a0850182613f47565b602081525f825160406020840152614db16060840182614090565b90506020840151601f198483030160408501526115408282614d43565b803563ffffffff811681146120bf575f5ffd5b5f5f5f5f5f60808688031215614df5575f5ffd5b853594506141a660208701614dce565b602081525f61172d6020830184614b31565b5f5f5f60a08486031215614e29575f5ffd5b8335925060208401359150614e41856040860161443b565b90509250925092565b5f5f5f60808486031215614e5c575f5ffd5b83359250614e6d8560208601614508565b91506060840135614e7d81613fb6565b809150509250925092565b602081525f61172d6020830184614d43565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561464957603f19878603018452614edc858351614236565b94506020938401939190910190600101614ec0565b634e487b7160e01b5f52601260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60ff831680614f2b57614f2b614ef1565b8060ff84160491505092915050565b60ff8181168382160190811115610f1357610f13614f05565b5f60ff831680614f6557614f65614ef1565b8060ff84160691505092915050565b634e487b7160e01b5f52603260045260245ffd5b8082028115828204841417610f1357610f13614f05565b80820180821115610f1357610f13614f05565b5f8235607e19833603018112614fc6575f5ffd5b9190910192915050565b5f60208284031215614fe0575f5ffd5b61172d82614dce565b5f5f8335601e19843603018112614ffe575f5ffd5b8301803591506001600160401b03821115615017575f5ffd5b602001915036819003821315614034575f5ffd5b600181811c9082168061503f57607f821691505b60208210810361149657634e487b7160e01b5f52602260045260245ffd5b60078110612660575f5ffd5b5f60208284031215615079575f5ffd5b815161172d8161505d565b602080825281018290525f8360408301825b858110156150c65782356150a981613f87565b6001600160a01b0316825260209283019290910190600101615096565b5095945050505050565b80516120bf81614126565b80516001600160881b0319811681146120bf575f5ffd5b80516001600160481b03811681146120bf575f5ffd5b6001600160601b031981168114612660575f5ffd5b5f6080828403121561512d575f5ffd5b60405161513981614392565b80915082516151478161442c565b815260208301516151578161442c565b6020820152604083015161516a81614126565b604082015260608301516001600160401b03811115615187575f5ffd5b8301601f81018513615197575f5ffd5b80516151a281614678565b6040516151af82826143ef565b80915082815260208101915060208360051b8501019250878311156151d2575f5ffd5b6020840193505b828410156151fd5783516151ec81615108565b8252602093840193909101906151d9565b806060860152505050505092915050565b5f61521883614543565b60405161522582826143ef565b809250848152858585011115615239575f5ffd5b8484602083015e5f6020868301015250509392505050565b5f82601f830112615260575f5ffd5b61172d8383516020850161520e565b5f6020828403121561527f575f5ffd5b81516001600160401b03811115615294575f5ffd5b820160a081850312156152a5575f5ffd5b6040516152b1816143b1565b81516152bc81614126565b81526152ca602083016150db565b60208201526152db604083016150f2565b604082015260608201516001600160401b038111156152f8575f5ffd5b6153048682850161511d565b60608301525060808201516001600160401b03811115615322575f5ffd5b61532e86828501615251565b608083015250949350505050565b5f6020828403121561534c575f5ffd5b8151801515811461172d575f5ffd5b858152602081018590526001600160401b03841660408201526060810183905260e0810161431e608083018461ffff815116825261ffff60208201511660208301526001600160401b0360408201511660408301525050565b60ff81168114612660575f5ffd5b5f602082840312156153d2575f5ffd5b813561172d816153b4565b5f5f604083850312156153ee575f5ffd5b82516153f981613f87565b60208401519092506001600160401b03811115615414575f5ffd5b61542085828601615251565b9150509250929050565b805161010081106120bf575f5ffd5b5f60208284031215615449575f5ffd5b61172d8261542a565b5f60208284031215615462575f5ffd5b81516001600160401b03811115615477575f5ffd5b8201601f81018413615487575f5ffd5b6112208482516020840161520e565b5f6154a18285613ed2565b6101d160f51b81526115406002820185613ed2565b6001600160401b0383168152604060208201525f6112206040830184613f47565b5f6154e28284613ed2565b743a20696e76616c6964207265706f7274206461746160581b81526015019392505050565b6001600160a01b03831681526040602080830182905283519183018290525f91908401906060840190835b818110156155595783516001600160401b0316835260209384019390920191600101615532565b50909695505050505050565b5f60208284031215615575575f5ffd5b81516001600160401b0381111561558a575f5ffd5b8201601f8101841361559a575f5ffd5b80516155a581614678565b6040516155b282826143ef565b80915082815260208101915060208360051b8501019250868311156155d5575f5ffd5b602084015b838110156147b65780516001600160401b038111156155f7575f5ffd5b61560689602083890101615251565b845250602092830192016155da565b80516120bf816153b4565b5f60c08284031215615630575f5ffd5b60405161563c816143d0565b80915082516001600160401b03811115615654575f5ffd5b830160408186031215615665575f5ffd5b60405161567181614373565b81516001600160401b03811115615686575f5ffd5b61569287828501615251565b8252506020918201518282015282526156ac908401615615565b60208201526156bd60408401615615565b60408201526156ce60608401615615565b60608201526156df608084016150d0565b60808201526156f060a084016150d0565b60a08201525092915050565b5f60c0828403121561570c575f5ffd5b604051615718816143d0565b8091506157248361542a565b8152602083015160148110615737575f5ffd5b6020820152604083810151908201526060808401519082015261575c608084016150d0565b608082015260a08301516001600160401b03811115615779575f5ffd5b61578585828601615620565b60a0830152505092915050565b5f602082840312156157a2575f5ffd5b81516001600160401b038111156157b7575f5ffd5b611220848285016156fc565b83815260406020820181905281018290525f8360608301825b858110156147b65782356157ef81615108565b6001600160601b0319168252602092830192909101906001016157dc565b5f6020828403121561581d575f5ffd5b5051919050565b602080825281018290525f8360408301825b858110156150c657823561584981615108565b6001600160601b031916825260209283019290910190600101615836565b80356158728161442c565b61ffff16825260208101356158868161442c565b61ffff166020830152604081013561589d81614126565b6001600160401b0381166040840152505050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b6040808252843582820152602085013560608301525f906159009060808401908701615867565b60a085013561590e81614126565b6001600160401b031660e083015260c085013536869003601e19018112615933575f5ffd5b85016020810190356001600160401b0381111561594e575f5ffd5b80360382131561595c575f5ffd5b60e0610100850152615973610120850182846158b1565b915050828103602084015261431e8185876158b1565b5f5f6040838503121561599a575f5ffd5b82516159a581613f87565b60208401519092506001600160401b038111156159c0575f5ffd5b615420858286016156fc565b6001600160a01b038816815260208101879052604081018690526159f36060820186615867565b6001600160401b03841660c082015261010060e08201525f615a1a610100830184866158b1565b9998505050505050505050565b5f60208284031215615a37575f5ffd5b61172d826150f2565b5f60033d11156144295760045f5f3e505f5160e01c90565b5f60443d1015615a655790565b6040513d600319016004823e80513d60248201116001600160401b0382111715615a8e57505090565b80820180516001600160401b03811115615aa9575050505090565b3d8401600319018282016020011115615ac3575050505090565b61410c602082850101856143ef565b5f60808284031215615ae2575f5ffd5b604051615aee81614392565b8091508251615afc81613f87565b81526020830151615b0c81613fb6565b602082015260408301516001600160401b03811115615b29575f5ffd5b615b3585828601615251565b604083015250606092830151920191909152919050565b5f60a08284031215615b5c575f5ffd5b604051615b68816143b1565b8091508251615b7681613f87565b81526020830151615b8681614126565b60208201526040838101519082015260608301516001600160401b03811115615bad575f5ffd5b615bb985828601615251565b6060830152506080830151615bcd81613f87565b6080919091015292915050565b5f60608284031215615bea575f5ffd5b604051615bf68161434e565b8091508251615c048161442c565b81526020830151615c148161442c565b6020820152604083015161448881614126565b5f60208284031215615c37575f5ffd5b81516001600160401b03811115615c4c575f5ffd5b82016101008185031215615c5e575f5ffd5b615c6661441b565b81516001600160401b03811115615c7b575f5ffd5b615c8786828501615ad2565b82525060208201516001600160401b03811115615ca2575f5ffd5b615cae86828501615b4c565b602083015250615cc18560408401615bda565b6040820152615cd260a083016150db565b6060820152615ce360c083016150f2565b6080820152615cf460e083016150d0565b60a0820152949350505050565b5f60208284031215615d11575f5ffd5b81516001600160401b03811115615d26575f5ffd5b61122084828501615ad2565b6001600160401b038181168382160190811115610f1357610f13614f05565b5f60208284031215615d61575f5ffd5b81516001600160401b03811115615d76575f5ffd5b61122084828501615b4c565b61ffff8281168282160390811115610f1357610f13614f05565b5f61ffff831680615daf57615daf614ef1565b8061ffff84160491505092915050565b8381526020808201849052825160ff1660408301528201516001600160401b0316606082015260808101611220565b5f60208284031215615dfe575f5ffd5b81516001600160401b03811115615e13575f5ffd5b8201601f81018413615e23575f5ffd5b8051615e2e81614678565b604051615e3b82826143ef565b80915082815260208101915060208360051b850101925086831115615e5e575f5ffd5b6020840193505b8284101561431e578351615e7881613f87565b825260209384019390910190615e65565b602080825282518282018190525f918401906040840190835b8181101561489c5783516001600160a01b0316835260209384019390920191600101615ea2565b60018060a01b03881681528660208201526001600160401b03861660408201528460608201526001600160401b03841660808201528260a082015260e060c08201525f615a1a60e0830184613f47565b5f6001600160401b0382166001600160401b038103615f3a57615f3a614f05565b60010192915050565b5f615f4e8284613ed2565b741d103ab73430b7323632b21030b9b9b2b93a34b7b760591b81526015019392505050565b81810381811115610f1357610f13614f0556fef595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e183f595240b351bc8f951c2f53b26f4e78c32cb62122cf76c19b7fdda7d4968e184a2646970667358221220a3b8e42c00a0c50076ca41aeefbb2aa59ec9cf3399c1fb0e5b8e51ae624283f164736f6c634300081e0033";
  readonly linkReferences: {"project/contracts/data/WitOracleDataLib.sol":{"WitOracleDataLib":[{"length":20,"start":6866},{"length":20,"start":6982},{"length":20,"start":7232},{"length":20,"start":8844},{"length":20,"start":8910},{"length":20,"start":9196},{"length":20,"start":9799},{"length":20,"start":10202},{"length":20,"start":10403},{"length":20,"start":10679},{"length":20,"start":10942},{"length":20,"start":11264},{"length":20,"start":11489},{"length":20,"start":11795},{"length":20,"start":12818},{"length":20,"start":13259},{"length":20,"start":13453},{"length":20,"start":13739},{"length":20,"start":14137},{"length":20,"start":15622},{"length":20,"start":15769},{"length":20,"start":15944}]},"project/contracts/libs/WitOracleResultStatusLib.sol":{"WitOracleResultStatusLib":[{"length":20,"start":12986},{"length":20,"start":13427}]}};
  readonly deployedLinkReferences: {"project/contracts/data/WitOracleDataLib.sol":{"WitOracleDataLib":[{"length":20,"start":5473},{"length":20,"start":5589},{"length":20,"start":5839},{"length":20,"start":7451},{"length":20,"start":7517},{"length":20,"start":7803},{"length":20,"start":8406},{"length":20,"start":8809},{"length":20,"start":9010},{"length":20,"start":9286},{"length":20,"start":9549},{"length":20,"start":9871},{"length":20,"start":10096},{"length":20,"start":10402},{"length":20,"start":11425},{"length":20,"start":11866},{"length":20,"start":12060},{"length":20,"start":12346},{"length":20,"start":12744},{"length":20,"start":14229},{"length":20,"start":14376},{"length":20,"start":14551}]},"project/contracts/libs/WitOracleResultStatusLib.sol":{"WitOracleResultStatusLib":[{"length":20,"start":11593},{"length":20,"start":12034}]}};
  readonly immutableReferences: {"9009":[{"length":32,"start":8552}],"9013":[{"length":32,"start":3293}],"9104":[{"length":32,"start":1895}],"10085":[{"length":32,"start":2459},{"length":32,"start":5785},{"length":32,"start":8438},{"length":32,"start":10988}],"10087":[{"length":32,"start":5990}],"10089":[{"length":32,"start":3980},{"length":32,"start":4052}],"10091":[{"length":32,"start":3916}],"10093":[{"length":32,"start":3872},{"length":32,"start":5946},{"length":32,"start":12497}],"45715":[{"length":32,"start":3373}],"45824":[{"length":32,"start":1822},{"length":32,"start":2938},{"length":32,"start":6911},{"length":32,"start":7024},{"length":32,"start":7095},{"length":32,"start":7129}],"45828":[{"length":32,"start":1974},{"length":32,"start":9193}]};
  readonly inputSourceName: "project/contracts/core/trustable/WitOracleTrustableExperimental.sol";
  readonly buildInfoId: "solc-0_8_30-47301052af11a5aa5062e9b98ca44d5e142950cf";
};

import "hardhat/types/artifacts";
declare module "hardhat/types/artifacts" {
  interface ArtifactMap {
    ["WitOracleTrustableExperimental"]: WitOracleTrustableExperimental$Type;
    ["contracts/core/trustable/WitOracleTrustableExperimental.sol:WitOracleTrustableExperimental"]: WitOracleTrustableExperimental$Type;
  }
}